明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3129|回复: 10

奇怪!为什么一条线既是LW线又是二维多段线?

[复制链接]
发表于 2006-6-13 16:12:00 | 显示全部楼层 |阅读模式
刚才不知怎么做出了一条线,用List显示是LWpolyline,在属性菜单里显示的却是二维多段线,正常应该是多段线的,请问有没有遇到这种情况的?是什么原因呢?
再做就做不出来了,纳闷!
发表于 2006-6-13 17:17:00 | 显示全部楼层
LWPolyLine 就是二维多段线啊. 现在的 ACAD 都是尽可能地使用该类型来表示的. 如果打开的早期版本的图形中有 PolyLine 的话, 缺省也是会自动转换为 LWPolyLine 的
 楼主| 发表于 2006-6-13 22:59:00 | 显示全部楼层
我以前也没注意这个问题,只是最近在学做一些CAD的二次开发时才发现的,一开始也把我弄糊涂了。
我开始跟zara的看法是一样的,但实际上是不对的,现在的LWPolyline才叫“多段线”或叫什么轻量多段线,而原来的Polyline叫做2DPolyline,相对应的还有个3DPolyline。2DPolyline就叫做“二维多段线”。
所以我今天才非常奇怪地遇到了上面提到的二维多段线的LWPolyline,我想正常是不应该出现这种情况的,但不知什么原因。不知道还有没有人知道呢?
发表于 2006-6-14 07:09:00 | 显示全部楼层
PolyLine 是最初的实体模式, 各个端点 Vertex 是 PolyLine 的子实体, 必须由PolyLine 通过 (entnext ...) 函数获取. 而现在采用的 LWPolyLine, 端点信息则是以分组信息直接存放在 LWPolyLine 中的, 没有了原来的子实体形式. 可以直接通过对 LWPolyLine 实体表进行检索获取. 3DPoLyLine, 则是可以创建空间三维多段线, 但是对端点上没有了细节, 比如局部宽度控制. 这些实体名称的汉译说法, 不要太在意
 楼主| 发表于 2006-6-14 22:26:00 | 显示全部楼层
        呵呵,赞同你关于它们的区别的说法。我也是一直对它们的说法不在意的,不然不会今天才发现这个现象。
        实际上你没有明白我的意思,我不是为了一个没有什么用的“说法问题”而到这来提问的,我是问这种现象产生的可能的原因,以及怎么来控制这种现象的出现。因为不管汉译成什么,在一个软件的一个界面里它的叫法都应该是统一的,而不可能出现它本来是叫二维多段线的,忽然有那么一阵又叫多段线了,而且在这中间并没有对它进行过转换。
        平时编图可能不必理会它倒底叫什么,但在进行开发时就得必须区分出来。像LW线的实体名称就是'AcDbPolyline',原Poly线叫做‘AcDb2dPolyline’,3DPoly线叫做'AcDb3Dpolyline',尽管最初让我郁闷了好长时间,但它就这么叫,而且还区分大小写。
     我想也有可能是在程序对其进行操作时出现了什么异常吧,如果找不到原因就只能是这个原因了。
        对了,忘了说了,我不是用Lsp做开发的的,所以表示方法上有所区别。在Lsp下的Polyline还是原来的Polyline,我也是这么用的,真不知道AutoDesk他们怎么弄得这么混乱。
发表于 2006-6-15 08:44:00 | 显示全部楼层
是比较乱, 针对这个, 各个时期和不同方面的表示没有很好地统一起来.
发表于 2006-6-15 08:53:00 | 显示全部楼层

指定 AutoCAD 是否要使用最佳化的 2D 聚合线。PLINETYPE 会控制 PLINE 指令对於新聚合线的建立,以及旧版图面的既有聚合线的转换。

0 当开启旧版图面时,不转换其中的聚合线;PLINE 会建立旧格式的聚合线。
1 当开启旧版图面时,不转换其中的聚合线;PLINE 会建立最佳化的聚合线。
2 当开启旧版图面时,转换其中的聚合线;PLINE 会建立最佳化的聚合线。

如果需要这两种格式的详细资讯,请参阅 CONVERT 指令。

PLINETYPE 也会控制下列指令所建立的聚合线类型:BOUNDARY (当物件类型设为「聚合线」时) 、DONUT、PEDIT (
当选取线或弧时) 、POLYGON,以及 SKETCH (当 SKPOLY 设为 1 时) 。

 楼主| 发表于 2006-6-15 11:45:00 | 显示全部楼层
呵呵,谢谢Joseflin了。
不过你说的和我说的不是一回事啊。

我在想呢,不是那天我产生幻觉了吧。
当时是在取ConstantWidth时出错的,按理说捕捉了这个错误后,就可以 GetWidth来取每个vertex的宽度了,但又出错了,这时用CAD的propertise菜单一看,就出现了我上面说的情况。后来这种现象又莫明其妙的没了。看来要郁闷下去了,不过还是要感谢两位的热心了!
发表于 2006-6-21 13:23:00 | 显示全部楼层

开发的时候 不要用Typename(Ent) = "IAcadLWPolyline"之类的

改成Like 就好了

发表于 2011-12-1 09:44:21 | 显示全部楼层
[em0]学习啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-24 18:42 , Processed in 0.218622 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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