关于形的疑问
如果dwg有形存在而又没有对应的形文件时
那形是无法看到的
现在想做一件事
如果dwg存在形又没有形文件
就做一个假的形文件来"欺骗"CAD
那么就必须获取形文件的名称
和dwg中形定义的形名
形文件的名称
可以在purge窗口中查到
而在查找形名的过程中出现了麻烦
两种情况
1.有形文件
提取形的数据如下
(-1 . <图元名: 5fa79e98>)
(0 . "SHAPE")
(330 . <图元名: 7caa8d08>)
(5 . "8F6B")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "Z_图框")
(62 . 0)
(100 . "AcDbShape")
(10 1.56243e+006 208275.0 0.0)
(40 . 2.0)
(2 . "abbb_1")
(50 . 0.0)
(41 . 1.0)
(51 . 0.0)
(210 0.0 0.0 1.0)
2.没有形文件
此时形无法看到
但可以通过全选图元
排除掉非形图元
由此得到形的图元获取数据如下
(-1 . <图元名: 7ed3c8e8>)
(0 . "SHAPE")
(330 . <图元名: 7ef5ed08>)
(5 . "8F75")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "Z_图框")
(62 . 0)
(100 . "AcDbShape")
(10 1.60079e+006 174528.0 0.0)
(40 . 2.0)
(70 . 1)
(50 . 0.0)
(41 . 1.0)
(51 . 0.0)
(210 0.0 0.0 1.0)
两组数据最大的不同
在于第一个显示出了形的名字
而第二个则没有
但多了一个70组码
没能查到70组码的含义
有什么办法可以在没有形文件的情况下
得到dwg中已使用形的形名吗 本帖最后由 Gu_xl 于 2013-5-3 16:01 编辑
当找不到形文件时,组码70记录的是形编号!没有形文件时,形名字应该是找不回来的! 是不是可以这样理解
形编号 N 指的是形文件里的第 N 个形
CAD找到了这第N个形定义
才能得到这个形的名字?
如果是这样的话
事情反倒简单了
做一个包含上百个空定义的形文件
需要什么文件名
改个名就OK了 试验了下
将随便一个形文件
改成需要的文件名称
打开dwg时
没有文件缺少提示
没有形原来会出错的程序
现在都可以顺利运行了
查看形的数据
和第一帖第二种情况是一样的
还是(70 . 1)
但是
只要程序能够运行就够了
本帖最后由 oyxx1023 于 2013-12-3 17:11 编辑
看看我这个文件,还有意思些,指定形文件吧,它说要字体文件,指定字体文件吧,它又说要形文件,急死人。 我查出来是缺txt.shx中的6A号形,但是我看了下TXT.SHX中有这个编号的形,百撕不得骑姐啊。 这个文件还真有点矬
使用了和系统字体同名的形文件
不过你依然可以采用我说的办法
在CAD目录下建一个txt.shx的空文件
打开dwg时不会有提示 masterlong 发表于 2013-12-3 19:42 static/image/common/back.gif
这个文件还真有点矬
使用了和系统字体同名的形文件
按你说的在FONTS目录下新建了一个空的txt.shx,打开的时候还是出现了选择形的对话框,不过只需要按一次取消键,以前要按5次取消。
命令行提示:
正在打开 AutoCAD 2004 格式的文件。
读取形文件 D:\PROGRAM FILES\AUTOCAD 2006\FONTS\txt.shx 时出错
读取形文件 D:\PROGRAM FILES\AUTOCAD 2006\FONTS\txt.shx 时出错
读取形文件 D:\PROGRAM FILES\AUTOCAD 2006\FONTS\txt.shx 时出错
正在用 替换 。
正在用 替换 。
正在用 替换 。
正在重生成模型。 你说的我这里也发生过
但是我关了CAD
再打开你的文件
就没提示了
你再试试 另外这个空文件所在路径的优先级
应该在你的fonts之前
比如CAD的主路径下
页:
[1]
2