在绘图中放置网格记号
我正在寻找一种在图形中自动放置网格标记的方法。该程序将允许用户将光标放置在模型视图中的任何位置,在数据点上,它将锁定在250’的网格点上,读取它,显示网格标记的位置,然后允许用户接受并放置带有X、Y坐标的网格标记,或拒绝它,并移动到另一个位置,该过程再次开始。
我有一个Microstation“用户命令”可以完成上述操作,但我现在在AutoCad中工作,可以在那里真正使用它。
谢谢 嗯,简单地使用Point命令怎么样?您可以通过DSettings命令设置“网格”间距并捕捉到网格(或右键单击状态栏并选择Settings…)。
您可能希望将PDMODE转换为更像“网格刻度”的“点”。或者可以使用Insert命令来放置块。要重复相同的命令,请从多个命令开始。然后:如果你使用Point,你只需将鼠标移动到你想要的每个网格上,然后只在那里单击。
如果使用insert,则此lisp将以相同的方式工作:
(defun c:InsertMultiple (/ bname)
(if (setq bname (getstring "\nEnter Block name: "))
(while t (command "._-insert" bname pause "" "" "")))
(princ)) 还有一点希望你不要介意
(defun c:InsertMultiple (/ bname)
(setvar oldsnap "osmode")
(setvar "osmode" 0)
(setvar "Gridunit" "50,50")
(setvar "gridmode" 1)
(if (setq bname (getstring "\nEnter Block name: "))
(while t (command "._-insert" bname pause "" "" "")))
(setvar "osmode" oldsnap)
(setvar "gridmode" 0)
(princ)
)
别介意!只是我会小心一点。您需要一个*错误*例程,以防用户按Esc键。否则,最终可能会永久关闭OSNAP。 是的,我倾向于作弊,不担心错误,除非我真的需要,有osmode filedias等的快速修复。 如果需要网格可见,您可能还需要查看限制-大卫
页:
[1]