nelsonfok 发表于 2022-7-5 20:21:56

任何人都可以控制这个区域

嗨,朋友们
 
 
这是一种非常有用的lsp,用于面积计算,但在我的新CAD中不起作用。有人能告诉我这个lsp出了什么问题吗?
 
 
 
(定义C:自动区域(/N SS1 NUM EN)
(如果(不是“acadapp.exp”)(xload“acadapp.exp”))
(setq N 0)
(setq SS1(ssadd))
(while(setq PT(getpoint“\n选择内部点:”))
(C:BPOLY PT)
(setq SS1(ssadd(entlast)SS1))
);虽然
(setq NUM(sslength SS1))
(命令“.a”“e”区)
;(命令“.e”区)
(while(/=NUM N)
(setq EN(ssname SS1 N))
(命令EN)
(setq区域(getvar“区域”))
(setq区域AC(/区域4046.85))
(setq区域SF(*区域10.7639))
(普林斯
(strcat(rtos区域2 2)“m”(chr 178“\t”(rtos区域ac 2 3)“ac.”“\t”(rtos区域SF 2 0)“ft”(chr 178)
);    普林斯
(setq N(1+N))
);虽然
(命令“”)
(命令“erase”SS1“”)
(命令“redraw”)
(setq SS nil)
(命令“textscr”)
(prin1)
);结束自动区域。lsp

SLW210 发表于 2022-7-5 20:38:48

请阅读代码发布指南并编辑您的帖子,将代码包含在代码标签中。
 
您真的在使用“AutoCAD LT 2000之前”吗?
 
如果是这样,AutoCAD LT将无法使用LISP。

BIGAL 发表于 2022-7-5 21:03:49

直接从多段线获取面积
 
这一行有多个错误检查chr 1st,如果你最后得到一个微笑,那么隐藏的东西就在那里。
(strcat(rtos区域2 2)“m”(chr 178“\t”(rtos区域ac 2 3)“ac.”“\t”(rtos区域SF 2 0)“ft”(chr 178)
);
 

(setq area (vlax-get-property (vlax-ename->vla-object en) 'Area))

hanhphuc 发表于 2022-7-5 21:07:19

请使用代码标签防止笑脸


(defun C:AUTOAREA (/ N SS1 NUM EN )
;;;(if (not "acadapp.exp") (xload "acadapp.exp"))
(setq N 0)
(setq SS1 (ssadd))
(while (setq PT (getpoint "\nSelect internal point:"))
(BPOLY PT)
(setq SS1 (ssadd (entlast) SS1))
);while
(setq NUM (sslength SS1))
;;;(command ".area" "a" "e") ;removed
; (command ".area" "e")
(while (/= NUM N)
(setq EN (ssname SS1 N))
(setq area (vlax-get-property (vlax-ename->vla-object EN ) 'Area)) ;as suggested by BIGAL
;;;(command EN) ;removed
;;;(setq area (getvar "area")) ;removed
(setq areaac (/ area 4046.85))
(setq areasf (* area 10.7639))
(princ
(strcat "\n"(rtos area 2 2) "m" (chr 178) "\t" (rtos areaac 2 3) "ac." "\t" (rtos areasf 2 0) "ft" (chr 178))
); princ
(setq N (1+ N))
);while
;;;(command "" "") ;removed
(command "erase" SS1 "")
(command "redraw")
(setq SS nil)
(command "textscr")
(prin1)
);end autoarea.lsp

 
你的习惯太老了?尝试高级
面积标签
区域到字段

nelsonfok 发表于 2022-7-5 21:25:03

对不起,朋友们。下次我会去掉笑容
事实上,我使用R14,但我的公司最近升级了CAD系统。许多旧的LSP在新的CAD中不能很好地工作。
页: [1]
查看完整版本: 任何人都可以控制这个区域