乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 61|回复: 2

获取二维多段线的坐标

[复制链接]

17

主题

24

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
92
发表于 2017-8-1 09:05:00 | 显示全部楼层 |阅读模式
我想获取一个二维多段线(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.                     }}

回复

使用道具 举报

3

主题

58

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2017-8-9 17:13:00 | 显示全部楼层
乐筑天下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
回复

使用道具 举报

3

主题

58

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2017-8-9 17:17:00 | 显示全部楼层
"AcDbPolyline"    点以两个一组存储
"AcDb2dPolyline"   点以三个一组存储
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 07:14 , Processed in 0.413607 second(s), 69 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表