- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Turn off model sketches in drawing
Hello everyone, I got the following problem:
I have a drawing with 1 view of a part.
I get the model sketches of that part in a drawing view
If you right click that sketch you can choose "Include" and "Visible"
Now I made the following code in ilogic:
Sub Main()
Dim oDoc As DrawingDocument = ThisDoc.Document
Dim oSheet As Sheet = oDoc.ActiveSheet
Dim oNode As BrowserNode = oDoc.BrowserPanes("Model").GetBrowserNodeFromObject(oSheet.DrawingViews.Item(1))
Call recurseNodes(oNode)
End Sub
Sub recurseNodes(node As BrowserNode)
Dim bn As BrowserNode
For Each bn In node.BrowserNodes
If TypeName(bn.NativeObject) = "PlanarSketch" Then
bn.Visible = False
MsgBox(bn.Visible)
Dim oSketch As PlanarSketch = bn.NativeObject
oSketch.Visible = False
MsgBox(oSketch.Visible)
Dim oProxy As PlanarSketchProxy = TryCast(oSketch, PlanarSketchProxy)
If oProxy Is Nothing Then MsgBox("fail")
End If
If Not TypeName(bn.NativeObject) = "DrawingView" Then
Call recurseNodes(bn)
Else
Continue For
End If
Next
End SubNow the messageboxes say that sketches are turned off, but in truth nothing happens, sketches remain on.
What am I doing wrong?
Thanks in advance,
Arnold
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Try this. If it doesn't work, try uncommenting the lines and trying it with the command I have in there.
Sub Main()
Dim oDoc As DrawingDocument = ThisDoc.Document
Dim oSheet As Sheet = oDoc.ActiveSheet
Dim oNode As BrowserNode = oDoc.BrowserPanes("Model").GetBrowserNodeFromObject(oSheet.DrawingViews.Item(1))
Call recurseNodes(oNode)
End Sub
Sub recurseNodes(node As BrowserNode)
Dim bn As BrowserNode
'Dim oCommandMgr As CommandManager
'oCommandMgr = ThisApplication.CommandManager
'Dim oControlDef1 As ControlDefinition
For Each bn In node.BrowserNodes
If TypeName(bn.NativeObject) = "PlanarSketch" Then
bn.EnsureVisible = true
bn.Visible = True
'bn.DoSelect
'oControlDef1 = oCommandMgr.ControlDefinitions.Item("DrawingEntityVisibilityCtxCmd")
'oControlDef1.Execute
Dim oSketch As PlanarSketch = bn.NativeObject
oSketch.Visible = False
MsgBox(oSketch.Visible)
Dim oProxy As PlanarSketchProxy = TryCast(oSketch, PlanarSketchProxy)
If oProxy Is Nothing Then MsgBox("fail")
End If
If Not TypeName(bn.NativeObject) = "DrawingView" Then
Call recurseNodes(bn)
Else
Continue For
End If
Next
End Sub
--------------------------------------
Did you find this reply helpful ? If so please use the 'Accept as Solution' or 'Like' button below.
Inventor 2018.2.3, Build 227 | Excel 2013+ VBA
ERP/CAD Communication | Custom Scripting
Machine Design | Process Optimization
iLogic/Inventor API: Autodesk Online Help | API Shortcut In Google Chrome | iLogic API Documentation
Vb.Net/VBA Programming: MSDN | Stackoverflow | Excel Object Model
Inventor API/VBA/Vb.Net Learning Resources: Forum Thread
Sample Solutions:Debugging in iLogic ( and Batch PDF Export Sample ) | API HasSaveCopyAs Issues |
BOM Export & Column Reorder | Reorient Skewed Part | Add Internal Profile Dogbones |
Run iLogic From VBA | Batch File Renaming| Continuous Pick/Rename Objects
Local Help: %PUBLIC%\Documents\Autodesk\Inventor 2018\Local Help
Ideas: Dockable/Customizable Property Browser | Section Line API/Thread Feature in Assembly/PartsList API Static Cells | Fourth BOM Type
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Looking a little deeper,
http://help.autodesk.com/view/INVNTOR/2018/ENU/?guid=GUID-D273D9C3-C24F-4CDD-B571-F2C0B5F7A5B3
reveals that .SetIncludeStatus and .SetVisibility are likely much better bets.
--------------------------------------
Did you find this reply helpful ? If so please use the 'Accept as Solution' or 'Like' button below.
Inventor 2018.2.3, Build 227 | Excel 2013+ VBA
ERP/CAD Communication | Custom Scripting
Machine Design | Process Optimization
iLogic/Inventor API: Autodesk Online Help | API Shortcut In Google Chrome | iLogic API Documentation
Vb.Net/VBA Programming: MSDN | Stackoverflow | Excel Object Model
Inventor API/VBA/Vb.Net Learning Resources: Forum Thread
Sample Solutions:Debugging in iLogic ( and Batch PDF Export Sample ) | API HasSaveCopyAs Issues |
BOM Export & Column Reorder | Reorient Skewed Part | Add Internal Profile Dogbones |
Run iLogic From VBA | Batch File Renaming| Continuous Pick/Rename Objects
Local Help: %PUBLIC%\Documents\Autodesk\Inventor 2018\Local Help
Ideas: Dockable/Customizable Property Browser | Section Line API/Thread Feature in Assembly/PartsList API Static Cells | Fourth BOM Type
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Yes, I got it working now. Thanks
Dim oProxy As PlanarSketchProxy = TryCast(oSketch, PlanarSketchProxy) oDoc.Sheets(1).DrawingViews(1).SetVisibility(oSketch, False)
When I did bn.visible it actually turned the sketch of in the part
I tried bn.BrowserNodeDefinition.Visible but that completely removed the node from the browser
I was fooled that the Include and Visibility were properties of the browsernode rather than the drawingview.