SolidWorks 使い方 入門

ソリッドワークス
メール

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

SolidWorks API マクロで図面に注記を自動挿入
マクロで図面に注記を入れよう。(その1)
部品図などは同じ文字列を連続して記入したい場合があります。 そのような時に皆さんはどのようにしていますか? メモ帳などテキストエディタなどに記入してコピペしてなんてことをしてませんか? それは正しいことですね~~~。 但し、今回はAPIの練習ですから、マクロを利用したいと思います。
下の画像はAPIを利用して図面に文字列を記入しました。
下のコードは「class SolidWorksMacro」のコードです。 文字を図面に記入するだけのコードです。
public partial class SolidWorksMacro
    {
        public SldWorks swApp;
        public void Main()
        {
            ModelDoc2 swDoc;
            swDoc = (ModelDoc2)(swApp.ActiveDoc);
            Note myNote;
            Annotation myAnnotation;
            //アノテートアイテムで使用されるテキストのフォーマット
            TextFormat myTextFormat;
            //InsertNoteはこのドキュメントに注記を挿入します。
            myNote = (Note)(swDoc.InsertNote("文字列のテスト"+
            System.Environment.NewLine + "このように文字を記入します。"));              
            //GetUserPreferenceTextFormatは
            //ドキュメントデフォルトのユーザー選択値を入手できます。
            myTextFormat =(TextFormat)
            (swDoc.GetUserPreferenceTextFormat(0));
            //フォントの高さを単位メートルで入手または設定します。
            myTextFormat.CharHeight = 0.008;
            //Annotationオブジェクトを入手します。
            myAnnotation = (Annotation)(myNote.GetAnnotation());
            //Annotationオブジェクトの位置の設定
            myAnnotation.SetPosition(0.03, 0.18, 0);
            //Annotationオブジェクト情報を設定します。
            myAnnotation.SetTextFormat(0, false, myTextFormat); 
        }  

上記のコードの解説

  1. TextFormat myTextFormat;

    アノテートアイテムで使用されるテキストの入れ物の作成


  2. InsertNote()

    注記挿入するメソッド


  3. GetUserPreferenceTextFormat(0)

    文字の形式を設定します。 「swUserPreferenceTextFormat_e」で指定された数字を引数に入れます。 今回指定した0はバルーンの数字です。


  4. CharHeight

    注記の文字の高さを設定します。単位はメートル


  5. GetAnnotation

    Annotationの中に入っているものを入手します。


  6. SetPosition

    Annotationに入っているものの位置を設定します。


  7. SetTextFormat

    Annotationオブジェクト情報を設定します。 第一引数は「インデックス番号」今回は一つしかありませんので0です。 第二引数は「デフォルト設定を使用するならばTRUE、そうでなければFALSE」 今回はFALSEです。 第三引数は上の方で設定した「myTextFormat」を入力します。


  8. Process.Kill()

    フォームを閉じてもプログラムが終了しマシンの出最後にプロセスキルで終了します。


上記コードの動作確認

Form1を追加して図面に注記を入れる

上記のコードだけでは何の役にも立ちませんので、 Form1を追加していろいろな注記を入れることができるようにしましょう。
  1. フォームに「listView」と「label」を3個、「textBox」3個、「button」を1個貼り付けましょう。


  2. listViewデザイナ画面でコラムヘッダーを作成しました。 他のコントロールもデザイナ画面で変更しました。


  3. 注記が完了したかを知らせるために、Form2を追加して「注記完了」のメッセージを表示します。


各コントロールのTextプロパティです、デザイナ画面で変更しました。
コントロール名
label1
label2
label3
textBox1
textBox2
textBox3
button1
Text名
規格
コメント
親番号
登録
今回はここまでです。 次回はフォームのコードを書いてみます。 listViewを使っていますので少し長いコードになります。
前のページに戻る場合はコチラ↓
基本操作編INDEXに戻る場合はコチラ↓
LINEで送る