CAD自动计算实体面积的lsp

 

加载后使用命令:getarea

;get area
(defun C:GETAREA  ( /  ss e ent lyname ls llist)
  (setq ss (ssget))
  (while ss
    (setq 
      e (ssname ss 0) 
      ent (entget e)
      ss (if (> (sslength ss) 1)
             (ssdel e ss)
          nil
         )
    )
    (cond ((or (=  (cdr (assoc 0 ent))  "LWPOLYLINE") (=  (cdr (assoc 0 ent))  "POLYLINE"))
      (command "AREA" "e" e)
      (setq
        lyname (cdr (assoc 8 ent))
        ls (assoc lyname llist)
        ls1 (cons lyname (+ (if ls (cdr ls) 0) (getvar "AREA"))) 
        llist (if ls (subst ls1 ls llist) (cons ls1 llist))
      )
    ))
  )
  llist
)

微信扫码关注公众号,回复“阅读码”获取加密阅读信息。加密内容是本站原创文章,不同于网络上其它教程,请珍惜劳动成果。

号外1:(这里)提供搭建个人站足够用的2GB容量100GB流量的免费虚拟主机
号外2:(这里)承接微信公众平台建设服务
喜欢 0

这篇文章还没有评论

发表评论