本帖最后由 作者 于 2009-4-8 8:30:55 编辑
各位高手大侠好! 初学lisp纯粹瞎编的,点击封闭区域自动标注面积周长,正常运行了几天,但之后出现下面的问题无法解决,请求高手达人帮忙解决或者修改lisp,不胜感激!!! 命令: 命令: mj \n请点取要标注的范围内一点:-boundary 指定内部点或 [高级选项(A)]: 正在选择所有对象... 正在选择所有可见对象... 正在分析所选数据... 正在分析内部孤岛... 指定内部点或 [高级选项(A)]: BOUNDARY 已创建 1 个多段线 命令: MJ 未知命令“MJ”。按 F1 查看帮助。 命令: ; 错误: ActiveX 服务器返回错误: 未知名称: Perimeter 命令: 请求高手达人帮忙解决或者修改lisp或者编个类似的,不胜感激需要修改的代码如下: (defun C:mj (/ pt a b c s ss tt ttt ) (vl-load-com) (setq pt (getpoint "\\n请点取要标注的范围内一点:")) (command "-boundary" pt "" "") (setq a (entlast)) (setq b (vlax-ename->vla-object a)) (setq s (vla-get-area b)) (setq ss (rtos (/ s 1000000)2 2)) (setq tt (vla-get-perimeter b)) (setq ttt (rtos (/ tt 1000)2 2)) (command "textsize" 200 "") (command "mtext" pt pt (strcat "面积=" ss "平米\n" "周长=" ttt "米") "") (command "erase" a "") )
|