SolidWorks API Community

Unofficial User Site

処理の流れ

次に、処理の流れを簡単に説明します。
すべて細かく説明すると大変なので、かい摘んで説明します。

基本的な流れとしては、
1.SolidWorksに接続
2.編集する対象を取得
3.編集
といった流れとなります。

では、実際のコードを解説してみましょう。

Set swApp = _
Application.SldWorks

SolidWorksに接続します。swAppには、SldWorksオブジェクトが格納されます。
SolidWorksを制御する上で、必ず必要になる処理です。

Set Part = swApp.ActiveDoc

現在のドキュメントを取得します。Partには、ModelDoc2オブジェクトが格納されます。

boolstatus = Part.Extension.SelectByID2("正面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)

"正面"を選択します。成功したかをboolstatusへ戻します。

Part.SketchManager.InsertSketch True

スケッチを挿入します。スケッチが開かれた状態の場合は、スケッチを終了します。
(よって、何回か出てきます。)

Part.ClearSelection2 True

すべての選択を解除します。

vSkLines = Part.SketchManager.CreateCornerRectangle(0, 0, 0, 0.1320584580134, 0.109642631192, 0)

矩形を描きます。描かれたスケッチ要素(直線4本)を配列としてvSkLinesに格納します。

Part.ShowNamedView2 "*不等角投影", 8

モデルの表示を"不等角投影"に切り替えます。初回の押し出し時のみSolidWorksが自動で行う部分ですね。

boolstatus = Part.Extension.SelectByID2("スケッチ1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)

作成したスケッチを選択します。成功したかをboolstatusへ戻します。

Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.05, 0.01, False, False, False, False, 0.01745329251994, 0.01745329251994, False, False, False, False, True, True, True, 0, 0, False)

押し出しを作成し、結果をmyFeatureへ戻します。myFeatureにはFeatureオブジェクトが格納されます。



といった感じです。

この中で、矩形を描くCreateCornerRectangleと押し出しを作成するFeatureExtrusion2の部分にて、
値を変えることで任意の大きさで押し出し形状を作成するマクロへと編集してゆきます。

では、次で具体的な方法を挙げてみましょう。