[求助]如何将三维线转换为不带标高属性的二维多段线?
<p></p><p>同主题~··················</p> 如果只是抹掉 Z 坐标值倒是比较简单, Move from (0,0,0) to (0,0,1e99) 再 Move from (0,0,1e99) to (0,0,0) 即可. 如果还要将 3DPolyline 转换为 LWPOLYLINE 实体, 就比较那个了. Convert 命令只支持对 2DPolyline 的转换. 这样的比较少的话, 可以试试先分解了, 再通过 Pedit.Join 子命令重新组合起来 <p>move不是移动的命令吗?请教一下到底怎么用啊?</p><p>convert命令好像转换不了啊,我是要将三维多段线转换为二维多段线,不是转换为实体~············</p> 这个通过两次 Move 命令消除 Z 坐标的方法是利用的计算机数值表示精度上的限制来实现的. 一般的数值只有 15 还是 16 位的有效数字. 超过了的就表现不出来了. 即 1e10+1=1.0000000001e10, 加上的 1 在结果里面是能够体现出来的; 但 1e99+1=1e99, 加的那个 1 就没有了. 所以, 只要你图形中原来 Z 值不是很离奇的大, 那么由 (0,0,0) 移动到 (0,0,1e99) 之后, 所有的 Z 就只是 1e99 了, 原来的 Z 就消失在精度表示的限制中. 再从 (0,0,1e99) 移动回 (0,0,0), 所有的 Z 就都是 0 了 了解了,谢谢楼上的~························ <p>用vba变成转换</p><p></p>
页:
[1]