需要旧lsp例程帮助。。
;; LILO;; Loop In Loop Out Cable
(defun C:LILO (/ os block ins rot cable clyr lyr point line pt1 ang offset
dist pt2 pt3)
(command "ucs" "w")
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(setq block (entsel "\nSelect Lighting Column: "))
(setq ins (cdr (assoc 10 (entget (car block)))))
(setq rot (rtd (cdr (assoc 50 (entget (car block))))))
(setq cable (entsel "\nSelect Cable Run: "))
(setq clyr (getvar "clayer"))
(setq lyr (cdr (assoc 8 (entget (car cable)))))
(setq point (osnap (cadr cable) "near"))
(command "_.line" ins "perp" point "")
(setq line (ssget "L"))
(setq pt1 (cdr (assoc 11 (entget (ssname line 0)))))
(entdel (entlast))
(setq ang (angle ins pt1))
(setq offset (dtr 25))
(setq dist (distance ins pt1))
(command "_.zoom" "c" ins (* 5 dist))
(setq pt2 (polar ins (- ang offset) dist))
(command "_.line" ins pt2 "")
(command "_.extend" cable "" pt2 "")
(setq line (ssget "L"))
(setq pt2 (cdr (assoc 11 (entget (ssname line 0)))))
(entdel (entlast))
(setq pt3 (polar ins (+ ang offset) dist))
(command "_.line" ins pt3 "")
(command "_.extend" cable "" pt3 "")
(setq line (ssget "L"))
(setq pt3 (cdr (assoc 11 (entget (ssname line 0)))))
(entdel (entlast))
(setvar "clayer" lyr)
(command "_.pline" pt2 ins pt3 "")
(setvar "clayer" clyr)
(command "_.extend" cable "" pt2 pt3 "")
(command "_.break" cable "F" pt2 pt3)
(entupd (car block))
(setvar "osmode" os)
(command "_.zoom" "p")
(command "ucs" "p")
(princ)
)
;; RTD
;; Converts Radians to Degrees
(defun rtd (a)
(if (= 0 a)
(setq a 0.0)
(/ (* a 180.0) pi)
)
) 你需要什么帮助?需要更多信息! https://www.cadtutor.net/forum/attachment.php?attachmentid=57299&cid=1&stc=1正确的方式
https://www.cadtutor.net/forum/attachment.php?attachmentid=57300&cid=1&stc=1不正确的方式
我在上面使用了这个lsp命令(noob post!!)多年来,直到今天,它才开始表现出奇怪的样子。。有时有效,有时无效。。相同的图形、相同的图层、相同的线型。。
键入“lilo”通常要求您选择照明列(蓝色符号),然后选择电缆类型(蓝色多段线),然后在多段线之间添加整齐的分割箭头,模拟公路照明装置上的地下电缆。。
所有的帮助都受到了热烈的欢迎,
谢谢
我是一个典型的CAD用户,主要绘制其他人道路或高速公路布局的电气照明设计。我经常插入一个仅由2个普通圆组成的块来表示照明柱,然后在每个照明柱后面绘制一条多段线。然后使用lsp命令(在我的部门使用了多年,我们不知道是谁创建了它)。。我单击每个照明柱,然后单击多段线(电缆),例程在电缆中添加“打断”,并连接到照明柱的中心。
今天它开始做一些奇怪的事情。。有时它起作用,但它不起作用。。
相同的线型,相同的图层,相同的方式。。。差异结果?
在2014年、2015年和2016年Acad上测试。。。 https://www.cadtutor.net/forum/attachment.php?attachmentid=57301&cid=1&stc=1 https://www.cadtutor.net/forum/attachment.php?attachmentid=57302&cid=1&stc=1 有几件事是线在三维ie Z不是零每一端,你在一个不同的UCS比线?
另外(setq行…这可能会导致问题,因为行可能被视为保留字使用LLINE,也为什么使用ssget“last”use(entlast),DTR 25为什么不使用0.436332,那么如果DTR缺失,仍然可以工作。
谢谢你的回复,我没有写lsp例程,文件最后一次修改是在2004年!因此,这是一件古董,但直到最近才开始使用多年。
我真的不理解你的任何回复,因为我只使用命令,而不编写例程。。
如果你能用非常简单的语言解释,我会尝试修改并让你知道结果。。
谢谢
史蒂夫 列出拾取线并查看Z值是否不是0.0
也包括UCS W平面图
发布dwg最快
页:
[1]