编写一个Autocad 能使用的autolisp程序其内容及功能为1调用快捷键为wy2执行该程序后在图纸中生成所选图元的最小外接圆
以下是一个简单的Autolisp程序,它可以通过快捷键"wy"来调用,并在图纸中生成所选图元的最小外接圆。
(defun c:wy ()
(setq ent (entsel "\n选择图元: "))
(setq obj (vlax-ename->vla-object (car ent)))
(if (vlax-method-applicable-p obj 'GetBoundingBox)
(progn
(setq bbox (vlax-invoke-method obj 'GetBoundingBox))
(setq center (vlax-safearray->list (vlax-variant-value (vlax-variant-property bbox 'Center))))
(setq radius (vlax-variant-value (vlax-variant-property bbox 'Radius)))
(setq circle (vla-addcircle (vla-get-activedocument (vlax-get-acad-object))
(vlax-3d-point center)
radius))
(vla-put-layer circle "0")
(vla-update circle)
(princ "\n已生成最小外接圆。")
)
(princ "\n选择的图元不支持最小外接圆操作。")
)
(princ)
)
请将此程序保存为一个以.lsp为后缀的文件,然后在Autocad中加载此程序(使用命令"appload"),即可通过输入"wy"来调用它。
使用方法:
- 输入"wy"并按下Enter键来调用程序。
- 在图纸中选择要生成最小外接圆的图元。
- 程序将根据所选图元的最小外接圆的中心点和半径,在图纸中生成一个最小外接圆。
请注意,此程序仅支持支持GetBoundingBox方法的图元类型(例如:线段、多段线、圆等)。对于不支持此方法的图元类型,程序将显示错误消息。
希望这可以帮助到您
原文地址: https://www.cveoy.top/t/topic/idym 著作权归作者所有。请勿转载和采集!