evalipeng 发表于 2008-9-4 09:09

[CAD LISP]CAD中关于计算周长的LISP-高手请进!

大家好!    由于工作需要一个计算周长的CAD LISP功能简单如下:   
    例如我要计算一块模板的线割长度,有很多圆孔和线条,多义线和二维多义线!
    要用LISP一次计算出来!
    请问LISP如何实现?有没有更好的LISP或软件,麻烦提供下 小弟我谢谢了!
    我的邮箱:[email protected] 欢迎联系!
   
    别人给了我一个LISP 但有圆弧和PE命令编辑过的图形就会计算错误!
    小弟不懂 麻烦高手修改一下哦!原LISP 如下:
   
    (defun C:zt ()
(princ "\n请选择料带上的冲裁轮廓.")
(setq ss   (ssget '((-4 . "<or")
      (0 . "line")
      (0 . "circle")
      (0 . "arc")
      (0 . "lwpolyline")
      (-4 . "or>")
       )
      )
long 0
j    -1
)
(if ss
    (progn
      (repeat (sslength ss)
(setq en (entget (setq sa (ssname ss (setq j (+ j 1))))))
(if (= (setq en-name (cdr (assoc 0 en))) "LWPOLYLINE")
   (progn
   (command "area" "o" sa)
   (setq long1 (getvar "PERIMETER"))
   )
   (if (= en-name "LINE")
   (progn
       (command "pedit" sa "y" "j" sa "" "")
       (command "area" "o" (entlast))
       (setq long1 (getvar "PERIMETER"))
   )
   (progn
       (command "list" sa "")
       (setq r1 (cdr (assoc 40 en)))
       (setq long1 (* pi (* 2 r1)))
   )
   )
)
(setq long (+ long long1))
      )
    )
    (setq long 0)
)
)

以上请复制到TXT文件中保存!
页: [1]
查看完整版本: [CAD LISP]CAD中关于计算周长的LISP-高手请进!