;|
如果已经下载xyp_lib并放到搜索路径下可以不再下载!
利用以下任何一种方式即可加载和运行通用函数内的所有子程序:
1.在acad.lsp中增加(load"xyp_lib")
2.在每个程序内增加(load"xyp_lib")
3.在command下,输入(load"xyp_lib")
4.在菜单.mnl中增加(load"xyp_lib")
通用函数下载地址:
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=37554
|;(defun c:ztmj ()
(cmdla0)
(princ "\n注意绘图单位 : 1=1米")
(SETBL) ;设置出图比例控制字高
(jzhz) ;设置“宋体”字
(setqh (* SC 300) ;字高
all-aa 0 ;总面积
BL-bz (ukword 1 "A B C" "\n请选择标注单位 A-平方米/B-亩/C-公顷" BL-BZ)
bz2 (ukword 1 "Y N" "\n需要标注单位名称吗 Y-标注/N-不标注" BZ2)
)
(while (setq pt (getpoint "\n选取封闭域内一点: "))
(command "bpoly" pt "")
(setq en (entlast))
(if(/= en nil)
(progn
(command "area" "o" en)
(setq aa (getvar "area"))
)
)
(entdel en)
(mkla "面积标注" 4)
(if(= bz2 "N")
(cond ((= bl-bz "A") (setq aa (rtos (/ aa 1.0) 2 2)))
((= bl-bz "B") (setq aa (rtos (/ aa (/ 2000.0 3)) 2 2)))
((= bl-bz "C") (setq aa (rtos (/ aa 10000.0) 2 4)))
)
(cond ((= bl-bz "A") (setq aa (strcat (rtos (/ aa 1.0) 2 2) "平方米")))
((= bl-bz "B") (setq aa (strcat (rtos (/ aa (/ 2000.0 3)) 2 2) "亩")))
((= bl-bz "C") (setq aa (strcat (rtos (/ aa 10000.0) 2 4) "公顷")))
)
) (command "text" "j" "mc" pt h "0" aa)
(setq all-aa (+ (atof aa) all-aa))
)
(setq bzzmj (ukword 1 "Y N" "\n是否标注总面积 Y-标注/N-不标注" BZZMJ))
(if (= bzzmj "Y")
(progn
(setq pt (getpoint "\n总面积标注点 : "))
(command "text" "j" "mc" pt h "0" (rtos all-aa 2 2))
)
)
(cmdla1)
)
(princ "ztmj (总图面积)")
(princ) 非常好用,感谢楼上的兄弟! 请问12楼的兄弟, [(SETBL) ;设置出图比例控制字高],setbl这个函数程序运行的时候显示错误,你能否再检查一下?<BR>
页:
1
[2]