wedg 发表于 2005-9-22 22:46:00

[求助]请帮忙编写一个遇圆自动剪切的程序

<FONT face=宋体 size=2>在市政给排水设计中常用圆或圆内加十字来表示检查井,在管线的地方都要把圆内的管线剪切掉,可否编写一个自动剪切圆内直线的程序?此时,圆内加十字可能是块;管线可能是pline。我的设想如下:<BR>第一种情况:假设管线或用pline线表示的管线已经存在,在管线上定好点后,拷贝圆或圆内加十字的块时,自动剪切掉圆或块内管线<BR>第二种情况:假设圆或圆内加十字的块已经存在,在用管线或用pline线表示的管线连接这些圆时,可自动断开!</FONT>

ZZXXQQ 发表于 2005-9-24 12:15:00

圆内剪切程序:

(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)
)

tc405003 发表于 2005-9-24 19:02:00

能否改为批量选取;而且能否圆改完矩形也可

wedg 发表于 2005-9-25 20:18:00

<P>对,三楼提的问题也是我想问的,能否补充完善呢?</P>

wedg 发表于 2005-9-28 09:11:00

<P>试用过二楼的程序后觉得有一个问题就是不能自动剪切,我希望的拷贝的同时能够自动剪切!</P>
<P>&nbsp;</P>

醒玉 发表于 2006-9-16 11:56:00

不过不适用与块啊~

wedg 发表于 2006-10-9 19:03:00

<P>二楼的朋友,能否继续完善?</P>

raobinhsh 发表于 2006-11-4 14:36:00

<P>你在付费编程里面发这个贴嘛,可能效果比较好,求人很麻烦</P>
页: [1]
查看完整版本: [求助]请帮忙编写一个遇圆自动剪切的程序