[求助]请帮忙编写一个遇圆自动剪切的程序
<FONT face=宋体 size=2>在市政给排水设计中常用圆或圆内加十字来表示检查井,在管线的地方都要把圆内的管线剪切掉,可否编写一个自动剪切圆内直线的程序?此时,圆内加十字可能是块;管线可能是pline。我的设想如下:<BR>第一种情况:假设管线或用pline线表示的管线已经存在,在管线上定好点后,拷贝圆或圆内加十字的块时,自动剪切掉圆或块内管线<BR>第二种情况:假设圆或圆内加十字的块已经存在,在用管线或用pline线表示的管线连接这些圆时,可自动断开!</FONT> 圆内剪切程序:(DEFUN C:ERASEC (/ SS SL SN PC R N EN LN)
(SETVAR "BLIPMODE" 0)
(SETVAR "CMDECHO" 0)
(SETQ OLDOS (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(IF (SETQ EN (CAR (ENTSEL "\nSelect a Object 选择一个目标 : "))) (PROGN
(SETQ LN (CDR (ASSOC 8 (ENTGET EN))))
(IF (SETQ SS (SSGET "X" (LIST (CONS 0 "CIRCLE") (CONS 8 LN)))) (PROGN
(SETQ SL (SSLENGTH SS) I 0)
(REPEAT SL
(SETQ SN (SSNAME SS I) I (1+ I)
PC (CDR (ASSOC 10 (ENTGET SN)))
R(CDR (ASSOC 40 (ENTGET SN)))
N 0
)
(COMMAND "ZOOM" "C" PC (* 3 R))
(COMMAND "TRIM" SN "" "F")
(REPEAT 180
(COMMAND (POLAR PC (/ (* 2 N PI) 180) (* R 0.9)))
(setq N (1+ N))
)
(COMMAND "" "")
(SETQ N 0)
(COMMAND "ERASE" "WP")
(REPEAT 180
(COMMAND (POLAR PC (/ (* 2 N PI) 180) (* R 0.9)))
(setq N (1+ N))
)
(COMMAND "" "" "ZOOM" "P")
)
))
))
(SETVAR "OSMODE" OLDOS)
(SETVAR "BLIPMODE" 1)
(SETVAR "CMDECHO" 1)
(PRINC)
)
能否改为批量选取;而且能否圆改完矩形也可 <P>对,三楼提的问题也是我想问的,能否补充完善呢?</P> <P>试用过二楼的程序后觉得有一个问题就是不能自动剪切,我希望的拷贝的同时能够自动剪切!</P>
<P> </P> 不过不适用与块啊~ <P>二楼的朋友,能否继续完善?</P> <P>你在付费编程里面发这个贴嘛,可能效果比较好,求人很麻烦</P>
页:
[1]