cobalt 发表于 2005-1-23 20:45:00

一个关于LightWeightPolyline和Polyline的疑惑

我使用的是AutoCAD2004中文版,在处理LightWeightPolyline和Polyline的时候发现一个问题。<BR>我按照AutoCAD帮助上的示例程序分别绘制了一个LightWeightPolyline和Polyline对象,在查看其Object Name的时候发现分别为:<BR>LightWeightPolyline对象的Object Name是 AcDbPolyline;<BR>Polyline对象的Object Name是AcDb2dPolyline。<BR>我觉得有些奇怪,绘制LightWeightPolyline对象的时候是用的两维点坐标,绘制Polyline对象的时候是用的三位点坐标,我觉得它们的Object Name应该是要调换的。


这是怎么回事啊?

liub1979 发表于 2005-1-24 23:36:00

Polyline对象的Object Name是AcDb2dPolyline。


是相对3DPoly对象的Object Name是AcDb3dPolyline说的,它没有Z坐标只有标高


自 R14 版起,AutoCAD 以一种优化格式创建二维多段线和关联填充,这种优化格式可以节省内存和磁盘空间.就是LightWeightPolyline.

兰州人 发表于 2007-12-21 10:13:00

<table class="TitleTable" cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr valign="top"><td><p></p><p><a href="http://www.mjtd.com/object/acad2004/idh_addpolyline.htm">http://www.mjtd.com/object/acad2004/idh_addpolyline.htm</a><a title="点击返回" href="javascript:history.back();" style="TEXT-DECORATION: none;"><p class="Heading-1">AddPolyline 方法</p></a></p><p class="Heading-1">AddPolyline 方法</p></td></tr></tbody></table><p class="TitleSpacing"></p><p class="1-liner">从顶点列表创建多段线。</p><p class="h1-access"><a href="http://www.mjtd.com/object/acad2004/addpolyline_see_also.htm">参阅</a> | <a href="http://www.mjtd.com/object/acad2004/ex_addpolyline.htm">示例</a></p><p class="Heading-2">语法 </p><p class="syntax">RetVal = object.AddPolyline(VerticesList) </p><p class="element">Object</p><p class="element-desc"><a href="http://www.mjtd.com/object/acad2004/idh_modelspace_collection.htm">ModelSpace 集合</a>, <a href="http://www.mjtd.com/object/acad2004/idh_paperspace_collection.htm">PaperSpace 集合</a>, <a href="http://www.mjtd.com/object/acad2004/idh_block_object.htm">Block</a><br/>使用该方法的对象。 </p><p class="element">VerticesList</p><p class="element-desc">Variant[变体] (双精度数组); 仅用于输入<br/>用于创建多段线顶点的OCS坐标数组。每一顶点用三个元素表示,前两个元素为OCS的X和Y坐标;而第三个元素为忽略。至少需要两点(六个元素)来构成一个多段线对象。该数组的大小必须为3的倍数。 </p><p class="element">RetVal</p><p class="element-desc"><a href="http://www.mjtd.com/object/acad2004/idh_polyline_object.htm">Polyline</a> 对象<br/>新创建的 Polyline 对象。 </p><p class="Heading-2">说明 </p><p class="body">要创建包含圆弧的多段线,首先创建直线段的多段线,然后对特定顶点使用 <a href="http://www.mjtd.com/object/acad2004/idh_setbulge.htm">SetBulge</a> 方法设置凸度。 </p><p class="body">该方法的存在只用于与旧版本兼容。使用 <a href="http://www.mjtd.com/object/acad2004/idh_addlightweightpolyline.htm">AddLightweightPolyline</a> 方法可创建优化格式的多段线以节省内存和磁盘空间。 </p><p class="body">坐标可使用 <a href="http://www.mjtd.com/object/acad2004/idh_translatecoordinates.htm">TranslateCoordinates</a> 方法由OCS坐标与其它坐标系统相互转换。</p><p class="body">--------------------</p><p class="body"></p><p class="body"><table class="TitleTable" cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr valign="top"><td><a title="点击返回" href="javascript:history.back();" style="TEXT-DECORATION: none;"><p class="Heading-1">AddLightweightPolyline 方法</p></a></td></tr></tbody></table></p><p class="TitleSpacing"></p><p class="1-liner">由顶点列表创建优化多段线。</p><p class="h1-access"><a href="http://www.mjtd.com/object/acad2004/addlightweightpolyline_see_also.htm">参阅</a> | <a href="http://www.mjtd.com/object/acad2004/ex_addlightweightpolyline.htm">示例</a></p><p class="Heading-2">语法 </p><p class="syntax">RetVal = object.AddLightweightPolyline(VerticesList) </p><p class="element">Object</p><p class="element-desc"><a href="http://www.mjtd.com/object/acad2004/idh_modelspace_collection.htm">ModelSpace 集合</a>, <a href="http://www.mjtd.com/object/acad2004/idh_paperspace_collection.htm">PaperSpace 集合</a>, <a href="http://www.mjtd.com/object/acad2004/idh_block_object.htm">Block</a><br/>使用该方法的对象。 </p><p class="element">VerticesList</p><p class="element-desc">Variant[变体] (双精度数组)<br/>指定多段线顶点的二维 OCS 坐标数组。至少需要两点(四个元素)以构成优化多段线。数组大小必须为2的倍数。 </p><p class="element">RetVal</p><p class="element-desc"><a href="http://www.mjtd.com/object/acad2004/idh_lightweightpolyline_object.htm">LightweightPolyline</a> 对象<br/>新创建的 LightweightPolyline 对象。 </p><p class="Heading-2">说明 </p><p class="body">顶点是生成多段线的线段端点。要添加弧段,首先创建全部为直线段的多段线,然后为个别需要变为弧段的线段添加凸度。要为线段添加凸度值,可使用 <a href="http://www.mjtd.com/object/acad2004/idh_setbulge.htm">SetBulge</a> 方法。 </p><p class="body">多段线的标高将被设置为布局的当前标高。使用 <a href="http://www.mjtd.com/object/acad2004/idh_elevationmodelspace.htm">ElevationModelspace</a> 或 <a href="http://www.mjtd.com/object/acad2004/idh_elevationpaperspace.htm">ElevationPaperspace</a> 属性可确定多段线的标高。 </p><p class="body">坐标可使用 <a href="http://www.mjtd.com/object/acad2004/idh_translatecoordinates.htm">TranslateCoordinates</a> 方法在OCS坐标与其它坐标系统相互转换。<script language="javascript" src="ac.acad_mc.js"></script>
        </p><p class="body"></p><script language="javascript" src="ac.acad_mc.js"></script>
页: [1]
查看完整版本: 一个关于LightWeightPolyline和Polyline的疑惑