yjpyjp 发表于 2019-1-31 16:19:27

【求大神修改一下源码 要求:填充完一个图案 在命令行输出一次填充的面积

本帖最后由 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)
)

yjpyjp 发表于 2019-1-31 16:45:23

yjpyjp 发表于 2019-1-31 17:51:58

求来个热心群众

xyp1964 发表于 2019-2-1 11:50:47

(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]
查看完整版本: 【求大神修改一下源码 要求:填充完一个图案 在命令行输出一次填充的面积