lisp中的Arc命令
我相信有办法做到这一点。我正在lisp文件中使用命令“arc”。我的中点和终点需要存储为变量。目前看起来是这样的。但我希望它能像正常的弧命令一样显示弧。一如既往,谢谢。
我真正需要的是弧的终点。我知道有一种visal lisp的方法可以做到这一点,但我对此一无所知。 ??
(defun _arc (centerpoint / ent)
(setq ent (entlast))
(command "_.arc" "_c" "_non" centerpoint)
(while (eq (logand 1 (getvar 'CMDACTIVE)) 1) (command PAUSE))
(if (not (equal ent (setq ent (entlast))))
ent
)
)
(defun c:Test (/ point arc)
(vl-load-com)
(if (and (setq point "\nSpecify center point: ")
(setq arc (_arc point))
)
(vlax-curve-getEndPoint arc)
)
)
另外/或,查看LASPOINT变量。(getvar’LASTPOINT) 或者,仅使用香草:
(defun c:Test ( / point arc )
(if (and (setq point (getpoint "\nSpecify center point: "))
(setq arc (_arc point))
(setq arc (entget arc))
)
(polar
(cdr (assoc 10 arc))
(cdr (assoc 51 arc))
(cdr (assoc 40 arc))
)
)
)
(使用Alan发布的“u arc”函数) 哈哈,我就知道你会来投递香草的方式。我想我不应该这么懒。 谢谢(getvar’lastpoint)工作得很好,也没有让我改变很多代码。
再次感谢。 我会使用我发布的arc命令和李的提取方法(不需要VLA)-它更稳定/可靠。
我们被曲线函数宠坏了 我完全同意。我知道如何用另一种方法得到它,但是vlax曲线*函数让我太懒了。 嗯,它不像我需要的那样工作。这是我的错,我没有解释我需要它如何工作。
选择startpoint。(已定义为选定对象的插入点)。
然后选择中点。
然后选择端点。 好的,您的原始代码有“cent”,所以我假设您想从曲线的中心开始。你提供的信息越多,你收到的结果就越好,别人花在帮助你上的时间也就越少。
3
页:
[1]
2