显示发布的完整版本: LISP定义矩形的位置
大家好!我试图编写一个autoLISP执行程序。我需要用它绘制矩形。定义了第一点后,我发送“ d”(直径 尺寸),然后发送高度和宽度的数字。但是最后,我需要用光标选择它的位置。我的问题是:有没有办法在没有光标的情况下做到这一点?我要它画到右下角 每次定位(并将其写入我的LISP代码中)。谢谢您的建议!
块状的2017-06-29 15:07:14
“ D”不是用于“尺寸”吗? 如果要绘制矩形,为什么要指定直径? Makes no sense.
简单示例,经过轻轻测试:(defun C:TEST()(命令“ _.rectang”暂停“ _d” 15 10(polar(getvar'lastpoint)(* pi 1.75)10))) 红色部分将始终向右下方向馈入一个点。 调整蓝色部分以适合您的需要,或者如果您想每次给它不同的大小,请在前两个部分使用暂停。
您能否解释一下._rectangle和_rectangle有什么区别?为什么需要点?他们俩都为我工作。谢谢!
在命令名称前添加“点”可确保将使用通用AutoCAD命令,而不是由于未定义命令而可能被替换(或丢失)的AutoCAD命令。
另一种方法是,使用不带“尺寸”选项的RECTANG命令,而是通过计算右下方向的对角: (defun C:RULS(/ UL xdim ydim); = 通过指定尺寸从左上角矩形 (setq UL(获取点“ \ n左上角:”) xdim(getdist“ \ n水平大小:”) ydim(getdist“ \ n垂直大小:”) ) (命令“ _.rectang” UL(mapcar'+ UL(列表xdim(-ydim)))) (princ)) 这样做的好处是,提示会更清晰地说明所要的内容。 我永远不记得它们在RECTANG的Dimension-option提示中表示“长度”和“宽度”的方向,而我很容易弄错,因为我认为“宽度”是水平的,但是他们使用“长度”作为水平尺寸和“宽度”(我更喜欢将其称为“高度”)。
肯特·库珀2017-07-05 18:52:48
CAD Forum archive
Copyright ©2001-2020
CAD工作室