Create Broken View Example (VBA)
This example shows how to create and remove a broken view.
'----------------------------------------------------------------------------
' Preconditions:
' 1. Specified file to open exists.
' 2. Open the Immediate window.
' 3. Run the macro.
'
' Postconditions:
' 1. Drawing opens.
' 2. Examine the drawing. Press F5.
' 3. Break lines are inserted in the
' drawing view. Press F5.
' 4. The positions of the break lines are modified, and the view is broken.
' Examine the drawing and the Immediate window. Press F5.
' 5. The break is removed from the drawing view.
' 6. Examine the drawing.
'
' NOTE: Because this drawing document is used elsewhere,
' do not save changes when closing it.
'----------------------------------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDrawingDoc As SldWorks.DrawingDoc
Dim swSheet As SldWorks.Sheet
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swSelectionManager As SldWorks.SelectionMgr
Dim swSelectData As SldWorks.SelectData
Dim swView As SldWorks.View
Dim swBreakLine As SldWorks.BreakLine
Dim fileName As String
Dim status As Boolean
Dim errors As Long
Dim warnings As Long
Sub main()
Set swApp = Application.SldWorks
fileName = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\tutorial\api\box.slddrw"
Set swModel = swApp.OpenDoc6(fileName, swDocDRAWING,
swOpenDocOptions_Silent, "", errors, warnings)
Set swDrawingDoc = swModel
Set swModelDocExt = swModel.Extension
' Activate and select the view to break
status = swDrawingDoc.ActivateView("Drawing View1")
status = swModelDocExt.SelectByID2("Drawing View1", "DRAWINGVIEW",
0, 0, 0, False, 0, Nothing, 0)
Set swSelectionManager = swModel.SelectionManager
Set swSelectData = swSelectionManager.CreateSelectData
Set swView = swSelectionManager.GetSelectedObject6(1,
-1)
Stop
' Examine the drawing; press F5
Set swBreakLine = swView.InsertBreak(2,
-2.91950859897372E-02, 1.98236302285804E-02, 2)
Stop
' Break lines inserted; press F5
status = swBreakLine.SetPosition(-0.03, 0.05)
swModel.ForceRebuild3 (False)
swDrawingDoc.BreakView
Debug.Print ("Break line: ")
Debug.Print (" Selected: " & swBreakLine.Select(True,
Nothing))
Debug.Print (" Style: " & swBreakLine.Style)
Debug.Print (" Orientation: " & swBreakLine.Layer)
Debug.Print (" Position: " & swBreakLine.GetPosition(0))
Stop
' Positions of the break lines are
modified, and the view is broken.
' Examine the drawing and Immediate window; press F5
status = swModelDocExt.SelectByID2("Drawing View1", "DRAWINGVIEW",
0, 0, 0, False, 0, Nothing, 0)
swDrawingDoc.UnBreakView
' The break is removed; examine the drawing
End Sub