明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2975|回复: 5

如何获取CAD图形实体所有X/Y

[复制链接]
发表于 2010-6-1 10:14:00 | 显示全部楼层 |阅读模式

所有实体涉及到XY的坐标值,这个问题恼火啊。。。
有简单些的方法吗?
如pl,pl2d获取都不同,还有圆、块,我需要所有的XY对。
主要实现CAD图形的坐标转换。。。。

我本来是用transformby matrix 来进行4参数的转换,X/Y平移、旋转、比例放大,坐标的转换都没有问题了,就是比例放大一般K=1.08...或者0.999多少,但是z值、等高线高程值elevation也会放大掉,很不好处理。。。

因此,我只想对X/Y进行坐标转换,但又不好枚举出所有的类型。

又如,坐标的换带计算,就不能用4参数了,必须进行对X/Y进行计算。


如何获取所有实体X/Y呢???

发表于 2010-6-1 20:47:00 | 显示全部楼层

可以试下利用反射获取所有实体的属性类型为Point3d的属性

当然,要考虑特例,比如PL、PL2d、PL3d。。。

发表于 2010-6-2 13:18:00 | 显示全部楼层

能不能把你做的程序发我一份看看呀~~~

chenmo7758@163.com   谢谢

 楼主| 发表于 2010-6-3 13:53:00 | 显示全部楼层

 

我试着用另存dxf文件,查找10-19是X坐标, 20-29是Y来修改坐标,但遇到个问题:

 

我使用streamreader读取后,使用streamwriter写出dxf),cad就打不开dxf了(图形无效),感觉是编码encoding有问题,郁闷的很啊。。。。

 

还有就是这样做,把如 database的环境变量坐标也改了,如何判断只改实体的坐标组码呢??

发表于 2010-6-30 17:39:00 | 显示全部楼层
我也在烦这样的问题,不同的实体类型,获取坐标的方法不一样.我现在想通过遍历所有实体的方式,来实现获取坐标,并转换为相应的点,线,面对象,但是我发现好像没有面这种实体类型.
发表于 2013-12-19 16:55:53 | 显示全部楼层
本帖最后由 wenxinwen 于 2013-12-19 16:57 编辑

能把四参数的转换公式代码共享出来,让大家学习下吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 15:48 , Processed in 0.190214 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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