【求大神修改一下源码 要求:填充完一个图案 在命令行输出一次填充的面积
本帖最后由 yjpyjp 于 2019-1-31 17:52 编辑(defun C:tt (/ s1 s2)
(setvar "cmdecho" 0)
(setvar "OSMODE" 0)
(setvar "MEASUREINIT" 1)
(setvar "MEASUREMENT" 1)
(setvar "hpassoc" 1) ;控制填充图案是否关联(1:是;0:否)
(princ
"\n快捷填充,请选择填充区域:(跳过则为拾取内部点填充)"
)
(if (setq s1 (ssget))
(progn
(while(/= s1 nil)
(progn
(command "layer""m" "TJ-填充统计"
"c""11" "" "lw"
"0.13""" "l""Continuous"
"" "" "_.bhatch""p"
"SOLID""40" "45""s"
s1 "" ""
)(princ "\n请选择填充...")
(setq s1 (ssget))
)(print)
)
)
(progn
(princ "\n请拾取填充内部点:")
(setq dian (getpoint))
(while(/= dian nil)
(progn
(IF (vl-cmdf "layer""m" "TJ-填充统计"
"c""11" "" "lw"
"0.13""" "l""Continuous"
"" ""
"_.bhatch" dian "p""SOLID" "40" "95" "")
(princ "\n请选择填充...")
)(setq dian (getpoint))
)(print)
)
)
)
(princ)
)
求来个热心群众 (defun c:tt ()
(defun abc ()
(princ "\n填充面积 = ")
(princ (rtos (vla-get-area (vlax-ename->vla-object (entlast))) 2 2))
)
(setvar "hpassoc" 1)
(command "layer" "m" "TJ-填充统计" "c" "11" "" "")
(princ "\n选择填充区域<退出改选点>: ")
(if (setq s1 (ssget))
(while s1
(command "_.bhatch" "p" "SOLID" "s" s1 "" "")
(abc)
(princ "\n请选择填充<退出>: ")
(setq s1 (ssget))
)
(while (setq dian (getpoint "\n请拾取填充内部点<退出>: "))
(command "_.bhatch" dian "p" "SOLID" "")
(abc)
)
)
(princ)
)
页:
[1]