明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1881|回复: 13

关于形的疑问

[复制链接]
发表于 2013-5-3 14:24:18 | 显示全部楼层 |阅读模式
如果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中已使用形的形名吗
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-5-3 15:59:01 | 显示全部楼层
本帖最后由 Gu_xl 于 2013-5-3 16:01 编辑

当找不到形文件时,组码70记录的是形编号!没有形文件时,形名字应该是找不回来的!
 楼主| 发表于 2013-5-3 16:51:32 | 显示全部楼层
是不是可以这样理解
形编号 N 指的是形文件里的第 N 个形
CAD找到了这第N个形定义
才能得到这个形的名字?
如果是这样的话
事情反倒简单了
做一个包含上百个空定义的形文件
需要什么文件名
改个名就OK了
 楼主| 发表于 2013-5-3 17:12:46 | 显示全部楼层
试验了下
将随便一个形文件
改成需要的文件名称
打开dwg时
没有文件缺少提示
没有形原来会出错的程序
现在都可以顺利运行了

查看形的数据
和第一帖第二种情况是一样的
还是(70 . 1)
但是
只要程序能够运行就够了
发表于 2013-12-3 16:58:40 | 显示全部楼层
本帖最后由 oyxx1023 于 2013-12-3 17:11 编辑

看看我这个文件,还有意思些,指定形文件吧,它说要字体文件,指定字体文件吧,它又说要形文件,急死人。

本帖子中包含更多资源

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

x
发表于 2013-12-3 17:02:00 | 显示全部楼层
我查出来是缺txt.shx中的6A号形,但是我看了下TXT.SHX中有这个编号的形,百撕不得骑姐啊。

点评

“骑姐”,这两个字用得好呀  发表于 2013-12-4 15:10
 楼主| 发表于 2013-12-3 19:42:23 | 显示全部楼层
这个文件还真有点矬
使用了和系统字体同名的形文件

不过你依然可以采用我说的办法
在CAD目录下建一个txt.shx的空文件
打开dwg时不会有提示
发表于 2013-12-4 11:59:57 | 显示全部楼层
masterlong 发表于 2013-12-3 19:42
这个文件还真有点矬
使用了和系统字体同名的形文件

按你说的在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 时出错
正在用 [simplex.shx] 替换 [txt.shx]。
正在用 [simplex.shx] 替换 [txt.shx]。
正在用 [simplex.shx] 替换 [txt.shx]。
正在重生成模型。
 楼主| 发表于 2013-12-4 15:03:44 | 显示全部楼层
你说的我这里也发生过

但是我关了CAD
再打开你的文件
就没提示了
你再试试
 楼主| 发表于 2013-12-4 15:04:58 | 显示全部楼层
另外这个空文件所在路径的优先级
应该在你的fonts之前
比如CAD的主路径下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-26 01:00 , Processed in 0.211079 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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