MACRO LIBRARY

Lesson 4.1 sketch creation code

Free public access. No account or subscription required.

Files

Lesson 4.1 sketch creation code

Code

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSketchMgr As SldWorks.SketchManager
Dim swSketchSeg As SldWorks.SketchSegment
    
Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swSketchMgr = swModel.SketchManager
    
    'turn off "input dimension value" option
    swApp.SetUserPreferenceToggle swInputDimValOnCreate, False
    
    'select front plane and insert sketch
    swModel.Extension.SelectByID2 "Front Plane", "PLANE", 0, 0, 0, False, 0, Nothing, 0
    swSketchMgr.InsertSketch True
    
    'turn on direct addition to database
    swSketchMgr.AddToDB = True
    
    'create sketch entities
    Set swSketchSeg = swSketchMgr.CreateLine(0, 0, 0, 0, 0.05, 0)
    swModel.SketchAddConstraints "sgVERTICAL2D"
    swModel.AddVerticalDimension2 -0.01, 0.025, 0
    
        'make first sketch pt coincident with origin; first select both then add relation
        swModel.Extension.SelectByID2 "", "SKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0
        swModel.Extension.SelectByID2 "", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0
        swModel.SketchAddConstraints "sgCOINCIDENT"
    
    swSketchMgr.CreateTangentArc 0, 0.05, 0, 0.05, 0.05, 0, 1
    swModel.AddDimension2 0.025, 0.08, 0
    
    swSketchMgr.CreateLine 0.05, 0.05, 0, 0, 0, 0
    swModel.AddHorizontalDimension2 0.05, 0.025, 0
    
    swSketchMgr.CreateCircle 0.025, 0.05, 0, 0.03, 0.05, 0
    swModel.AddDimension2 0.025, 0.065, 0
    
    'turn on direct addition to database
    swSketchMgr.AddToDB = False
    
    'turn on "input dimension value" option
    swApp.SetUserPreferenceToggle swInputDimValOnCreate, True
End Sub