积跬步、至千里

测绘·建库·制图·数据分析

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
)

微信扫码关注公众号,回复“邀请码”获取用来注册的信息。部分文章加密需要登陆的是本站原创文章,不同于网络上其它教程,请珍惜劳动成果。
点赞

发表评论