SolidWorks 使い方 入門
ソリッドワークス株式会社 サンエツ
いつも通りオブジェクトの作成と変数の分を記入します。
ModelDoc2 swDoc = null;のちほどリビジョンテーブルの追加日時を取得するために、 テーブルアノテーションを作成しておきます。
TableAnnotation myTable = null;;変数 swDocに現在アクティブなドキュメントを代入します。
swDoc = ((ModelDoc2)(swApp.ActiveDoc));シート情報を入手したり設定したりするための入れ物の作成です。
Sheet currentSheet = null;リビジョンテーブルのアノテートアイテムを入手するための入れ物を作成します。
RevisionTableAnnotation myRevisionTable = null;現在のアクティブな図面操作を可能にします。
swDrawing = ((DrawingDoc)(swDoc));「GetCurrentSheet()」このメソッドは現在アクティブな図面シートを取得します。
currentSheet = ((Sheet)(swDrawing.GetCurrentSheet()));「RevisionTable」このプロパティはこの図面シートのリビジョンテーブルを入手します。
myRevisionTable = ((RevisionTableAnnotation)(currentSheet.RevisionTable));「AddRevision("")」はリビジョンテーブルにリビジョンを付加するメソッドです。
longstatus = myRevisionTable.AddRevision("");「Note」は注記オブジェクトです。注記の情報を入手することができます。 ここで注記オブジェクトを作成します。
Note myNote = null;アノテートアイテムのオブジェクトを作成します。
Annotation myAnnotation = null;図面にリビジョン記号を挿入します。「InsertRevisionSymbol(0, 0)」の第一引数はX座標、第二引数 はY座標です。
myNote = ((Note)(swDrawing.InsertRevisionSymbol(0, 0)));リビジョンの値(注記)をアノテートアイテムに変換して変数に格納します。
myAnnotation = ((Annotation)(myNote.GetAnnotation()));リビジョンテーブルを選択出来たらboolstatusにtrueを代入します。メモ帳に記録したSelectByID2 の名前を第一引数に入れてください。私の環境では「"詳細アイテム17@シート1"」になっています。
boolstatus = swDoc.Extension.SelectByID2("詳細アイテム17@シート1", "REVISIONTABLE", 0, 0, 0, false, 0, null, 0);最初のほうで作成した「myTable」は以下のコードで作成するようです、 調べてみましたがよくわかりませんでした。サンプルをコピペしました。都合のよいときに私に教えてください。
myTable = (TableAnnotation)(swDoc.ISelectionManager.GetSelectedObject5(1));myTableに値が入ったらテーブルの行数を調べて最後の行の文字列を取得します。
int rowcount = myTable.RowCount;アノテーションテーブルを選択します。選択が完了するとboolstatusがtrueになります。 コチラもメモ帳で保存した名前を記入してください。ちなみに私の環境では「"詳細アイテム21@シート1",」 になっています。
boolstatus = swDoc.Extension.SelectByID2("詳細アイテム21@シート1", "ANNOTATIONTABLES", 0, 0, 0, false, 0, null, 0);今度はカスタムテーブルですのでTableAnnotationの入れ物を初期化します。S
TableAnnotation myTable1 = null;次のコードもサンプルをコピペしました。よくわかりませんが、このコードがないと動きません。
myTable1 = ((TableAnnotation)(swDoc.ISelectionManager.GetSelectedObject5(1)));myTable1に先ほど取得した文字列を表示します。「set_Text」メソッドは文字列をセットします、 第一引数は行のインデックス、第二引数はコラムのインデックス、第三引数に文字列をセットします。
myTable1.set_Text(1, 0, dt);選択状態を解除します。
swDoc.ClearSelection2(true);