对齐标注lisp
我对代码的dimaligned部分有问题。代码运行正常,但随后出现错误“未知命令”Dimaligned2“”。我收到错误似乎很奇怪,但代码仍在运行。另一个问题是,垂直捕捉的动作真的很奇怪(不是直接在我捕捉到的地方进行)。代码如下:(defun C:DIMALIGNED2 ( / pt1 pt2 oldsnap)
(setq oldsnap (getvar "osmode"))
(setq pt1 (getpoint "\nSpecify first extension line origin: "))
(setvar "osmode" 128)
(setq pt2 (getpoint "\nSpecify second extension line origin: "))
(command "._DIMALIGNED" pt1 pt2 pause "")
(prompt "\nDimension Aligned")
(setvar "osmode" oldsnap)
(princ)
) 因此,仔细研究后,我知道垂直部分的问题与点2与点1无关,因此AutoCAD不知道从何处垂直。我试图纠正它做了以下,但它不工作。
(defun C:DIMALIGNED2 ( / pt1 oldsnap)
(setq oldsnap (getvar "osmode"))
(setq pt1 (getpoint "\nSpecify first extension line origin: "))
(setvar "osmode" 128)
(command "._DIMALIGNED" pt1 pause "")
(prompt "\nDimension Aligned")
(setvar "osmode" oldsnap)
(princ)
) 因此,在意识到我在上一篇文章中犯了一个愚蠢的错误后,我改正了错误。然而,我仍然有一些问题,它说运行后命令未知,它不会重置我的OSNAP,垂直工作得更好,但仍然存在一些问题。
(defun C:DIMALIGNED2 ( / pt1 oldsnap)
(setq oldsnap (getvar "osmode"))
(setq pt1 (getpoint "\nSpecify first extension line origin: "))
(setvar "osmode" 128)
(command "._DIMALIGNED" pt1 pause pause pause "")
(prompt "\nDimension Aligned")
(setvar "osmode" oldsnap)
(princ)
) 所以我想出了一个解决方案,以防有人需要。我只是让代码变得比需要的更复杂。
(defun c:dimaligned2 ()
(command "._dimaligned" pause "_perp" pause pause pause "_e")
)
页:
[1]