yhly555 发表于 2015-12-2 15:24:02

块属性与扩展属性互转

如何实现属性块数据与扩展数据进行相互转换?即将带有属性值的块进行分解,同时将块属性的值以扩展数据的方式写入到已分解的图块中,反之亦然,谢谢!

mmmmmm 发表于 2015-12-2 16:02:05

这种应该是单向转换吧,块被分解后产生的很多实体,难道数据需要写在每一个分解后的实体里面?
另外,在恢复回块时,没有恢复原则,恢复的块已经不是原来的块了。

yhly555 发表于 2015-12-2 18:24:46

mmmmmm 发表于 2015-12-2 16:02 static/image/common/back.gif
这种应该是单向转换吧,块被分解后产生的很多实体,难道数据需要写在每一个分解后的实体里面?
另外,在恢 ...

不好意思,我说的不清楚,我这里指的是只有一个实体的属性块,但是有很多属于值,分解块后只得到一个实体,然后我们再将请取到的块属性值以扩展数据的方式写入到分解后得到的实体中。而这个实体一般都是闭合的多段线。

zzyong00 发表于 2015-12-2 21:44:15

这一般是要定制什么工具,最好上dwg文件

llsheng_73 发表于 2015-12-2 23:17:00

本帖最后由 llsheng_73 于 2015-12-2 23:21 编辑

yhly555 发表于 2015-12-2 18:24 http://bbs.mjtd.com/static/image/common/back.gif
不好意思,我说的不清楚,我这里指的是只有一个实体的属性块,但是有很多属于值,分解块后只得到一个实体 ...

不建议将多段线弄成属性块,它的属性就让它们在扩展数据里边就好,当然,扩展数据没有块的属性修改方便,如果是为了修改方便,可以专门针对扩展数据项写一个对话框来修改。
不建议将多段线弄成块是因为多段线形状多样,这基本上意味着一条线得弄成一个块,虽然不同都有相同的属性字段,但却无法用一个共同的图块定义

mmmmmm 发表于 2015-12-3 09:18:01

yhly555 发表于 2015-12-2 18:24 static/image/common/back.gif
不好意思,我说的不清楚,我这里指的是只有一个实体的属性块,但是有很多属于值,分解块后只得到一个实体 ...

要是这种,我建议连扩展属性都别用,直接用ldata附加在多义线上。操作起来比扩展属性更简单。
当然我不清楚你当初想用快属性的原因是否是想那些属性信息可见,如是的话,应该为这些属性单独定义一个只有属性的图块,然后参考反应器或使用GROUP方式将多义线与属性图块关联,进行数据同步。

yhly555 发表于 2015-12-3 10:14:58

llsheng_73 发表于 2015-12-2 23:17 static/image/common/back.gif
不建议将多段线弄成属性块,它的属性就让它们在扩展数据里边就好,当然,扩展数据没有块的属性修改方便 ...

这个问题我也考虑过,块属性主要是为了方便让其与mapinfo进行转换,当然,如果有工具能让扩展数据转换成mapinfo或shp格式后属性不丢失那最好不过了。

yhly555 发表于 2015-12-3 10:23:34

mmmmmm 发表于 2015-12-3 09:18 static/image/common/back.gif
要是这种,我建议连扩展属性都别用,直接用ldata附加在多义线上。操作起来比扩展属性更简单。
当然我不清 ...

想法很好,不过我这个初学见想要实现就难了。

yhly555 发表于 2015-12-3 10:24:15

zzyong00 发表于 2015-12-2 21:44 static/image/common/back.gif
这一般是要定制什么工具,最好上dwg文件

弄好后再传

llsheng_73 发表于 2015-12-3 12:23:56

yhly555 发表于 2015-12-3 10:14 static/image/common/back.gif
这个问题我也考虑过,块属性主要是为了方便让其与mapinfo进行转换,当然,如果有工具能让扩展数据转换成m ...

当然,可以考虑在多线段内部做一个属性块(主图元为一个点或者一条直线),这样就可以所有多线段都用同一个块定义,而它的属性值根据多段线的属性来决定就行了,人为修改属性值后,及时把这些属性写回到多段线的属性去,至于多段线的属性用XDATA还是LDATA,看熟悉程度吧,如果都不熟悉,建议用ldata,它的操作相对xdata更简单些
页: [1] 2
查看完整版本: 块属性与扩展属性互转