SolidWorks 使い方 入門

ソリッドワークス

株式会社 サンエツ

SolidWorks API 入門編
少し役に立ちそうなアプリケーションの作成(その1)

今回は少し実用的なアプリケーションを作成します。言語はC#です。VB.NETもC#も dimとかsubとか変数の宣言が逆、C#は礼儀正しく書くこと以外はほとんど同じです。

最近は「WEB」関係のプログラムが必須の時代になりました。よって簡単な言語では「Java」、 「JavaScript」、「PHP」などが主流になり「VB.NET」や「C#」はあまり使われません。 そこで「Java」や「JavaScript」にそっくりな「C#」を使用します。

プログラムの概要

図面で寸法や形状、加工等には全く関係のない項目を変更した場合でも、ファイルを 保存したら「更新日」が変更されて最終図面がどれなのかわからなくなってしまうことが あります。 例えば、
  1. 図面のバルーンのフォントを「MSゴシック」から「メイリオ」に変更しただけとか
  2. 寸法の位置を見やすいように少し移動しただけとか
上記のような内容だけでいつも更新日が変更されてしまうと、もし客先に図面を提出する場合 などは、変更のたびに客先に図面を提出しなければなりません、お客もいちいち図面の差し替え をするのは「面倒だな~」なんて言われることもあるかもしれません。 そこで、リビジョンアップしたときだけ更新日が変更されるようなアプリケーションを作成しましょう。

プログラム作成の準備

今回のプログラムはマクロの記録を一部利用します。図面のテンプレートの改造もします。
  1. 図面を開いて図面に「リビジョンテーブル」と「カスタムテーブル」を「画像1」のように設置します。 設置場所はみなさんの好みの場所に置いてください。
  2. 「リビジョンテーブル」はそのままにします。
  3. 「カスタムテーブル」は2行にして一番目は「更新日」と記入してください。テーブルに合わせて 周囲の線を引きます。
  4. 図面のテンプレートが完成したら「指定保存」でファイルの種類を「図面テンプレート」にして 名前を付けて保存します。
  5. 「swDoc.Extension.SelectByID2」で「リビジョンテーブル」と「カスタムテーブル」の名前を 取得しますので、「マクロの記録」で「リビジョンテーブル」と「カスタムテーブル」 を選択してコードを表示してください。
  6. 「リビジョンテーブル」と「カスタムテーブル」の 「boolstatus = swDoc.Extension.SelectByID2」で第一引数と第二引数をメモ帳等にコピペ してください。一行丸々コピペでも結構です。
  7. 上記の作業が終ったら作成したマクロは削除してください。
  8. 「新規マクロの作成」で名前を付けて適当な場所に保存してください。 私は名前を「updatewrite」としました。「C#」ですので拡張子は「csproj」です。
画像1

画像をクリックすると拡大図を別窓に表示します。

  SelectByID2の名前の取得
プログラムを実行して直「リビジョンテーブル」と「カスタムテーブル」を変更するのも 少し変ですので,実行ボタンをクリックしたら下の画像のようなメッセージボックスを表示するコード を追加します。これで変更する場合としたくない場合の選択ができる ようになりました。おおかたアプリケーションにはこのような機能が付いている と思います。
コードは下記のようになります。
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System.Runtime.InteropServices;
using System;
using System.Windows.Forms;

namespace updatewrite.csproj
 {
     public partial class SolidWorksMacro
   {
  public SldWorks swApp;
    public void Main()
     {
    //メッセージボックスを表示する
    DialogResult result = MessageBox.Show("更新日を変更しますか?",
    "確認",
     MessageBoxButtons.YesNo,
     MessageBoxIcon.Exclamation);
     if (result ==DialogResult.Yes )
      {
     //何もしない
      }
     else if (result == DialogResult.No)
      {
     return;
      }
    }
  }
}
この状態で実行してみると、メッセージボックスが表示されるだけで何も起こりませんが 確認のため一度実行したら保存して閉じます。「SelectByID2」の名前をコピペしたメモ帳 も保存しておいてください。
このページではプログラムするための下準備をしました、次のページでは 「class SolidWorksMacro」の解説をまじえて編集をします。
基本操作編INDEXに戻る場合はコチラ↓
株式会社 サンエツ
〒252-1121 神奈川県綾瀬市小園883-1
TEL :0467-76-7228
FAX :0467-77-3448
E-mail :info@sanetu.main.jp
URL : http://sanetu.main.jp