838510233 发表于 2015-1-7 18:53:48

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

很多个pl线围成多边形,想标注面积,图层随便设置,字体1,颜色要白色。。最后把呢些多边形的面积 导出来,excel格式,或TXT(随便隔开点)。。。

likai1121 发表于 2017-9-30 19:47:11

这个怎么提示出错啊

wangshuping42 发表于 2015-1-7 21:03:08

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

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

http://bbs.mjtd.com/data/attachment/album/201412/03/202043zwzr6xkxyekb6zyv.gif

http://bbs.mjtd.com/data/attachment/album/201412/03/203630j9i9luiid66idjcc.gif

newbuser 发表于 2015-1-8 08:49:53


838510233 发表于 2015-1-8 10:03:27

newbuser 发表于 2015-1-8 08:49 static/image/common/back.gif


能发给我用下吗?

newbuser 发表于 2015-1-8 10:47:44

838510233 发表于 2015-1-8 10:03 static/image/common/back.gif
能发给我用下吗?

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

;;=====================================================
;;文本内容提取
(defun c:tqwb (/ e elist fn fna i ss v1 v10 v8 vlist)
(princ "\n文本提取程序 carrot1983 2008/11/13")
(if (and
(setq ss (ssget '((0 . "*TEXT*"))))
(setq fna (getfiled "保存文本提取的信息" "" "txt" 5))
      )
    (progn
      (setq i 0)
      (while (< i (sslength ss))
(setq e (ssname ss i))
(setq elist (entget e))
(setq v1 (cdr (assoc 1 elist)))
(setq v10 (cdr (assoc 10 elist)))
(setq v10 (mapcar 'rtos v10))
(setq v8 (cdr (assoc 8 elist)))
(setq vlist (cons (strcat v1
          ","
          (car v10)
          ","
          (cadr v10)
          ","
          (caddr v10)
          ","
          v8
      )
      vlist
      )
)
(setq i (1+ i))
      )
      (setq fn (open fna "w"))
      (write-line "内容,X,Y,Z,图层" fn)
      (foreach v vlist
(write-line v fn)
      )
      (close fn)
      (startapp "notepad" fna)
    )
)
(princ)
)

akakak68 发表于 2015-1-8 17:18:40

newbuser 发表于 2015-1-8 10:47 static/image/common/back.gif
不是很成熟啊,用了一个Gu_xl版主的一个vlx,将直线,请注意是直线生成闭合多段线的程序,再然后就是标注 ...

支持2015版CAD不

newbuser 发表于 2015-1-9 07:57:53

akakak68 发表于 2015-1-8 17:18 static/image/common/back.gif
支持2015版CAD不

一般不是特别高深的程序是全支持型的。
即便是受版本限制也是Gu版的程序,他的水平高,凭他一人之力就可以做2020版本的cad了。

红珊瑚89 发表于 2015-4-13 11:34:38

newbuser 发表于 2015-1-8 10:47 static/image/common/back.gif
不是很成熟啊,用了一个Gu_xl版主的一个vlx,将直线,请注意是直线生成闭合多段线的程序,再然后就是标注 ...

大神,我不会VB,请问下这个怎么加载到CAD中啊

yanghz1977 发表于 2015-5-10 09:34:08

newbuser 发表于 2015-1-8 10:47 static/image/common/back.gif
不是很成熟啊,用了一个Gu_xl版主的一个vlx,将直线,请注意是直线生成闭合多段线的程序,再然后就是标注 ...

谢谢分享,下个试下,顶。。。。。

imaya 发表于 2015-5-26 16:41:10

newbuser 发表于 2015-1-8 10:47 static/image/common/back.gif
不是很成熟啊,用了一个Gu_xl版主的一个vlx,将直线,请注意是直线生成闭合多段线的程序,再然后就是标注 ...

把直线圈定变成多边型的工具真好用。就是在本标注面积时,出现“误: no function definition: SS-EN”
页: [1] 2
查看完整版本: 跪求,多个PL线面积标注,和多个PL线面积导出的lisp