05-08-2024
06:31 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
05-08-2024
06:31 AM
A quick example of how to open a drawing from a balloon.
Dim oDoc As DrawingDocument = ThisApplication.ActiveDocument While True 'select Balloon Dim oBalloon As Balloon = Nothing oBalloon = ThisApplication.CommandManager.Pick _ (SelectionFilterEnum.kDrawingBalloonFilter, _ "Select a balloon to open a it's drawing. " & " (press ESC To Exit selection)") If IsNothing(oBalloon) Then Exit While Dim oLeader As Leader If oBalloon IsNot Nothing Then oLeader = oBalloon.Leader Dim oLeaderNode As LeaderNode = oLeader.AllNodes(oLeader.AllNodes.Count) Dim oIntent As GeometryIntent = oLeaderNode.AttachedEntity Dim oCurve As DrawingCurve = oIntent.Geometry Dim oProxy As EdgeProxy = oCurve.ModelGeometry Dim oOcc As ComponentOccurrence = oProxy.ContainingOccurrence Dim oRefDoc As Document = oOcc.Definition.Document Dim oFilePath As String = oRefDoc.FullFileName() Dim oDrawingFilePath As String = Left(oFilePath, Len(oFilePath) -3) & "idw" Try oDrawDoc = ThisApplication.Documents.Open(oDrawingFilePath, True) Exit While Catch MsgBox("Could not open " & oDrawingFilePath, , "iLogic") End Try End While
Solved! Go to Solution.
05-08-2024
06:53 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
05-08-2024
06:53 AM
Now that's nice! I did notice, however, the code doesn't like balloons that are on tangent surfaces, such as a pipe. When I move the balloon to the pipe's cut edge, it performs the task properly.
Here's what I see when clicking on a tangent-connected balloon:
05-08-2024
07:42 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
05-08-2024
07:42 AM
@harvey3ELEA , good catch, see this updated version
Dim oDoc As DrawingDocument = ThisApplication.ActiveDocument While True 'select Balloon Dim oBalloon As Balloon = Nothing oBalloon = ThisApplication.CommandManager.Pick _ (SelectionFilterEnum.kDrawingBalloonFilter, _ "Select a balloon to open it's drawing. " & " (press ESC To Exit selection)") If IsNothing(oBalloon) Then Exit While Dim oLeader As Leader If oBalloon IsNot Nothing Then oLeader = oBalloon.Leader Dim oLeaderNode As LeaderNode = oLeader.AllNodes(oLeader.AllNodes.Count) Dim oIntent As GeometryIntent = oLeaderNode.AttachedEntity Dim oCurve As DrawingCurve = oIntent.Geometry Dim oOcc As ComponentOccurrence = oCurve.ModelGeometry.ContainingOccurrence Dim oRefDoc As Document = oOcc.Definition.Document Dim oFilePath As String = oRefDoc.FullFileName() Dim oDrawingFilePath As String = Left(oFilePath, Len(oFilePath) -3) & "idw" Try oDrawDoc = ThisApplication.Documents.Open(oDrawingFilePath, True) Exit While Catch MsgBox("Could not open " & oDrawingFilePath, , "iLogic") End Try End While
05-08-2024
08:30 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
05-08-2024
08:30 AM
Success! That did the trick.
The boss is impressed at how I'm now able to use Inventor drawings more effectively with you're recent codes. His first comment: why doesn't Inventor already have those built in?
Thanks, Harvey
05-08-2024
08:32 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
05-08-2024
08:33 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
05-08-2024
10:44 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report