如何获取CAD多段线各顶点坐标
如何获取CAD各顶点坐标呢?<br/>本人一直在试,一直未获成功,心情异常沉重,肯请各位老兄给予指点!!<br/><br/> <p>论坛上有这个方面的资料,建议查询一下</p> 本帖最后由 作者 于 2008-3-19 20:53:25 编辑 <br /><br /> <p>给你个可输出polygon多段线节点的小程序(适用于AutoCAD 2004)</p> <p class="Heading-2">语法 </p><p class="syntax">object.Coordinate(index) </p><p class="element">object</p><p class="element-desc"><a href="http://www.mjtd.com/object/acad2004/idh_3dpoly_object.htm">3DPoly</a>, <a href="http://www.mjtd.com/object/acad2004/idh_leader_object.htm">Leader</a>, <a href="http://www.mjtd.com/object/acad2004/idh_lightweightpolyline_object.htm">LightweightPolyline</a>, <a href="http://www.mjtd.com/object/acad2004/idh_polyfacemesh_object.htm">PolyfaceMesh</a>, <a href="http://www.mjtd.com/object/acad2004/idh_polygonmesh_object.htm">PolygonMesh</a>, <a href="http://www.mjtd.com/object/acad2004/idh_polyline_object.htm">Polyline</a>, <a href="http://www.mjtd.com/object/acad2004/idh_solid_object.htm">Solid</a>, <a href="http://www.mjtd.com/object/acad2004/idh_trace_object.htm">Trace</a><br/>使用该属性的对象。 </p><p class="element">Coordinate</p><p class="element-desc">Variant[变体] (三元素或两元素双精度数组); 可读写<br/>指定顶点的 X、 Y 和 Z 坐标的数组。 <br/><br/>LightweightPolyline 对象:变体为两元素,它表示 OCS 坐标系统下的 X 和 Y 坐标。 <br/>Polyline 对象:: 变体为三元素,它表示 OCS 坐标系统下的 X 和 Y 坐标。而 Z 坐标在变体中有预留但被忽略。 <br/><br/>所有其它对象:变体为三元素,它表示 WCS 坐标系统下的 X 和 Y 坐标;而 Z 坐标在活动 UCS 上默认为 0。 </p><p class="element">Index</p><p class="element-desc">Integer[整数]<br/>在顶点数组中你所要设置或查询的顶点的索引号。顶点数组的基数为 0。 </p><p class="Heading-2">说明 </p><p class="body">该属性将替换指定对象任何存在的顶点。使用标准的数组处理技术来处理包含在该属性中的值。 </p><p class="body">3DPolyline, Polyline, PolygonMesh: 对于简单的多段线 (非样条化或曲线拟合),该属性指的是一般的顶点。对于样条化或曲线拟合的多段线,该属性指的是控制点顶点。 </p><p class="body">Polyline 和 LightweightPolyline 对象的 OCS 坐标可以使用 <a href="http://www.mjtd.com/object/acad2004/idh_translatecoordinates.htm">TranslateCoordinates</a> 方法与其它坐标系统进行转换。<script language="javascript" src="ac.acad_mc.js"></script></p><p class="element"><table width="100%" border="0"><tbody><tr><td width="100%"><p><a href="http://www.mjtd.com/" target="_blank">明经通道</a> ©2000-2006 版权所有 不得复制传播 <br/>该拷贝仅用于明经通道网站在线服务使用,如需要购买,请联系本站管理员:mccad,邮件地址:<a href="mailto:mccad@mjtd.com">mccad@mjtd.com</a></p><p></p><pre class="Code">Sub Example_Coordinate()
' This example creates a polyline in model space and
' queries and changes the coordinate in the first index position.
Dim plineObj As AcadPolyline
Dim points(0 To 14) As Double
' Define the 2D polyline points
points(0) = 1: points(1) = 1: points(2) = 0
points(3) = 1: points(4) = 2: points(5) = 0
points(6) = 2: points(7) = 2: points(8) = 0
points(9) = 3: points(10) = 2: points(11) = 0
points(12) = 4: points(13) = 4: points(14) = 0
' Create a lightweight Polyline object in model space
Set plineObj = ThisDrawing.ModelSpace.AddPolyline(points)
ZoomAll
' Find the coordinate in the first index position
Dim coord As Variant
coord = plineObj.Coordinate(0)
MsgBox "The coordinate in the first index position of the polyline is: " & coord(0) & ", " _
& coord(1) & ", " & coord(2)
' Change the coordinate
coord(0) = coord(0) + 1
plineObj.Coordinate(0) = coord
plineObj.Update
' Query the new coordinate
coord = plineObj.Coordinate(0)
MsgBox "The coordinate in the first index position of the polyline is now: " & coord(0) & ", " _
& coord(1) & ", " & coord(2)
End Sub</pre></td></tr></tbody></table></p> <p>明经中文通道里搜Coordinate</p><p><a href="http://www.mjtd.com/object/acad2004/">http://www.mjtd.com/object/acad2004/</a></p> 谢谢啊 <p>一定要注意这两种多段线的定义.</p><p> Dim pl As AcadPolyline<br/> Dim ppl As AcadLWPolyline</p><p><br/></p> 谢谢哈! 这个有实用价值。下来学习了。 <p>多谢了,正需要这样的东西。</p>
页:
[1]
2