SolidWorks 使い方 入門

ソリッドワークス
メール

3Dプリンターのデータ作成、修正、造形 株式会社 サンエツ

class SolidWorksMacroの編集
class SolidWorksMacroのコード編集
今回は「class SolidWorksMacro」を中心に解説します。 「class captuer」と「class Form1」はC#に精通している方にとっては非常に簡単なコードですので、 触る程度にします。
「class SolidWorksMacro」のコード解説
  1. swDoc.Extension.SelectByID2("回転1", "SOLIDBODY", 0, 0, 0, false, 1, null, 0);

    "回転1"を選択します。このコードは選択が成功すれば、trueを出力しますのでブーリアンの変数 を付けておけば選択を失敗したときのエラー処理が簡単です。今回のサンプルではブーリアンの 変数は省略してあります。

    こんな感じにすると、trueかfalseの見分けが付きます。

    bool bl;
    bl=  swDoc.Extension.SelectByID2(
    "回転1" "SOLIDBODY" , 0, 0, 0, false , 1, null , 0);


  2. Feature myFeature = null;

    フィーチャーオブジェクトの作成(フィーチャーの入れ物)


  3. myFeature = ((Feature)(swDoc.FeatureManager.InsertMoveCopyBody2(((double)(i)) / 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, false, 1)));

    「InsertMoveCopyBody2」は選択した"回転1"のボディ移動フィーチャーを作成します。 第一引数にXの移動距離 、第二引数にY方向の移動距離、第三引数にZ方向の移動距離を割り当てます。 サンプルは単純にX方向に平行移動ですが、Y=XとかY=X*Xなどの式を活用すればいろいろな動作を作成 出来ます。


  4. swDoc.Extension.SelectByID2("ボディ-移動", "BODYFEATURE", 0, 0, 0, false, 0, null, 0);

    ボディ移動フィーチャーはループで平行移動の量を大きくするため、ループで毎回作成と削除を行いますので、 上記のコードでボディ移動フィーチャーを選択しておきます。このコードも選択に成功するとtrueを出力します。


  5. System.Threading.Thread.Sleep(2000);

    コンピューターの能力上一度停止しないと安定して、 ボディ移動の削除と作成が出来ませんので2秒停止してあります。 私のPCはノート型ですので少し非力で1200ミリ秒位停止しないと安定しません、 安全のために2000ミリ秒にしましたが、皆さんのPCではおそらくもっと短くしても大丈夫でしょう。


  6. captuer gr = new captuer();

    「class captuer」を作成します。


  7. gr.capt(i);

    「class captuer」に変数の値を渡します。サンプルは単純にループカウンターを渡していますが、 球体の移動に変化を付けたい場合は、変数を工夫してください。 ココで変更しない場合は「class captuer」の中で変更しても構いません。 但し、サンプルではループの中で「class captuer」を作成しますので「class captuer」の中身は毎回初期化されます。


  8. swDoc.EditDelete();

    選択状態のモデルドックを削除します、サンプルで選択状態になっているのは「ボディ移動」です。


  9. for (int i = 0; i <= 100; ++i)

    以上の動作を101回繰り返します。


今回作成するコードの全文

「class Form1」

Form1はサンプルでは「スタート」ボタンしかありませんが、画像のようにすると便利です。 時間のある方はオリジナリティなものを作成してください。

Form1は通常のC#ですから特に解説はしません。

「class captuer」

せっかくですからこちらも、時間のある方は軌跡の点などを付けてお客様へのアピール度を上げてみてください。
「class captuer」も通常のC#ですから特に解説はしません。
あとは保存された画像を全部繋げて動画ファイルに変換すれば完了です。 コチラはC#だと記述に時間がかかりますので、皆さんが普段使っている動画編集のソフトを利用した方が 簡単です。
今回のサンプルは以上です。おつかれさまでした。
前のページに戻る場合はコチラ↓
基本操作編INDEXに戻る場合はコチラ↓
株式会社 サンエツ
〒252-1121 神奈川県綾瀬市小園883-1
TEL :0467-76-7228
FAX :0467-77-3448
E-mail :info@sanetu.main.jp
URL : http://sanetu.main.jp