(DEFUN C:TEST ()
(SETVAR "CMDECHO" 0)
(SETQ OLDOS (GETVAR "OSMODE"))
(PRINC "\nSelect a Block :")
(IF (SETQ SS (SSGET '((0 . "INSERT")))) (PROGN
(SETQ BNM (ASSOC 2 (ENTGET (SSNAME SS 0)))
S1 (SSGET "X" (LIST '(0 . "INSERT") BNM)))
(SETQ I -1 PTL (LIST))
(REPEAT (SSLENGTH S1)
(SETQ PTL (CONS (CDR (ASSOC 10 (ENTGET (SSNAME S1 (SETQ I (1+ I)))))) PTL))
)
(SETQ PTL (REVERSE PTL) I -1 TMP (LIST)
PT1 (LIST 0 0) PSL (LENGTH PTL))
(WHILE (< I (- PSL 2))
(SETQ J I DIS 1E8 K nil)
(WHILE (< J (1- PSL))
(SETQ PT2 (NTH (SETQ J (1+ J)) PTL) DS1 (DISTANCE PT2 PT1))
(IF (< DS1 DIS) (SETQ DIS DS1 K J))
)
(IF K
(SETQ PT (NTH (SETQ I (1+ I)) PTL) PT1 (NTH K PTL)
PTL (SUBST (LIST 'AA) PT1 PTL)
PTL (SUBST PT1 PT PTL)
PTL (SUBST PT (LIST 'AA) PTL))
(SETQ I (1+ I))
)
)
(SETVAR "OSMODE" 0)
(SETQ I 0)
(COMMAND "PLINE" (NTH 0 PTL))
(REPEAT PSL
(SETQ PT (NTH (SETQ I (1+ I)) PTL))
(COMMAND PT)
)
(COMMAND "")
))
(SETVAR "OSMODE" OLDOS)
(SETVAR "CMDECHO" 1)
(PRINC)
)
好东西。!!!!收藏 <p>非常感谢12楼的版主,这正是我所要的程序!</p><p>您可不可以再帮我看看这个问题:</p><p><a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=61659">http://bbs.mjtd.com/forum.php?mod=viewthread&tid=61659</a></p> z版大大,希望你能改变算法,能框选区域,只连线这个区域内的这个图块。 好像记的以前论坛此版块里有过相关的话题,有源码的,并且连完的线是多段线
页:
1
[2]