明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2049|回复: 19

[求助]线的复制问题?

  [复制链接]
发表于 2005-6-7 17:23 | 显示全部楼层 |阅读模式
请教各位,如果有一组线段,将其复制,复制后的线段放到另外的一层,那如何知道原来的组线中的每条线复制后的线段的图元名。
发表于 2005-6-7 18:04 | 显示全部楼层
对组里的线段分别复制 (setq ss1 (ssget))
(setq i 0)
(while (setq e1 (ssname ss1 i))
(command "copy" e1 "" '(0 0 0) ;基点
'(10 10 0)) ;被复制到的点
(setq e2 (entlast))
(setq i (1+ i))
)
发表于 2005-6-7 20:25 | 显示全部楼层
楼上的,不把e2保存起来,有什么用?


(setq ent (entlast))


...;复制所有的


(setq ss (ssadd))


(while (setq ent (entnext ent))


         (ssadd ent ss)


)
发表于 2005-6-7 21:48 | 显示全部楼层
呵呵,只是给楼主一个思路。其实应该把被复制和复制后的图元名对照起保存才更有意义的。
 楼主| 发表于 2005-6-8 09:12 | 显示全部楼层
也就是说,选择集中的线段必须一个一个的复制才能找到复制后的图元,如果是对选择集作一次性的复制command "_.copy" ss "" p1 p1 ) [ss是选择集,p1是基点],那还能找到每条线段复制后的线段吗?


因为要复制的对象太多,一个一个复制的话,程序运行速度会有问题。
发表于 2005-6-8 11:17 | 显示全部楼层
那就不要用“command”命令,使用“entmake”生成一个新的实体会快很多。反正你不是也要变换层图的吗?
发表于 2005-6-8 11:57 | 显示全部楼层
紫云飞发表于2005-6-8 9:12:00也就是说,选择集中的线段必须一个一个的复制才能找到复制后的图元,如果是对选择集作一次性的复制command \"_.copy\" ss \"\" p1 p1 ) ,那...

没看3楼的吗?
 楼主| 发表于 2005-6-8 14:04 | 显示全部楼层
哦,看来是我在理解上出了点偏差。仔细思考下,你的方法我懂了。


如果想象4楼说的要把被复制和复制后的图元名对照起保存,那又该怎么做呢?


开始的选择集和复制后的选择集中的对象图元会是被复制和复制后的关系吗?
发表于 2005-6-8 14:15 | 显示全部楼层
那样就得一个一个分别复制了
发表于 2005-6-8 14:51 | 显示全部楼层
紫云飞发表于2005-6-8 14:04:00开始的选择集和复制后的选择集中的对象图元会是被复制和复制后的关系吗?

为什么不自己动手琢磨一下???自己再看看: (defun c:test( / ss ent ss2 i)
(setq ss (ssget))
(setq ent (entlast))
(command "_.copy" ss "" pause pause)
(setq ss2 (ssadd))
(while (setq ent (entnext ent))
(ssadd ent ss2)
)
(setq i 0 n (sslength ss))
(repeat n
(redraw (ssname ss i) 3)
(redraw (ssname ss2 (- n (1+ i))) 3)
(getkword "按回车继续...")
(setq i (1+ i))
)
(command "_.regen")
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-12 16:26 , Processed in 0.174496 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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