明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1499|回复: 2

三维多段线求各顶点坐标 .NET API

[复制链接]
发表于 2011-6-14 15:43:11 | 显示全部楼层 |阅读模式
做CAD二次开发时,如何获得三维多段线的顶点个数和相应坐标,用的得是vs2008    .net API ?
发表于 2011-6-14 23:41:28 | 显示全部楼层
本帖最后由 guohq 于 2011-6-14 23:43 编辑

  1. Public Function GetVerPts(ByVal objPolyLine3D As Polyline3d) As List(Of Point3d)
  2.         Dim rtn As New List(Of Point3d)
  3.         Using Trans As Transaction = DB.TransactionManager.StartTransaction
  4.             Dim obj As Polyline3d = Trans.GetObject(objPolyLine3D.ObjectId, OpenMode.ForWrite)
  5.             Dim Temp_Type As Poly3dType = obj.PolyType '将先前的拟合类型先保存下来,计算完毕后复原
  6.             obj.ConvertToPolyType(Poly3dType.SimplePoly)
  7.             Dim Vtx As PolylineVertex3d = Nothing
  8.             For Each VID As ObjectId In obj
  9.                 Vtx = VID.GetObject(OpenMode.ForRead)
  10.                 rtn.Add(New Point3d(Vtx.Position.X, Vtx.Position.Y, Vtx.Position.Z))
  11.             Next
  12.             obj.ConvertToPolyType(Temp_Type)
  13.             Trans.Commit()
  14.         End Using
  15.         GetVerPts = rtn
  16. End Function
   
说明:1.当polyline3d处于非拟合状态时可以计算其顶点坐标
           2. DB   =  HostApplicationServices.WorkingDatabase
 楼主| 发表于 2011-6-15 07:57:50 | 显示全部楼层
回复 guohq 的帖子

谢谢!我正在学C#.net 能不能用C#给我讲解一下?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 12:20 , Processed in 0.171588 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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