njwtg 发表于 2007-12-26 12:51:00

[求助]请教龙龙仔,拐点打断

,图上有好多个折线(LWPOLYLINE),这样的折线有很多,有没有什么程序能将这些折线在拐点的地方批量打断(变成一根根的多段线),同时还不能改变多段线的线宽,比如一个多段线有4段,打断后就是4根多段线了------用cad自带的炸开的命令时会将多段线变成直线(line),同时还丢失了线宽

njwtg 发表于 2007-12-27 10:29:00

还是不行

这是附件,麻烦您看看,谢谢您

QQ873240166 发表于 2019-3-19 02:36:46

请问是怎么处理的我的运行也是出错,能否给发一个正常的   谢谢

chenqiang26 发表于 2019-4-15 00:50:37

{:1_1:}看下!!!!!

njwtg 发表于 2007-12-26 14:19:00

怎么没有人帮我呀

助淫为乐 发表于 2007-12-26 20:04:00

njwtg 发表于 2007-12-26 21:39:00

已经画好的线就是线宽定义的多呀,有三十多个,希望能有个lisp小程序来批量在拐点打断

龙龙仔 发表于 2007-12-27 09:47:00

本帖最后由 作者 于 2007-12-27 9:48:21 编辑


;;By LUCAS
;;For Polylines & LWpolylines & 3Dpolylines
(defun COORDS (PLINE / ENDPARAM PARAM LST)
(setq ENDPARAM (vlax-curve-getendparam PLINE)
PARAM-1
)
(while (<= (setq PARAM (1+ PARAM)) ENDPARAM)
    (setq LST (cons (vlax-curve-getpointatparam PLINE PARAM) LST)
    )
)
;;(if (= 1 (logand (cdr (assoc 70 (entget PLINE))) 1))
;; (setq LST (reverse (cdr LST)))
(setq LST (reverse LST))
;;)
)
(defun C:TT (/ ENT LST N SS)
(if (setq SS (ssget '((0 . "LWpolyline"))))
    (progn
      (setq N 0)
      (repeat (sslength SS)
(setq ENT (ssname SS N))
(setq LST (cdr (COORDS ENT)))
(if (> (length LST) 1)
   (repeat (1- (length LST))
   (command "_.break" ENT "end" (car LST) "end" "@")
   (setq ENT (entlast))
   (setq LST (cdr LST))
   )
)
(setq N (1+ N))
      )
    )
)
(princ)
)

njwtg 发表于 2007-12-27 10:13:00

请问,为何会出现"COORDS ; 错误: 参数太少"

龙龙仔 发表于 2007-12-27 10:24:00

本帖最后由 作者 于 2007-12-27 10:26:00 编辑 <br /><br /> <p>有測試圖嗎?</p><p></p>

龙龙仔 发表于 2007-12-27 10:40:00

<p><font color="#da2549"><font face="Courier New" color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font face="Courier New" color="#0000ff">setq</font></a><font face="Courier New"><font color="#000000"> ENT </font><font color="#ff0000">(</font></font><a href="http://www.mjtd.com/object/autolisp/ssname.htm" target="_black"><font face="Courier New" color="#0000ff">ssname</font></a><font face="Courier New"><font color="#000000"> SS N</font><font color="#ff0000">)</font><font color="#ff0000">)</font><br/><font color="#ff0000">(</font></font><a href="http://www.mjtd.com/object/autolisp/setq.htm" target="_black"><font face="Courier New" color="#0000ff">setq</font></a><font face="Courier New"><font color="#000000"> LST </font><font color="#ff0000">(</font></font><a href="http://www.mjtd.com/object/autolisp/cdr.htm" target="_black"><font face="Courier New" color="#0000ff">cdr</font></a><font face="Courier New"><font color="#000000">
                                </font><font color="#ff0000">(</font><font color="#000000">COORDS ENT</font><font color="#ff0000">)</font><font color="#ff0000">)</font><font color="#ff0000">)</font></font></font></p><p><font color="#da2549"><font face="Courier New"><font color="#ff0000">很明顯ent為nil,但現在人在外,沒autocad可供測試 </font><br/></font></font></p>

njwtg 发表于 2007-12-27 10:54:00

测试图

一直在传,原图太大,传不上,只好新画,谢谢您
页: [1] 2
查看完整版本: [求助]请教龙龙仔,拐点打断