VectorWorks プラグインコマンド

はじめに

CADソフト、VectorWorksで使っているプラグインコマンドを公開しています。
タイプとしては環境改善、機能強化の類がほとんどです。
環境はWindows7上のVectorWorks12.5(MiniCad6からの正規ユーザー)ですので、ソーステキスト(コードはShift_JIS、タブ4文字)という形にしています。
現行バージョンではすでに必要のないものもあるかと思います。
直接開いた場合は、ページのコード(UTF-8)と食い違うので指定し直してください。
ローカルへは、右クリックで保存を指定して下さい。

ドキュメントスクリプトとして十分に検証して問題が無ければ、メニュープラグインとして利用することをお勧めします。
いくつかの警告ダイアログは、プラグインのプロパティで対応することができますので、そのように設定して下さい。
利用に際して、自己責任であることは了承していただきます。
また、こちらは仮置き場で、いずれはHPへ移動する予定です。

作成した際に気付いたことを、何かの参考になればと以下のページに記しています。
VectorScriptに挑戦される方は、こちらもどうぞ。
「文字セット」の改良からはじまったVectorScript
ダイアログ・クラシック、モダン、ブラウザについて
致命的なエラーになるケースについて

VectorWorks プラグインコマンド(VectorScript)

Scale And Grid(クラシック)
Scaleandgrid 作図初期にスケールを検討するツール。
決まったスケールで描く業界の人には不用かもしれません。
ダウンロード Set_ScaleAndGrid.txt (3.5K)
簡易環境設定(クラシック)
DIALOG_Pref 個人的に作図途中でよく切り換える設定だけをまとめました。
クラシックでは近かったシステム環境と図面環境のメニューが離れてしまったこともあります。
ダウンロード DIALOG_Pref.txt (2.5K)
表示切換
View_LaC-LB 上位バージョンでしか提供されないナビゲーションパレットのように、レイヤとクラスを扱えないかと試してみました。
ノーマルバージョンは1000番台のitemIDを使用しているため、予期せぬ問題が発生する可能性がある上、試験的な内容となっています。
リストブラウザに書き換えたのがその下のものです。
ダウンロード View_LaC.txt (8.1K)
ダウンロード View_LaC-LB.txt (11.1K)
デフォルト文字設定(クラシック)
Set_DefaultText 標準機能では無選択状態の場合のみデフォルトの文字が設定できますが、どのような状態でも設定できた方が便利だと思い作りました。
個人的にフォントとサイズ以外は変更することがないので、それのみとなっています。
サイズはドロップダウンで選択できる範囲の中でよく使うものだけを、フォントは実際にはゴシック系、明朝系、一種のみしか使いませんが、汎用性を持たせて追加と削除ができるようにしています。
図面に統一性を持たせやすくしようというのは、理解していただけるところではないかと思います。
フォント種の保存先は、プログラムフォルダではなくユーザーフォルダになるようにしています。
Vista以降のUAC問題を回避する上でもその方がよいと判断しました。
新規で作成したプラグインコマンドもそちらに保存されますし、変更する可能性のあるものも同様に管理する方がよいと考えられます。
ダウンロード Set_DefaultText.txt (4.0K)
文字設定(クラシック)
Change_FontSet 選択されている対象オブジェクトの文字設定を変更します。
「文字セット」ツールの改良版という位置付けです。
フォントは予め「デフォルト文字設定」で設定しておく必要があり、対で使ってください。
グループ内のオブジェクトは分別して処理できます。
※ スケールを十分に考慮できていなかった点を修正しました。
ビューポート注釈が未編集の場合に対応できるように修正しました。
ダウンロード Change_FontSet.txt (8.8K)
選択-文字系
Select_TextObject 「文字セット」を使うには選択するツールも欲しいというのがはじまりでした。
「文字設定」を有効に使うためには、こちらで選択する必要があります。
ForEachObjectInLayerを使って書き直したものが下のバージョンです。
※ 寸法線を種類ごとに処理できるようにしました。
FEOILバージョンをビューポート注釈が未編集の場合に対応できるように修正しました。
ダウンロード Select_TextObject.txt (13.6K)
ダウンロード Select_TextObject-FEOIL.txt (12.6K)
フォントチェック(クラシック)
Check_Font 選択されている対象オブジェクトの文字設定を確認できます。
実際には、あまり使わないツールです。
※ スケールを十分に考慮できていなかった点を修正しました。
ダウンロード Check_Font.txt (8.8K)
文字を統一
SelectT_ChangeF-LB 上記3つのツールを一つにして、選択されている文字を統一する機能に書き換えたものです。
非常に複雑なツールになってしまっています。
リストブラウザに書き換えてスッキリしましたが、使い方にやや癖があります。
※ スケールを十分に考慮できていなかった点を修正しました。
リストブラウザが不安定な要因を特定、修正しました。
寸法線を種類ごとに処理できるようにしました。
ビューポート注釈が未編集の場合に対応できるように修正しました。
ダウンロード SelectT_ChangeF.txt (24.6K)
ダウンロード SelectT_ChangeF-LB.txt (18.8K)
選択-壁
Wall_WH 壁を幅と高さで選択するツールです。
下位バージョンのシンプルな壁向けです。
ダウンロード Wall_WH.txt (7.1K)
ダウンロード Wall_WH-FEOIL.txt (6.4K)
3D-Size
3Dオブジェクトの幅と高さと奥行きを取得して、アクティブなワークシートへ書き込みます。
ワークシートの関数では2Dの幅や高さは取得できますが、3Dでは表面積や体積しか取得できません。
しかし、スクリプトでは可能なことが分かり作りました。
材料サイズの計算などに使います。(業界でいうところの才数計算)
同業者ぐらいにしか必要のないツールかもしれません。
このツールのポイントとして、ハイブリットシンボルやプラグインオブジェクトを3Dと判定させるために、表示を3Dにしてやる必要があります。
ダウンロード Get3D_Size.txt (3.9K)
ダウンロード Get3D_Size-FEOIL.txt (2.8K)
3D-Size-All
図面上のすべての3Dオブジェクトを一括で処理することは可能だと分かっていましたが、修正する場合を考えると1つずつの方がよいと考えました。
しかし、あった方がやはり便利と作りました。
ForEachObjectForEachObjectInLayerを使ったバージョンもありますが、3D判定にReDrawが必要になるため処理が遅くなります。
ForEachObjectInLayerのオプションについては、リファレンスの当該項目を参照してください。
ダウンロード Get3D_Size_All.txt (3.6K)
ダウンロード Get3D_Size_All-FEO.txt (2.8K)
ダウンロード Get3D_Size_All-FEOIL.txt (5.5K)
単位別面積、単位別体積
面積や体積の単位を主単位とは違う単位系に設定して使うことがあるのですが、ワークシートのAREAVOLUME関数で取得できる値は主単位で計算されたものとなり、データパレットやツールで表示されるものと違ってしまいます。
ワークシート上で換算すればいいわけですが、これが合っているのか自信が持てないときがあります。
こんな時に確認できるように、面積、体積単位と主単位、補助単位で計算した値を表示するスクリプトを作りました。
確認しやすいように、出力はMessageにしています。
ダウンロード Area_2D.txt (2.0K)
ダウンロード Volume_3D.txt (2.4K)
3D-Move
Move_3D 2Dオブジェクトでのデータパレットの便利さを知ると、3Dオブジェクトの位置合わせ(基準点を利用するなど)は不便に感じます。
上記ツールを作る過程で、似たようなものが出来るのではないかと気付きました。
標準の移動ツールより便利かと思います。
シンボル定義やソリッドモデル内でも機能しますので、シンボルの挿入位置やソリッドの合成位置の再調整にも使えます。
微小誤差が鬱陶しい場合は、リファレンスのCreateEditRealを参照の上、editRealTypeの値を変更してみてください。
※ リストブラウザバージョンを選択時状態から使用するように変更しました。
ダウンロード Move_3D.txt (8.9K)
ダウンロード Move_3D-FEOIL.txt (7.8K)

シートレイヤを印刷・登録画面を印刷
「一括プリント」も上位バージョンでしか提供されなくなり、スクリプトで何とかならないかと考えました。
個人的な図面の描き方として、2Dの図面をデザインレイヤのみで仕上げて登録画面で印刷を管理する場合と、3Dの図面をシートレイヤで2Dへ落とし込む場合があります。
そこで、シートレイヤを順に表示して印刷するツールと、登録画面を印刷するツールを作りました。
レイヤは基本的にデザインレイヤからシートレイヤの順に表れるので、後ろから表示してデザインレイヤが表れたら終了させていたのですが、古い図面の中にはこれに反するものがあることが分かったので、結局すべてチェックするように書き直しました。
(※ 切断面のように自動で生成されるレイヤは、シートレイヤのあとに追加されるということが分かったので改めて書き直しました。)
テストで縮小印刷していたのを忘れるというミスをよくやるので、いちいち確認するようなっています。
内容は簡単なものなので、確認はいらないという人は書き直してください。
ダウンロード Sheet_Print.txt (0.9K)
ダウンロード View_Print.txt (0.5K)
数値位取り(主単位、補助単位)
こちらも「作図・編集キット」に含まれている「数値位取り」を修正して、寸法線の主単位、補助単位の位取りと解除をするツールを作成してみました。
SetDimTextを使わずに、結果的に同ツールと同じ処理を行います。
誤って、位取り後にサイズや精度などを変更して寸法値が変わると、正常に解除できなくなります。
手作業で修正することになるので、使用するタイミングに注意して下さい。
次のツールへの組み込むために作ったものです。
ダウンロード Prim_Kuraidori.txt (1.5K)
ダウンロード Second_Kuraidori.txt (2.8K)
寸法線パレット
Change_dimension データパレットでは、寸法線の種類によって扱える項目が変わります。
例えば、円寸法では寸法の見せ方や、補助単位に関わる項目が変更できません。
寸法規格を切り換えてみたりしていたのですが、スクリプトでは同じ項目の値があるのが分かったので、これで変更するスクリプトを作りました。
位取りに関しては、上記の通りの注意が必要です。
ダウンロード Change_Dimension.txt (14.5K)

最後に

以前のVectorScriptは、ユーザー間の情報交換も活発でユーザーの開発したものが本ソフトに反映されるような面もありました。
現在も、国内で活発なのはVectorWorks Club 北海道などです。
しかし、現在は有料で開発して貰うもの、作られたものは販売されるものへと、ありようが変わったように感じます。
本ソフト自体も、個人事業主や小規模な事務所には少々手が届きにくい遠い存在となったように思ってしまいます。
なお、ダウンロードされた方は、コメントを頂けると幸いです。
改造も遠慮無くどうぞ。その際も知らせてもらえると幸いです。