[求助]大虾们好,如何将重合的线段合并成一条线
用三维图形生成向视图后,相互独立的接触面处会产生重合的线,造成文件体积较大。请问如何将这些线段合并成一条线段。谢谢高人指点迷径。 生成什么视图,是轮廓图么? ;两条同角度不平行的直线合并为一条.<BR>(defun c:joinline ()<BR> (if (and (progn (setq e1 (car (entsel)) ss (ssget "p" '((0 . "LINE")))))<BR> (progn (setq e2 (car (entsel)) ss (ssget "p" '((0 . "LINE"))))))<BR> (progn<BR> (setq obj1 (vlax-ename->vla-object e1)<BR> obj2 (vlax-ename->vla-object e2)<BR> pt11 (vlax-get obj1 'startpoint)<BR> pt12 (vlax-get obj1 'endpoint)<BR> pt21 (vlax-get obj2 'startpoint)<BR> pt22 (vlax-get obj2 'endpoint)<BR> ptlst (list pt11 pt12 pt21 pt22)<BR> z (last pt11)<BR> angsub(abs (- (angle pt11 pt12) (angle pt21 pt22)))<BR> ptmin (list (apply 'min (mapcar 'car ptlst))(apply 'min (mapcar 'cadr ptlst)) z)<BR> ptmax (list (apply 'max (mapcar 'car ptlst))(apply 'max (mapcar 'cadr ptlst)) z))<BR> (if (or (equal angsub 0 0.001) (equal angsub PI 0.001))<BR> (setq el1 (entget e1)<BR> el1 (subst (cons 10 ptmin) (assoc 10 el1) el1)<BR> el1 (subst (cons 11 ptmax) (assoc 11 el1) el1)<BR> nlin(entmod el1)<BR> del (entdel e2))<BR> )<BR> )(princ "\n无法连接合并")<BR>)<BR>(princ)<BR>) 没有明白楼上的意思,两条直线,角度相同却又不平行,这是什么线呢?再说程序中怎么选取你要合并的线呢?请指教。谢谢。 首先感谢<A name=15223><FONT color=#000066><B>CADghost</B></FONT></A>的解答,虽然我还没有用您提供的程序,但你给出的题目我有些不理解。因为我的问题中的线段绝对是“重合线段”,相当于其中一条(比如短的)完全可以删除掉而不影响图形的显示。我的做法:在模型空间制作几个实体,让平面相互的接触(没有合并)。然后进入图纸空间。进入视口,执行命令:
1、_solview (一串命令)
2、_soldraw (选择操作的适口)
这样,在三维的平面结合处就会产生两条线段,根据平面的大小不同,线长也不同。 拜托!拜托!拜托!!!!!!!!!!!! 我认为可以逐次删除,方法不是很好.你能否上传一下?
页:
[1]