lisp读写cass属性_cass提取宗地属性lisp程序

这是一个使用LISP语言编写的程序,用于从CASS(计算机辅助地形测绘系统)中选择并提取带有特定扩展数据(SOUTHDIJI)的宗地界址线属性。程序首先通过SSGET获取JZD层上闭合线的选择集,然后遍历选择集,查找并读取每个对象的扩展词典,进一步提取'南向'(SOUTH)属性的详细信息。如果找到相应的词典条目,程序将打印属性值;若未找到,则提示用户该对象没有宗地属性。
摘要由CSDN通过智能技术生成

(vl-load-com);; 条目名称 SOUTHDIJI;;选择宗地界址线(defun c:bak () ;; 获得JZD层上的闭合线选择集,必须带有扩展数据("SOUTH" (1000 . "300000"))。 (setq ss (ssget "x" '((0 . "*LINE") (8 . "JZD") (-4 . "&=") (70 . 1) (-3 ("SOUTH" (1000 . "300000"))))) Index 0 ) ;_ End setq (repeat (if ss (sslength ss) 0 ) ;_ End if (setq Ename (ssname ss Index) Index (1+ Index) Edata (entget Ename '("SOUTH")) ;; 找出对象所指向的词典。 ;;“{ACAD_XDICTIONARY”表示扩展词典组的起点。 Edata360 (cdr (member '(102 . "{ACAD_XDICTIONARY") Edata)) XrEnameSouth nil ) ;_ End setq (if Edata360 (progn ;; 360 所有者词典的硬所有者 ID/句柄。 ;; 在此不考虑出现多个360的情况,感觉这种情况不应该存在。 (setq DEname (cdr (assoc '360 Edata360)) ;_词典对象。 DEdata (entget DEname) ;_词典数据。 ;;条目名称SOUTHDIJI所对应的XRECORD对象 XrEnameSouth (cdr (assoc '360 (cdr (member '(3 . "SOUTHDIJI") DEdata)))) ) ;_ End setq ) ;_ End progn ) ;_ End if (if XrEnameSouth (progn (setq XrEdataSo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值