Inventor API: 獲取草圖標註的點

原文鏈接:

http://adndevblog.typepad.com/manufacturing/2016/03/get-sketch-dimension-points.html


每種類型的標註可能以不同對象提供標註點。本文僅就TwoLineAngleDimConstraint做一樣例。先選擇某標註後,獲取點,創建工作點

Sub DeletePoints(c As ObjectCollection)
  Dim o As Object
  For Each o In c
    o.Delete
  Next
  
  Call c.Clear
End Sub

Sub GetDimensionGeometry()
  ' The Sketch needs to be active and a 
  ' two line angle dimension constraint needs 
  ' to be selected in the UI 
  Dim d As TwoLineAngleDimConstraint
  Set d = ThisApplication.ActiveDocument.SelectSet(1)
  
  Dim sps As SketchPoints
  Set sps = d.Parent.SketchPoints
  
  Dim sp As SketchPoint
  Dim c As ObjectCollection
  Set c = ThisApplication.TransientObjects.CreateObjectCollection()
  
  ' Anchor points (A1..A5)
  Dim pt As Point2d
  For Each pt In d.AnchorPoints
    Call c.Add(sps.Add(pt))
  Next
  
  MsgBox ("AnchorPoints")
  
  Call DeletePoints(c)
  
  ' LineOne (L1S, L1E)
  Call c.Add(sps.Add(d.LineOne.StartSketchPoint.Geometry))
  Call c.Add(sps.Add(d.LineOne.EndSketchPoint.Geometry))
  
  MsgBox ("LineOne")
  
  Call DeletePoints(c)
  
  ' LineTwo (L2S, L2E)
  Call c.Add(sps.Add(d.LineTwo.StartSketchPoint.Geometry))
  Call c.Add(sps.Add(d.LineTwo.EndSketchPoint.Geometry))
  
  MsgBox ("LineTwo")
  
  Call DeletePoints(c)
  
  ' DimensionCenterPoint (DC)
  Call c.Add(sps.Add(d.DimensionCenterPoint))
  
  MsgBox ("DimensionCenterPoint")
  
  Call DeletePoints(c)
  
  ' TextPoint (TP)
  Call c.Add(sps.Add(d.TextPoint))
  
  MsgBox ("TextPoint")
  
  Call DeletePoints(c)
End Sub

SketchDimension


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章