只需一步,快速开始
使用道具 举报
(ssadd [ename [ss]])
如果调用此函数而未跟随任何参数的话, ssadd 将建立一个新的选择集, 而此选择集中没有任何东西。若其后跟随一个单独的图元名参数, ssadd 将建立一个包含此图元名的新选择集。假如其后不但有图元名且还有一个选择集, 那么它会将此指名的图元加入到这个选择集上。ssadd会返回新的选择集或修改后的选择集。请注意当增加一个图元到一个选择集上时, 新的图元是实际被增添到此已存在的选择集上的, 同时此选择集将返回如同选择集ss被返回一样的结果。如果选择集被设定了其他的变量上, 那么它们也会反映所增加的部分。如果我们所指名的图元已经在选择集内, 则ssadd 的动作会被忽略, 同时不会显示任何错误信息。
我也很想知道,论坛上好象没见到过这方面的介绍,希望高手能出来指点下.
(defun c:gc5 (/ j k sm dx zzzzz dx-ty xyz ddd -3ty ddd-ty zj-xyz) (princ "\n>>> 欢迎使用zzh-SCS小工具------") (princ "\n>>> 南溪高程加密之------ 批量 + - 高程点的高程值 :") (princ "\n>>> 选取高程点(用鼠标框选):") (setvar "osmode" 0) (setq j (ssget)) (setq zzzzz (getreal "\n>>> 请输入加减改正值: ")) (if (= (numberp zzzzz) T) (progn (if (/= j nil) (progn (setq k 0 sm (sslength j)) (while (< k sm) (setq dx (ssname j k)) (setq dx-ty (entget dx'("*"))) (if (= (cdr (assoc 0 dx-ty)) "TEXT") (command "erase" dx ""))
(if (= (cdr (assoc 0 dx-ty)) "INSERT") (progn (setq z (+ (nth 3 (assoc 10 dx-ty)) zzzzz)) (setq xyz (list (nth 1 (assoc 10 dx-ty)) (nth 2 (assoc 10 dx-ty)) z )) (command "erase" dx "") (command "-layer" "m" "GCD" "") (command "-insert" "lc-gcd" xyz "0.5" "0.5" "0") (setq ddd (entlast)) (setq ddd-ty (entget ddd)) (setq -3ty (list -3 (list "SOUTH" (cons 1000 "202101")))) (entmod (append ddd-ty (list -3ty)))
(setq zj-xyz (list (+ (nth 1 (assoc 10 dx-ty)) 3.325) (nth 2 (assoc 10 dx-ty)) z)) (command "text" "s" "Standard" "j" "m" zj-xyz "1.0" "0" (rtos z 2 2)) (setq ddd (entlast)) (setq ddd-ty (entget ddd)) (setq -3ty (list -3 (list "SOUTH" (cons 1000 "202111")))) (entmod (append ddd-ty (list -3ty)) ) )) (command "-layer" "m" "0" "") (setq k (+ k 1)))) ) )) (princ "\n>>> 南溪高程加密之------ 批量 + - 高程点的高程值 :") (princ "\n>>>处理完毕....... ^_^ ") (princ))
其中 (setq ddd-ty (entget ddd)) (setq -3ty (list -3 (list "SOUTH" (cons 1000 "202111")))) (entmod (append ddd-ty (list -3ty)) ) 就是增加扩展数据
下面代码()可以根据扩展数据用ssget筛选。。。
(setq yt-j (ssget "x" '((-4 . "<and") (-4 . "<or") (-3 ("SOUTH" (1000 . "140001"))) ;阳台 (-3 ("SOUTH" (1000 . "143130"))) ;檐廊 (-3 ("SOUTH" (1000 . "141400"))) ;破房 (-4 . "or>") (6 . "X5") (0 . "LWPOLYLINE") (8 . "JMD") (-4 . "and>"))))
请教楼上,如何把以下lisp中的"TTT"和"CX"两个命令合并啊
目前的数据格式为:1,0,0,0,500,0,0,1279,0,-500,1679,0,-500
怎样才能让其成为:1,BW14-06,89,6,0,0,0,500,0,0,1279,0,-500,1679,0,-500
以上"BW14-06","89","6"均来自扩展数据
测试图纸
您需要 登录 才可以下载或查看,没有账号?注册
要把以下lisp中的"TTT"和"CX"两个命令合并
(DEFUN C:CX()............... defun 是可以用来自定义函数的 Autolsp函数
改成 (DEFUN CX()...........就可以了
现在 cx 就是一个自定义函数
加载后就可以随时调用它了, 方法为 (自定义函数名称) 即 (cx)
(cx)现在就相当于一个Autolsp函数,可以随时调用它,就像你使用ssget car等函数一样
不知有没有解决楼上的问题
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2025-6-1 06:24 , Processed in 0.211480 second(s), 27 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.