明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: fan_zh

如果统计大量矩形的长度和宽度

  [复制链接]
 楼主| 发表于 2012-11-30 09:20:52 | 显示全部楼层
 楼主| 发表于 2012-12-3 15:29:27 | 显示全部楼层
发表于 2012-12-3 15:38:41 | 显示全部楼层
很方便的  
发表于 2012-12-3 17:18:29 | 显示全部楼层
已试用,确实不知如何输出到EXCEL
发表于 2012-12-3 19:35:02 | 显示全部楼层
复制粘贴到EXCEL中就可以了啊
发表于 2012-12-3 19:40:59 | 显示全部楼层
cdinten 发表于 2012-12-3 19:35
复制粘贴到EXCEL中就可以了啊

嘿嘿、、、那样的话也许就失去编程的意义了!

点评

输出csv格式或简单输出excel很简单,可以参照我曾写过的代码  发表于 2012-12-3 20:01
 楼主| 发表于 2012-12-4 10:42:52 | 显示全部楼层
 楼主| 发表于 2012-12-4 15:01:00 | 显示全部楼层
发表于 2012-12-4 17:54:48 | 显示全部楼层
  1. ;;;数学求解
  2. (defun delta(b c / x1 x2 x3 x4 dta)
  3.   (cond
  4.     ((>(setq dta(-(expt b 2)(* 4  c)))0);;;长方形
  5.       (setq x1 (/(+ b(sqrt dta))2)
  6.             x2 (/(- b(sqrt dta))2)
  7.             )
  8.      (if (>= x1 x2)(setq x3 x1 x4 x2)(setq x3 x2 x4 x1))
  9.      )
  10.     ((equal(setq dta(-(expt b 2)(* 4  c)))0 1e-3);;;正方形
  11.       (setq x1 (/ b 2)
  12.             x3 x1
  13.             x4 x1
  14.             )     
  15.      )
  16.     ((<(setq dta(-(expt b 2)(* 4 c)))0);;;数学嘛
  17.       (alert"\n无解")
  18.      )
  19.    )
  20.   (if (and x3 x4)(setq jie(list x3 x4)))
  21. )
  22. ;;;;输出excel
  23. (defun lst2csv(lsthead tipstr lst / ff1 ff2 i pro ele )
  24. (SETQ lst (cons lsthead lst)
  25.       ff1 (getfiled "输出到excel" tipstr "CSV" 1)
  26.       ff2(open ff1 "a")
  27.       i 0
  28.       )
  29. (repeat (length LST)
  30.   (SETQ pro (nth i lst)
  31.         ele (vl-string-translate "( )" ",,,"(vl-princ-to-string pro))
  32.         ele (vl-string-subst "" "," ele)
  33.         i (1+ i)
  34.         )
  35. (write-line ele ff2)
  36. )
  37. (close ff2)
  38. )
  39. ;;;矩形周长面积,输出excel请自理
  40. (defun c:getzcmj(/ ss n e vlae mj zc jie jielst)
  41. (setq ss(ssget '((0 . "LWPOLYLINE"))))
  42.   (if ss
  43.     (progn
  44.       (repeat (setq n(sslength ss))
  45.         (setq e(ssname ss (setq n(1- n)))
  46.               vlae(vlax-ename->vla-object e)
  47.               )
  48.         (if (=(vla-get-closed vlae):vlax-true)
  49.           (progn
  50.           (setq mj(vla-get-area vlae)
  51.                 zc(vla-get-length vlae)
  52.                 )
  53.           (delta (/ zc 2) mj)
  54.           (if jie (setq jielst(cons jie jielst)))
  55.           )
  56.           )
  57.       )
  58.       )
  59.     )
  60. (princ (strcat "矩形长宽列表如下:" (vl-princ-to-string jielst)))
  61. (setq lsthead  '("矩形长度" "宽度")
  62.        tipstr "矩形长宽列表"      
  63.        )
  64. (lst2csv lsthead tipstr jielst)
  65. (princ)
  66. )

点评

应该直接在图中生成表格更好~  发表于 2012-12-4 22:25

评分

参与人数 1明经币 +1 收起 理由
flytoday + 1 严哥太强大了,直接标于图中更好哈~

查看全部评分

 楼主| 发表于 2012-12-5 10:48:34 | 显示全部楼层
感谢yjr111

加载时说输入的八进制符不正确,是什么原因?

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-6-3 13:48 , Processed in 0.164298 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表