Solidworks VBA 轴架自动化

Solidworks VBA Axlestand automation

对于一个项目,我需要自动化 Axlestand 的设计。

为此我想使一个零件的长度和直径可变。现在我发现了如何制作直径变量,因为这只是草图中的一个值,但我似乎无法让它自动化挤压深度(这是零件的长度)。

所以我的问题是;

如何使这部分的长度可变?长度等于挤压深度。

我用来制作直径变量的代码是这样的:

Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Driepoot-1@Assem1", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
Part.EditPart
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Sketch1@Driepoot-1@Assem1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Part.EditSketch
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Arc1", "SKETCHSEGMENT", 2.74859513030536E-02, -3.06463363579324E-02, 6.16380172114107E-02, False, 0, Nothing, 0)
Set myDisplayDim = Part.AddDimension2(5.72509941423576E-02, 0, -5.63921816082802E-03)
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("D1@Sketch1@Driepoot-1@Assem1", "DIMENSION", 0.051312269187431, -3.32967190067487E-02, 5.26236966313736E-02, False, 0, Nothing, 0)
Set myDimension = Part.Parameter("D1@Sketch1@Driepoot.Part")
myDimension.SystemValue = <Insert Diameter here>
Part.ClearSelection2 True
Part.SketchManager.InsertSketch True
Part.EditAssembly

希望有人能回答我的问题! :)

蒂姆

挤压深度是一个维度。通常,命名为 "dimension_name@feature_name",例如"D1@Boss-Extrude1"。因此,您可以像示例中那样更改值:

Dim myDimension As Object
Set myDimension = Part.Parameter("D1@Boss-Extrude1")
myDimension.SystemValue = val
boolstatus = Part.EditRebuild3()

UPD 更改格式。