0

プロジェクトでは、車軸スタンドの設計を自動化する必要があります。

このために、1 つのパーツの長さと直径を可変にしたいと考えています。これはスケッチの値にすぎないため、直径を可変にする方法を見つけましたが、押し出しの深さ (部品の長さ) を自動化するように動作させることができないようです)。

私の質問は次のとおりです。

この部分の長さを可変にする方法を教えてください。長さは押し出し深さと同じです。

直径を変数にするために使用したコードは次のとおりです。

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

誰かが私の質問に答えてくれることを願っています! :)

ティム

4

1 に答える 1

0

押し出し深さは寸法です。通常、"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 フォーマットを変更しました。

于 2015-06-28T08:15:26.453 に答える