jake77777 发表于 2022-7-6 10:25:42

画一条线并离开的Lisp

我希望有人知道如何在一个命令中使用lisp,使我们公司能够绘制一条实线,自动偏移2“中心线,然后再偏移另一条2”实线。。。如果更容易一些,例如使用两条实线的中点偏移绘制中心线绝对可行。我找到的最接近的代码是下面的代码,它允许您偏移指定的距离,并且只有在您绘制了线之后。。这些都是相同的线型。我们的工程公司经常使用这个命令,它只是有点繁琐,引入一个块,然后拉伸/延伸/修剪它。非常感谢你的帮助。
 
 
(defun c:dOff1(/*undo doc ss的错误*)
(vl load com)
 
(defun*错误*(msg)
(和撤消(vla EndUndomark doc))
(或(wcmatch(strcase msg)“*中断,*取消*,*退出*”)
(princ(strcat“\n**错误:“msg”**”)
(普林斯)
)
 
(if(and(ssget’((0。“弧,圆,椭圆,*线”))
(setq of(getdist“\n指定偏移距离:”))
(程序
(setq undo
(不是
(vla StartUndomark)
(setq文件
(vla获取ActiveDocument
(vlax get acad对象)
)
)
)
)
)
 
(对象的vlax(setq ss(vla get ActiveSelectionSet doc))
(地图车
(功能
(λ(o)
(vl全包适用
(功能vla偏移)(列出对象o)
)
)
)
(列表((-of))
)
)
(vla删除ss)
 
(setq undo(vla EndUndoMark doc))
)

David Bethel 发表于 2022-7-6 10:31:09

我不太明白最终结果会是什么样子。你能贴一张图片吗-大卫

jake77777 发表于 2022-7-6 10:37:24

绝对地希望最终结果是这样的

Lee Mac 发表于 2022-7-6 10:43:12

这是我不久前编写的一个双偏移量程序,可能对您的事业有所帮助:
 
http://www.cadtutor.net/forum/showthread.php?48365-i-search-for-offset-with-same-value-and-reverse-direction&p=354750&viewfull=1#post354750

eldon 发表于 2022-7-6 10:46:28

如果你只是画直线,那么你试过多行命令吗?

jake77777 发表于 2022-7-6 10:55:20

谢谢李,这很有帮助,但与我之前发布的代码类似。。我从没听说过多行!所有的线都是直的。。我要去发现创造它们的简单性!谢谢Eldon

David Bethel 发表于 2022-7-6 10:57:12

你想先画中心线,然后偏移其他线,还是说你想先画(墙),然后画中心线,然后再画对面的墙线-大卫

jake77777 发表于 2022-7-6 11:03:29

我必须再次感谢eldon!真的很感激!一切都很顺利。

jake77777 发表于 2022-7-6 11:07:29

这将是第一个大卫。。虽然多行命令可以完美地工作。。希望工具栏上有一个图标,因为我们经常使用它。谢谢

David Bethel 发表于 2022-7-6 11:12:54

根据您的设置,我怀疑您是否会对MLINEs感到满意。
 
[列表]
[*]您是否圆角/修剪/延伸拐角等?
[*]MLINE是否支持多种线型/图层/厚度
[*]我不记得有人用(entmake)做过多行
[/列表]
 
-大卫
页: [1] 2
查看完整版本: 画一条线并离开的Lisp