szx025 发表于 2014-9-26 09:47:04

面积统计求和

(DEFUN C:da (/ bs aa per ptu ptd txth)
    (setvar "cmdecho" 0)
    (princ
"\n说明:在使用本程序前请先生成房间的多义线!本程序默认原绘图单位为MM!"
    )
    ;;(princ "\n点取房间多义线:")
    ;;(setq bs (ssget))
    (if(setq bs (entsel "\n点取房间多义线:"))
(progn
      (command "_area" "o" bs)
      (setq aa (getvar "area"))
      (setq aa (/ aa 1000000.0))
         
      (setq aa (rtos aa 2 2))
      ;;(setq aa (strcat "A=" aa))
      ;;(setq aa (strcat aa "M2"))
      (setq aa (strcat "A=" aa "M2"))

      (setq per (getvar "perimeter"))
      (setq per (/ per 1000.0))
         
      (setq per (rtos per 2 2))
      ;;(setq per (strcat "P=" per))
      ;;(setq per (strcat per "M"))
      (setq per (strcat "P=" per "m"))

      (setq txth (* (getvar "hpscale") 500))
      (if(setq pt (getpoint "\n点取标注点:"))
    (progn
      ;;(setq ptu (list (car pt) (+ (cadr pt) (* txth 0.6)) 0.0))
      ;;(setq ptd (list (car pt) (- (cadr pt) (* txth 0.6)) 0.0))
      (setq ptu (polar pt (* 0.5 pi) (* txth 0.6))
      ptd (polar pt (* 1.5 pi) (* txth 0.6))
      )
      (command "text" "j" "mc" ptu txth "0" aa)
      (command "text" "j" "mc" ptd txth "0" per)
      (command "erase" bs "")
    )
      )
)
    )
    (setvar "cmdecho" 1)
    (princ)
)这是一个选择闭合多义线标注面积和周长的程序,请高手再完善一下,增加一个统计求和的功能,就是把标注的多个面积和周长计算一个总和标注在图纸中
页: [1]
查看完整版本: 面积统计求和