明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3253|回复: 11

最近论坛冷清了。哪位大师能搞个点击封闭多段线提取文本

  [复制链接]
发表于 2012-3-31 09:48:43 | 显示全部楼层 |阅读模式
1明经币

就是只要点击多段线。。然后在封闭的多段线内点击就能。。提取到。。封闭的多段线内所有的文本。并输出EXL/。文本名称。个数

最近论坛冷清了不少。。。发个贴哈哈
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

手痒痒,我发一个吧
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2012-3-31 09:48:44 | 显示全部楼层
本帖最后由 yjr111 于 2012-3-31 18:13 编辑

手痒痒,我发一个吧
  1. (defun c:inplwbtj(/ e pt vla_e p1 plst n anglst stretchplst )
  2.   ;;;;;;;;;;;;;;;;选多段线;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3.   (setq e(car(setq ent(entsel"\n选择多段线")))
  4.         pt(cadr ent)
  5.         vla_e(vlax-ename->vla-object e)
  6.         )
  7.   ;;;;;;;对多段线有效;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  8.   (cond((= (vla-get-objectname vla_e) "AcDbPolyline")
  9.         (setq plst (lst->3p
  10.                (vlax-safearray->list(vlax-variant-value(vla-get-coordinates vla_e)))
  11.                2
  12.                )
  13.               )
  14.         )
  15.        ((= (vla-get-objectname vla_e) "AcDb2dPolyline")
  16.         (setq plst (lst->3p
  17.                (vlax-safearray->list(vlax-variant-value(vla-get-coordinates vla_e)))
  18.                3
  19.                )
  20.               )
  21.         )
  22.       )
  23.   (tjwb)
  24.   (princ)
  25.   )
  26.   (DEFUN TJWB(/ N SS  STR_LST LST_STR STR1 SHUL STRLST )
  27.   (SETQ SS(SSGET "wp" plst '((0 . "*TEXT"))))
  28.   (SETQ N 0)
  29.   (WHILE (< N (SSLENGTH SS))
  30.     (SETQ LST_STR (APPEND LST_STR (LIST (CDR(ASSOC 1 (ENTGET (SSNAME SS N)))))))
  31.     (SETQ N (1+ N))
  32.    )
  33.   (SETQ LST_STR (vl-sort LST_STR(function(lambda(x y) (< x y)))))
  34.   (SETQ STRLSTLEN (LENGTH LST_STR))
  35.   (WHILE LST_STR
  36.     (SETQ SHUL(-  STRLSTLEN(LENGTH(SETQ LST_STR(VL-REMOVE (SETQ STR1 (CAR LST_STR))LST_STR)))))
  37.     (SETQ STRLST (APPEND STRLST (LIST(LIST STR1 SHUL))))
  38.     (SETQ STRLSTLEN (LENGTH LST_STR))
  39.     )
  40. (SETQ STRLST (append (list '("文本名称" "数量(个)"))STRLST ))
  41. (setq ff1 (getfiled "输出到excel" "文本统计" "CSV" 1))
  42. (setq ff2(open ff1 "a"))
  43. (setq i 0)
  44. (repeat (length STRLST)
  45. (SETQ lst_bzmp (nth i  STRLST))
  46. (setq txt (vl-string-translate "( )" ",,,"(vl-princ-to-string lst_bzmp)))
  47. (setq txt (vl-string-subst "" "," txt))
  48. (write-line txt ff2)
  49. (setq i (1+ i))      
  50. )
  51. (close ff2)
  52.   )
  53. ;;;;;;函数:将点表num个一组重新组表,用于处理多段线顶点坐标;;;;;;;;;;;;;;;;;
  54. (defun lst->3p (lst num / n lst_new1 lst_newpoint)
  55.   (setq n 0)
  56.   (mapcar
  57.     (function
  58.       (lambda (x)
  59.         (setq lst_new1 (append lst_new1 (list x)))
  60.         (if (= (rem (1+ n) num) 0)
  61.           (progn
  62.             (setq lst_newpoint (append (list lst_new1) lst_newpoint))
  63.             (setq lst_new1 nil)
  64.           )
  65.         )
  66.         (setq n (1+ n))
  67.       )
  68.     )
  69.     lst
  70.   )
  71. lst_newpoint
  72. )

  73. (defun fixnum(bl)
  74.       (setq bl (/(fix (* bl (expt 10.0 3)))(expt 10.0 3)))
  75.   )

点评

只有如L9(1)=400,这种因为括号影响被拆分开了其它非常完美..感动.这怎么搞滴出来,,.  发表于 2012-3-31 21:12

评分

参与人数 1明经币 +1 收起 理由
flytoday + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 2012-3-31 10:05:59 | 显示全部楼层
这儿可能更合宜
数据库/EXCEL/ObjectDBX 编程技术
http://bbs.mjtd.com/forum-27-1.html

建议补上样本文件

评分

参与人数 1明经币 +1 收起 理由
flytoday + 1 这样啊。。但是这种程序还不知道咋用哈

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-3-31 10:24:14 | 显示全部楼层
补上测试文件哈先谢大师啦

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-3-31 11:28:11 | 显示全部楼层
...并输出EXL/。文本名称。个数

这些又是如何呈现的呢? (完工的样本文件)
回复

使用道具 举报

 楼主| 发表于 2012-3-31 11:51:11 来自手机 | 显示全部楼层
本帖最后由 flytoday 于 2012-3-31 12:08 编辑

样式如下

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2012-3-31 12:19:53 | 显示全部楼层
帮你顶一下!
回复

使用道具 举报

发表于 2012-3-31 12:26:34 | 显示全部楼层
用ploy ,然后用entlsat获得它,求多段线各顶点,最后(ssget "F" lists)取得其内各图元
回复

使用道具 举报

 楼主| 发表于 2012-3-31 21:17:26 | 显示全部楼层
严哥太给力了。。谢谢。。/。好象严格的EXL输出还缺点什么感觉哈。因为别人的输出以后EXL。在CAD中命令就结算。。生成的EXL文件在未关闭CAD情况下想删就删。但是这个EXL文件删不了。关了CAD以后才能删哦
回复

使用道具 举报

发表于 2012-3-31 23:34:01 | 显示全部楼层
flytoday 发表于 2012-3-31 21:17
严哥太给力了。。谢谢。。/。好象严格的EXL输出还缺点什么感觉哈。因为别人的输出以后EXL。在CAD中命令就结 ...

生成真正的excel原来有发过,比较烦,这段时间实在太忙了,现在才下班,有空给你搞一下
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-25 05:15 , Processed in 0.170814 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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