需要在线lisp方面的帮助
以下是我所拥有的:(defun c:isol (/ ic)
(initget 6)
(if (setq ic (getdist "\nEnter Length: "))
(command "_.LINE" "" (* ic 0.816496581)))
(princ))
我试图创建一个直线命令,它要求一定的长度,并绘制了这条线。但我有一个问题是,允许我点击线的基点,然后选择适当的角度,然后将线绘制到我指定的长度的缩小比例。 一个非常有趣的主意,迈克,我真的很喜欢。
希望这能满足您的需求。
(defun c:test (/ p ang l p1)
(if (setq p (getpoint "\n base point :"))
(progn
(while
(setq Ang (getangle p "\n Next point for Angle :"))
(setq l (getdist "\n Specify length :"))
(entmakex (list (cons 0 "LINE")
(cons 10 p)
(cons 11 (setq p1 (polar p ang l)))
)
)
(setq p p1)
)
)
(princ)
)
(princ)
)
塔瓦特 有问题。当我尝试将其加载到appload时。当我尝试使用它时,它只是说未知命令。我确实将命令中的快捷方式更改为test以外的内容。
谢谢我用它来绘制等角图。这是从SW(或任何3d视图)到平面视图的比例。我有一个调暗样式设置,调暗比例等于该比例,因此我可以标注iso图纸的尺寸。
没问题,你可以改变你想要的最好的例程的名称,我也觉得在这里出错,而通过在论坛线程步。
当做 合并这两个程序,然后添加一个当前尺寸比例的检查。。。
(defun c:isol (/ ic ds p ang p1)
(setq ds (getvar "dimscale"))
(if (setq p (getpoint "\nBase point :"))
(progn
(while
(setq ang (getangle p "\nSelect Angle :"))
(initget 6)
(if (setq ic (getdist "\nEnter Length: "))
(entmakex (list (cons 0 "LINE")
(cons 10 p)
(cons 11 (setq p (polar p ang (* ic ds))))
)
)
)
)
)
)
(princ)
)
:眨眼: 如果(getvar“dimscale”)等于零会怎么样?
当做 出于好奇。。。为什么不在模型空间中以1:1(真实比例)绘制线条,并使用图纸空间视口处理缩放?
嗯。。。
我认为这不是一个问题。但是,错误捕捉可以检查这一点,并在必要时提示用户。 提交的两个程序均未使用0.816496581的量表。我想输入一个长度,它会以选定的角度绘制一条按我的数字缩放的线。 这样行吗?
(defun c:isol (/ ic ds p ang p1)
(setq ds 0.816496581)
(if (setq p (getpoint "\nBase point :"))
(progn
(while
(setq ang (getangle p "\nSelect Angle :"))
(initget 6)
(if (setq ic (getdist "\nEnter Length: "))
(entmakex (list (cons 0 "LINE")
(cons 10 p)
(cons 11 (setq p (polar p ang (* ic ds))))
)
)
)
)
)
)
(princ)
)
然后,可以将ds变量更改为您喜欢的任何值。
页:
[1]