本帖最后由 fan_zh 于 2013-5-27 14:39 编辑

附件为更最终矩形统计输出程序




网友答: 代码可用,确实不错

网友答: [em0]

网友答: [em0][em0]

网友答: 下班 前顶一下

网友答: 为什么不一次说清楚呢??
  1. ;;;;输出excel
  2. (defun lst2csv(lsthead tipstr lst / ff1 ff2 i pro ele )
  3. (SETQ lst (cons lsthead lst)
  4.       ff1 (getfiled "输出到excel" tipstr "CSV" 1)
  5.       ff2(open ff1 "a")
  6.       i 0
  7.       )
  8. (repeat (length LST)
  9.   (SETQ pro (nth i lst)
  10.         ele (vl-string-translate "( )" ",,,"(vl-princ-to-string pro))
  11.         ele (vl-string-subst "" "," ele)
  12.         i (1+ i)
  13.         )
  14. (write-line ele ff2)
  15. )
  16. (close ff2)
  17. )
  18. ;;;矩形周长面积,只对无旋转的矩形有效
  19. (defun c:tt(/ ss n e vlae mj zc  jielst)
  20. (setq ss(ssget '((0 . "LWPOLYLINE"))))
  21.   (if ss
  22.     (progn
  23.       (setq n 0)
  24.       (repeat (setq n(sslength ss))
  25.         (setq e(ssname ss (setq n(1- n)))
  26.               vlae(vlax-ename->vla-object e)
  27.               )
  28.         (if (=(vla-get-closed vlae):vlax-true)
  29.           (progn
  30.           (setq s(entget e))
  31.           (foreach x s
  32.             (if (= (car x)10)(setq p10_lst(cons (cdr x) p10_lst)))
  33.           )
  34.           (if(equal (angle (car p10_lst)(cadr p10_lst)) 0.0 1e-3)
  35.             (progn
  36.              (setq xdelta(distance (car p10_lst)(cadr p10_lst)))
  37.              (setq ydelta(distance (car p10_lst)(last p10_lst)))
  38.              )
  39.             (progn
  40.              (setq ydelta(distance (car p10_lst)(cadr p10_lst)))
  41.              (setq xdelta(distance (car p10_lst)(last p10_lst)))
  42.              )
  43.             )
  44.           (setq jielst(cons (list (1+ n) xdelta ydelta) jielst))
  45.           )
  46.           )       
  47.       )
  48.       )
  49.     )
  50. (princ (strcat "矩形长宽列表如下:" (vl-princ-to-string jielst)))
  51. (setq lsthead  '("序号""矩形X增量" "矩形Y增量")
  52.        tipstr "矩形数据列表"      
  53.        )
  54. (lst2csv lsthead tipstr jielst)
  55. (princ)
  56. )




网友答: 感谢yjr111

试了一下,矩形的Y增量不对,能再检查一下吗

网友答: 下班前顶一下

网友答: 我是来顶贴的。。

网友答: 感谢楼上的顶贴

网友答: 请看附件,并附上抓图
我随便画了几个矩形,试了好几次都没找出规律
  • 上一篇:一个简单的lisp命令面板
  • 下一篇:没有了