明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1894|回复: 2

[基础] 获取二维多段线的坐标

[复制链接]
发表于 2017-8-1 09:05 | 显示全部楼层 |阅读模式
本帖最后由 yanasdf789 于 2017-8-1 09:08 编辑

我想获取一个二维多段线(Acad2dpolyline)的坐标,用的是C#+COM组件方式开发
  1. foreach (AcadObject acadObj in mySelectionSet)
  2.                 {

  3.                if (acadObj.ObjectName == "AcDbPolyline")
  4.                     {
  5.                         AcadLWPolyline polyline = (AcadLWPolyline)acadObj;
  6.                         double[] polylineCoords = (double[])polyline.Coordinates;
  7.                         
  8.                     }
  9.                     else if (acadObj.ObjectName == "AcDb2dPolyline")
  10.                     {
  11.                         //**********怎么获取 二维多段线类型的坐标啊
  12.                     }



  13. }

发表于 2017-8-9 17:13 | 显示全部楼层
明经通道AutoCad ActiveX 和VBA  中示例:
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
发表于 2017-8-9 17:17 | 显示全部楼层
"AcDbPolyline"    点以两个一组存储
"AcDb2dPolyline"   点以三个一组存储
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-27 06:20 , Processed in 0.244507 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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