Change Dimension Example (VB.NET)
This example shows how to modify dimension
values of an existing SolidWorks part.
Metric and English:
Most of the API functions operate in meters. Therefore, if you pass in XValue_Passed = 2.0,
and your part file units are millimeters, then it
will appear as a 2000.0 in the part. If you need to determine the units
used in the part file, you can use the IModelDoc2::LengthUnit property
and perform the appropriate conversion.
'----------------------------------------------------------------------------
' Preconditions: Specified file to open exists.
'
' Postconditions:
' 1. Part opens.
' 2. Specified dimension parameter of the selected feature is modified.
'
' NOTE: Because the specified document is used elsewhere,
' do not save changes when closing it.
'----------------------------------------------------------------------------
Imports
SolidWorks.Interop.sldworks
Imports
SolidWorks.Interop.swconst
Imports
System.Runtime.InteropServices
Imports
System
Imports
System.Diagnostics
Partial
Class
SolidWorksMacro
Dim
swModel As
ModelDoc2
Dim
swFeature As
Feature
Dim
swSelectionManager As
SelectionMgr
Dim
swDim As
Dimension
Dim
fileName As
String
Dim
boolstatus As
Boolean
Dim
errors As
Integer
Dim
warnings As
Integer
Sub
main()
fileName = "C:\Program Files\SolidWorks
Corp\SolidWorks\samples\tutorial\api\assem2.sldasm"
swModel = swApp.OpenDoc6(fileName,
swDocumentTypes_e.swDocASSEMBLY, swOpenDocOptions_e.swOpenDocOptions_Silent,
"",
errors, warnings)
boolstatus = swModel.Extension.SelectByID2("LocalCirPattern1",
"COMPPATTERN",
0, 0, 0, False,
0, Nothing,
0)
swSelectionManager = swModel.SelectionManager
swFeature = swSelectionManager.GetSelectedObject6(1, -1)
swDim = swFeature.Parameter("D3")
' Change D3 of LocalCirPattern1
from 360 degrees to 270 degrees (4.72 radians)
errors = swDim.SetSystemValue3(4.72,
swSetValueInConfiguration_e.swSetValue_InThisConfiguration,
Nothing)
swModel.EditRebuild3()
swDim = swFeature.Parameter("D3")
Debug.Print("D3 for
LocalCirPattern1 is " & swDim.SystemValue)
End
Sub
Public
swApp As
SldWorks
End
Class