挚友01 发表于 2016-2-15 22:01:13

CAD2006与2008为什么这有么大的差别? attext 急!!!!!

样版文件BL:NAME C008000
MC C026000
XH C016000
RL C012000
JG N006002
ZG N006002
FS1 C002000

(command "attext" "E" qqww "" "s" f (strcat "C:\\" dwg_name))
提取的文件
2006的
DJ098   应急四管荧光灯            1               1             3.003.00D
DJ098   应急四管荧光灯            1               1             3.003.00D


2008的
KG023   单联双控密闭开关                  1               1             3.003.00
KG013   单联单控密闭开关                  ~250V 10A                     3.001.40
DJ091   双管荧光灯                     双管荧光灯         2x36          3.002.50G
PDX02   嵌入型配电箱                  1               1             3.001.20
KG022   单联双控暗壁开关                  ~250V 10A                     3.001.40
KG022   单联双控暗壁开关                  1               1             3.003.00
DJ092   三管荧光灯                     三管荧光灯         3x40          3.002.50G


位置全飞了,各段的空格数量也不对,这是怎么回事,急!!!!!

ll_j 发表于 2016-2-16 09:42:10

没看到你的dwg文件,所以不知道为什么你提取的属性数量不一样。我只给你解释一下“空格”数量不同的问题,其实,你看到的“空格”并不是真的空格,而是“制表位”(也称制表符),制表位不管显示多少空格,都只是一个字符,是控制文本格式的,说白了就是让文本“对齐”的,在一个文本字段长度小于制表位长度时,显示时长度不足的部分显示“空格”,等于或大于制表位长度时,使用两个(或多个)制表位,使得两个文本字段间有空白,并对齐于特定的位置。
制表位长度默认是8字符(部分编辑器可以自己设定),所以,你的问题中小于4个汉字(8字符)长度的占用一个制表位,5个汉字占用两个制表位,8个汉字占用三个制表位,上下行内容不同,占用的制表位数量也不同,所以,看上去并不对齐,但他们的确都是以1、9、17、25...这样的位置开始的,所以看上去空格数也不同。
用Excel打开带制表符和空格的文本,可以看出他们的差别,带空格的仍旧是一个文本,占用一个格子,但带制表符的会占用多个格子。

挚友01 发表于 2016-2-16 10:56:27

本帖最后由 挚友01 于 2016-2-16 11:04 编辑

开始我也是这样理解的,可为什么CAD2006输出的TXT能对齐,(块的属性字任长度是根据块的特性都不同)
同一个程序,在CAD2008中就出错了,也就是输出的TXT各字段的位置对不齐,也就是就我从[特定位置]提取字符串时出错了,例我要提取~250V 10A时,CAD2008 中就只提出了0V 10A,这个问题主要是开发的程序无法适用于CAD不同版本.头疼...

挚友01 发表于 2016-2-16 15:02:30

试了一上午了也不对((command "attext"),"但他们的确都是以1、9、17、25...这样的位置开始的",难到CAD2006以上的制表位有问题?
页: [1]
查看完整版本: CAD2006与2008为什么这有么大的差别? attext 急!!!!!