DNG V8查错的一个示例(以文本为例)

原文发布时间:2011-04-27

作者:叶子

把DGN数据录入到Oracle数据库中后,再出库后,往往发现数据跟原图形不同。造成的原因很多,这里以文本为例来说明这个问题。

该图中含有的所有文本如图(共59个要素):

      

也就是说入库后共有59个文本要素。

然后把入库后的数据再输出,在Microstation下,打开图全屏后如图,红色圈中的为输出的要素所在的位置:

      

在Microstation环境下全选查看数据,共59个,而把数据从Viewer中输出后,发现要素变为63个,多了四个要素。

可以猜测,导致全屏显示时不能全屏显示的原因可能是这四个要素引起的。下面要做的工作就是找到这四个要素。使用位置对比方法,把数据库中的注记点和利用dgn文件中注记生成的点,使用Mathcer转换器做比较,只需要把Match Geometry参数设置为2D。

这时候会找到四个要素,在Viewer中可以看到它们的igds_text_string字段没有值。如图,一个“沥”字产生了两个要素。


在原图中找到错误要素的位置,找出这些错误要素的共同原因是文本后面带有空格。把空格去掉后,再次入库输出,数据就没有问题了。

然后对比入库前和出库后的dgn,发现原字体倾斜和旋转的属性没有保留下来,这两个属性分别是“igds_rotation”和“igds_textstyle_slant”,把这两个数据设置后,发现字体进行了旋转但没有发生倾斜。再次对比入库前后的数据,找出还需要设置igds_textstyle_txflags(与字体风格相关的属性)。

把全部的设置设置好之后,再次输出,就得到了原入库数据完全一致的结果。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值