明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 628|回复: 2

[提问] 新画的图元怎么加入到已有选区中?

[复制链接]
发表于 2020-4-11 15:54:21 | 显示全部楼层 |阅读模式
现有一程序流程如下:
1、选择一个或者多个对象
2、根据参数添加元素,比如偏移线、孔什么的
3、对最初选择的对象和后面添加的对象进行复制

现在的问题是新绘制的对象不知道怎么加入到原来的选择里了,部份代码如下:

变量ss存储了选择的对象
  1. (setq ss (_catcherror 'ssget '(((0 . "LINE,ARC,CIRCLE,LWPOLYLINE")))))


后面添加新对象部份代码:
  1. (progn
  2.     (setq newl (ch_trimline_new dline (list p11 p22) reverseis))
  3.     (setq temnewls (list (vla-addline mspace (_3dpt p11) (_3dpt p111))
  4.              (vla-addline mspace (_3dpt p111) (_3dpt p1111))
  5.              (vla-addline mspace (_3dpt p22) (_3dpt p222))
  6.              (vla-addline mspace (_3dpt p222) (_3dpt p2222))
  7.              newl
  8.              )
  9.     )
  10.     (setq xdata (list (list 1001 "DCCHAS") (list 1070 1)))
  11.     (mapcar '(lambda (l) (dcb:wxdata l xdata)) temnewls)
  12.     (vla-put-layer newl (vla-get-layer (car temnewls)))
  13.     (vla-put-color newl (vla-get-color (car temnewls)))
  14.     (setq oklinelist (append oklinelist temnewls))
  15.     )
  16.   )

上面这段新增加的对象已经保存到一个列表里了,但不知道怎么添加到变量ss里呢?好像类型都不一样的。
刚学习,一头雾水,请各位老师指导
发表于 2020-4-11 18:27:49 | 显示全部楼层
本帖最后由 start4444 于 2020-4-11 18:35 编辑

(mapcar '(lambda (x) (setq ss (ssadd x ss))) lst)  ;要确定 lst 是图元名列表
 楼主| 发表于 2020-4-13 09:00:04 | 显示全部楼层
start4444 发表于 2020-4-11 18:27
(mapcar '(lambda (x) (setq ss (ssadd x ss))) lst)  ;要确定 lst 是图元名列表

您好,感谢您的回复。现在我加了这条语句进去会出错,附上截图,请帮分析下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-18 07:46 , Processed in 0.170261 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表