我以前做过一点Lisp程序的练习,并试图理解这一点,但在大多数情况下,这对我来说非常困难。
这是最接近我想要的东西。非常感谢。 我回忆起李的LM:orthopoint
;LM:orthopoint (trans method)
;slightly mod
(trans (getvar 'UCSXDIR) 0 1)
;to
(trans (list c c 0.0) 0 1)其中C等于(cos(*0.25 pi))
GIF演示只是从理论上表达了你在45d时的“锁定”(正交)行为的可能性
然而,我们仍然更喜欢polarsnap模式,您可以在命令激活等期间在对象和输入距离内相交。。
注意:当您回复包含代码时,不需要引用整个代码,只需引用代码片段,例如:(defun dd…)然后理解,否则在原始代码更新时会产生混淆。
按照Ronjonp的建议,IMO已经足够了,设置45d增量角极坐标跟踪,在绘图过程中切换F8和F10并不困难。
你为什么坚持使用ortho 45d?ortho或polar只是一个绘图辅助工具,与我的示例代码相同,其中命令“dd”或(dd) 您可以为切换设置SNAPANG和ORTHOMODE。
我也不明白为什么极地追踪如此困难。 Snap和with ortho仅将光标设置为45度,但仍然只提供90度的间隔。我需要正交模式,但不是以90度间隔捕捉直线,例如,90度、180度、270度、360度,我希望每隔45度间隔捕捉一次,45度、90度、135度、180度等等。
我现在使用极轴追踪,并将其与正交进行切换,但对于我每天绘制的对象数量来说,使用此命令会更有用。当我已经对极轴跟踪进行了0度和90度跟踪时,我还应用了正交,从而大大增加了我的拔模时间。如果我能把这个命令集于一身,那将对我大有裨益。
这是我放在lsp文件中的内容:
“(定义c:dd()
;一小条
(ERPI)
;暂停以供用户输入
(if(setq d(getdist“\n输入距离或:”))
(setq p3(极性p1 b d))
)
(重新绘制)
(grdraw p1 p3 1 0)
p3“
在autocad中按“DD”时,插入命令启动。此lisp命令无效。。。我做错了什么? 将snapang和ortho设置为45的另一个问题是,它不会给我90180270度。每次我想将正交从45切换到90,我都要花很长时间来做snapang。如果我有1个命令,每隔45度而不是90度旋转正交模式,它将为我提供工作所需的准确信息。谢谢你的帮助。 因为上周六已经更新了,所以没有必要修改它-尝试重新加载以前的代码
不确定它为什么启动INSERT命令?您是否使用任何安装了类似命令“DD”的垂直产品或自定义程序?
为了避免冲突,您只需将“DD”替换为其他唯一名称“OO”等。。
Command: pline
Specify start point: 0,0
Current line-width is 0.0000
Specify next point or : (dd)
Ortho angle = 315
(5.09256 -5.09256 0.0)
看起来您希望使用此替代正交模式与其他命令一起调用Aborate,
IMO的lisp限制?作为绘图辅助(修改器),每个命令只能对Lisp求值一次,在下一个命令后它不会激活,$0.02建议-自定义工具栏单击它以激活。
添加宏(c:OO)或(DD)-重要提示:必须包括括号“(“”)!
示例:测试“MOVE”命令,“DD”或“OO”不起作用,但与“(DD)”一起工作
;snippet
(terpri)
;pause for user input
(if (setq d (getdist "\nInput distance or <Enter> : "))
(setq p3 (polar p1 b d))
)
(redraw)
(grdraw p1 p3 1 0)
p3
我不确定,但可能。NET具有更多的功能和可能性。
或使用函数(DD)使用LISP例程自定义命令,例如绘制直线,命令:L45
4 你应该张贴一个你正在起草的样本图纸,这似乎应该更容易IMO You should post a sample drawing of what you are drafting This seems like it should be easier IMO.
页:
1
[2]