乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 128|回复: 7

[求助]各位大侠,怎样将CAD中明细表的内容导出倒文本文件那??

[复制链接]

13

主题

32

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2003-4-1 19:47:00 | 显示全部楼层 |阅读模式
我的CAD中的明细表 每一列高度都是相等的,而且 它的列数是不确定的,
  有没有好的办法判断  让程序自己导出文字 直到明细表没有为止,
  并且导出后的 文字是有顺序的, 谢谢了!!
回复

使用道具 举报

13

主题

32

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2003-4-3 09:39:00 | 显示全部楼层
我从CAD中导出到文本文件中 的文字形式 是{\f宋体|b0|i0|c134|p54;活动底板}  {\f宋体|b0|i0|c134|p2;48652-1-1}  怎样才能去掉{\f宋体|b0|i0|c134|p54;} 只要 “活动底板”字样那??
谢谢了!!!
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-4-3 09:45:00 | 显示全部楼层
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;功能:获取文字对象中的文字字符串;;;
;sname--文字对象名;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun Getext(sname / sinf str str2)
  (setq sinf (entget sname))
  (setq str (cdr (assoc 1 sinf)))
  (setq str (strcase str 0))
  (setq str (vl-string-trim "{}" str))
  (if (= (type (read str)) 'SYM)
    (progn
      (setq str2 (vl-symbol-name (read str)))
      (if (/= (strlen str) (strlen str2))
        (progn
          (setq str2 (strcase str2 0))
          (setq str (vl-string-left-trim str2 str))
          (setq str (vl-string-left-trim ";" str))
        )
      )        
    )
  )
  str
)
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2003-4-3 10:56:00 | 显示全部楼层
;Usage: Outext
;Select texts or mtext in the drawings
;These texts or mtext will be sent to Dutext.txt
;(overide if the file exists) in an order of
;their Y value of their insert point in the drawing.
;Format of mtext hopefully will be removed.
;
(defun C:Outext(/ ss idx txtlst cnt f)
  (setq ss (ssget)
        idx 0
        txtlst '())
  (while ( (cadr e1) (cadr e2))))))
  (setq txtlst (mapcar 'car txtlst))
  (setq f (open "dutext.txt" "w") cnt 0)
  (while (vla-object Mtext))
    )
    (1 (setq Mtext nil))
  )
  (and
    Mtext
    (= (vlax-get Mtext 'ObjectName) "AcDbMText")
    (setq Mtext (vlax-get Mtext 'TextString))
    (setq Text "")
    (while (/= Mtext "")
      (cond
        ((wcmatch (strcase (setq Str (substr Mtext 1 2))) "\\[\\{}`~]")
          (setq Mtext (substr Mtext 3)
                Text   (strcat Text Str)
          )
        )
        ((wcmatch (substr Mtext 1 1) "[{}]")
          (setq Mtext (substr Mtext 2))
        )
        ((and KeepLF (wcmatch (strcase (substr Mtext 1 2)) "\\P"))
          (setq Mtext (substr Mtext 3)
                Text  (strcat Text "\\P")
          )
        )
        ((wcmatch (strcase (substr Mtext 1 2)) "\\[LOP]")
          (setq Mtext (substr Mtext 3))
        )
        ((wcmatch (strcase (substr Mtext 1 2)) "\\[ACFHQTW]")
          (setq Mtext (substr Mtext (+ 2 (vl-string-search ";" Mtext))))
        )
        ((wcmatch (strcase (substr Mtext 1 2)) "\\S")
          (setq Str   (substr Mtext 3 (- (vl-string-search ";" Mtext) 2))
                Text  (strcat Text (vl-string-translate "#^\\" "   " Str))
                Mtext (substr Mtext (+ 4 (strlen Str)))
          )
          (print Str)
        )
        (1
          (setq Text (strcat Text (substr Mtext 1 1))
                Mtext (substr Mtext 2)
          )
        )
      )
    )
  )
  Text
)
--
John Uhden, Cadlantic/formerly CADvantage
http://www.cadlantic.com
Sea Girt, NJ
回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2003-4-3 12:33:00 | 显示全部楼层
1        中国        香港        澳门
2        日本        nil        东京
3        美国        纽约        nil
  这是明细表中的内容 怎样判断 当所选范围为 空时导出到
   文本文件中的内容为 nil 呀
  还有就是 我想导出的形式是  1  中国  香港  澳门
                             2  日本  nil   东京
怎么样才能实现呀?
谢谢了
回复

使用道具 举报

13

主题

32

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2003-4-3 23:53:00 | 显示全部楼层
如果是一次性选择,你除非知道什么位置是空的,输出时,在其位置上写上空,否则,你选择的就是那些非空的对象,空的将不可能被选择。
不过你可以按位置一个一个选择,也就是你能确定每个文字对象的位置及其大小,按其位置一个一个地框选,如果选择集长度为0,则为空。
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-4-4 08:47:00 | 显示全部楼层

求助    谢谢 meflying 兄   但是我的明细表 的大小是不确定,有没有好的办法呀????[br]meflying兄 你说的那种情况我已经解决的  ,就是我说的那种情况有没有好的 办法解决呀,就是因为我得 明细表的大小不确定 (总高度不确定)。但是 每一 列 之间的距离是固定的(80)
   所以 范围我确定不来,束手无策。
   在这里希望得到 给位大侠的帮助!!!!
回复

使用道具 举报

13

主题

32

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2003-4-4 13:56:00 | 显示全部楼层
其实如果你的宽度确定的话,你可以根据第一列(序号)来确定高度。一般序号这列不可能为空的。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-6 17:52 , Processed in 1.681061 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表