Autolisp小程序有bug,求大神解惑
(setqss1(ssget"X"'((0."TEXT"))))(setqss2(ssget"X"'((0."MTEXT"))));合并"TEXT""MTEXT"层选择集...
(setq ss1 (ssget "X" '((0 . "TEXT"))))
(setq ss2 (ssget "X" '((0 . "MTEXT"))))
;合并 "TEXT""MTEXT"层选择集
(if (and ss1 ss2)
(progn
((setq n1 1)
(while (setq e1 (ssname ss2 n1));每次这里(ssname ss2 n1)都过不去,
;提示错误: 参数类型错误: numberp: nil
(ssadd e1 ss1)
(setq i (1+ i))
)
(setq ss3 ss1)
)
)
(progn
(if (= nil ss1)
(setq ss3 ss2)
(setq ss3 ss1)
)
)
) 展开
(setq ss2 (ssget "X" '((0 . "MTEXT"))))
;合并 "TEXT""MTEXT"层选择集
(if (and ss1 ss2)
(progn
((setq n1 1)
(while (setq e1 (ssname ss2 n1));每次这里(ssname ss2 n1)都过不去,
;提示错误: 参数类型错误: numberp: nil
(ssadd e1 ss1)
(setq i (1+ i))
)
(setq ss3 ss1)
)
)
(progn
(if (= nil ss1)
(setq ss3 ss2)
(setq ss3 ss1)
)
)
) 展开
1个回答
推荐于2016-09-23 · 知道合伙人软件行家
关注
展开全部
(setq ss1 (ssget "X" '((0 . "TEXT")))) (setq ss2 (ssget "X" '((0 . "MTEXT")))) 修改为: (setq ss1 (ssget "X" '((0 . "TEXT,MTEXT"))));选择文字和多行文字 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;如果要合并选择集ss1,ss2 (if (and (/= ss1 nil) (/= ss2 nil)) (progn (setq e1 (ssname ss1 0));取得第一个对象 (while e1 (setq ss2 (ssadd e1 ss2));这个对象加入选择集ss2 (setq ss1 (ssdel e1 ss1));这个对象从ss1选择集里取消 (setq e1 (ssname ss1 0));取得选择集ss1里面一个对象 );注意e1顺序;选择集加入不得为nil;你选择为第二个对象,会出现nil所以不对 ) );合并后选择集为ss2
意法半导体(中国)投资有限公司
2023-08-25 广告
2023-08-25 广告
单片机是一种集成处理器,通常包含微控制器、存储器、通信接口和其他外设。它们通常用于嵌入式系统,如智能家居设备、汽车电子系统、工业自动化和消费电子产品等。单片机可以通过编程来实现各种功能,如数据处理、输入输出控制、通信等。由于单片机体积小、功...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询