明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5070|回复: 14

跪求,多个PL线面积标注,和多个PL线面积导出的lisp

[复制链接]
发表于 2015-1-7 18:53:48 | 显示全部楼层 |阅读模式
很多个pl线围成多边形,想标注面积,图层随便设置,字体1,颜色要白色。。最后把呢些多边形的面积 导出来,excel格式,或TXT(随便隔开点)。。。
发表于 2017-9-30 19:47:11 | 显示全部楼层
这个怎么提示出错啊
发表于 2015-1-7 21:03:08 | 显示全部楼层

这个是VB写的,完全满足你的要求,而且比你想象的功能更强大,这是基本演示

本帖最后由 wangshuping42 于 2015-1-7 23:20 编辑




发表于 2015-1-8 08:49:53 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2015-1-8 10:03:27 | 显示全部楼层
newbuser 发表于 2015-1-8 08:49

能发给我用下吗?
发表于 2015-1-8 10:47:44 | 显示全部楼层
838510233 发表于 2015-1-8 10:03
能发给我用下吗?

不是很成熟啊,用了一个Gu_xl版主的一个vlx,将直线,请注意是直线生成闭合多段线的程序,再然后就是标注面积并将面积提取到txt文本的东西。
  1. ;;-------------------------------------------------------------
  2. ;;批量标注多边形面积(已做比例1/1000^2处理)
  3. ;;-------------------------------------------------------------
  4. (defun c:plmj ( / ee h i slst ss vlalst x xy)
  5. (vl-load-com)
  6. (setq ss (ssget '((0 . "LWPOLYLINE"))))
  7. (setq slst (ss-en ss))
  8. (setq slst
  9.    (vl-remove-if
  10.      'not
  11.      (mapcar
  12.        '(lambda (x)
  13.     (if
  14.       (= (vlax-curve-isClosed (vlax-ename->vla-object x)) T) ;;判断为闭合的图元名组表
  15.        x
  16.     )
  17.         )
  18.        slst
  19.      )
  20.    )
  21.   )
  22. (setq vlalst (mapcar 'vla-get-Area (mapcar 'vlax-ename->vla-object slst)))
  23.   (setq i 0)
  24.   (repeat (length slst)
  25.     (bwh (nth i slst))
  26.     (setq ee (emake (* (nth i vlalst) 1) xy h))
  27. ;;;    (entmod ee)
  28.     (setq i (1+ i))
  29.   )
  30.   (princ)
  31. )

  32. ;;=====================================================
  33. ;;文本内容提取
  34. (defun c:tqwb (/ e elist fn fna i ss v1 v10 v8 vlist)
  35.   (princ "\n文本提取程序 carrot1983 2008/11/13")
  36.   (if (and
  37.   (setq ss (ssget '((0 . "*TEXT*"))))
  38.   (setq fna (getfiled "保存文本提取的信息" "" "txt" 5))
  39.       )
  40.     (progn
  41.       (setq i 0)
  42.       (while (< i (sslength ss))
  43.   (setq e (ssname ss i))
  44.   (setq elist (entget e))
  45.   (setq v1 (cdr (assoc 1 elist)))
  46.   (setq v10 (cdr (assoc 10 elist)))
  47.   (setq v10 (mapcar 'rtos v10))
  48.   (setq v8 (cdr (assoc 8 elist)))
  49.   (setq vlist (cons (strcat v1
  50.           ","
  51.           (car v10)
  52.           ","
  53.           (cadr v10)
  54.           ","
  55.           (caddr v10)
  56.           ","
  57.           v8
  58.         )
  59.         vlist
  60.         )
  61.   )
  62.   (setq i (1+ i))
  63.       )
  64.       (setq fn (open fna "w"))
  65.       (write-line "内容,X,Y,Z,图层" fn)
  66.       (foreach v vlist
  67.   (write-line v fn)
  68.       )
  69.       (close fn)
  70.       (startapp "notepad" fna)
  71.     )
  72.   )
  73.   (princ)
  74. )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2015-1-8 17:18:40 | 显示全部楼层
newbuser 发表于 2015-1-8 10:47
不是很成熟啊,用了一个Gu_xl版主的一个vlx,将直线,请注意是直线生成闭合多段线的程序,再然后就是标注 ...

支持2015版CAD不
发表于 2015-1-9 07:57:53 | 显示全部楼层
akakak68 发表于 2015-1-8 17:18
支持2015版CAD不

一般不是特别高深的程序是全支持型的。
即便是受版本限制也是Gu版的程序,他的水平高,凭他一人之力就可以做2020版本的cad了。
发表于 2015-4-13 11:34:38 | 显示全部楼层
newbuser 发表于 2015-1-8 10:47
不是很成熟啊,用了一个Gu_xl版主的一个vlx,将直线,请注意是直线生成闭合多段线的程序,再然后就是标注 ...

大神,我不会VB,请问下这个怎么加载到CAD中啊
发表于 2015-5-10 09:34:08 | 显示全部楼层
newbuser 发表于 2015-1-8 10:47
不是很成熟啊,用了一个Gu_xl版主的一个vlx,将直线,请注意是直线生成闭合多段线的程序,再然后就是标注 ...

谢谢分享,下个试下,顶。。。。。
发表于 2015-5-26 16:41:10 | 显示全部楼层
newbuser 发表于 2015-1-8 10:47
不是很成熟啊,用了一个Gu_xl版主的一个vlx,将直线,请注意是直线生成闭合多段线的程序,再然后就是标注 ...

把直线圈定变成多边型的工具真好用。就是在本标注面积时,出现“误: no function definition: SS-EN”
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 18:35 , Processed in 0.165773 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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