【DraftSight-12】線をまとめて選択して一括で変更する。

2017年5月11日マクロ, 線種

!注記!
2019年3月19日、「DraftSight2019 SP0」が公開されましたが、Windows版については無料版が無くなり、有料版のみでの提供となった様です。詳しくは前書きに記載しています。
また各記事内でDraftSightのダウンロード先としているリンクも、DraftSightの最新バージョンのみが公開されており、旧バージョンはダウンロード出来ません。

【DraftSight-6】と【DraftSight-7】で、線種、線色、線幅を一括で選択出来るようにマクロを組み、その機能をボタンに割り当ててツールバーに表示させました。これで画層は線種などの選択ではなく、部品などで分けて使っていけそうです。しかし線に関してもう1つ気になる事が出てきました。

スポンサーリンク

線種などの一括「変更」

それは既存の図面や、機械要素の部品メーカーのCAD図面データなどから自身の図面に取り込む(コピペする)場合です。【DraftSight-6】と【DraftSight-7】で自分(あるいは会社内など)の線の取り決めをしたので、上記の様に外部から図面を取り込んだ時は自分の取り決めに合わせて線種などを変更する必要があります。DraftSightのデフォルトの状態では変更したい線を選び、ツールバーかプロパティで目的の線種などを選択すれば変更可能ですが、ここでもまた線種、線色、線幅と別々に選択しなければいけません。画層を使って線種などを設定している場合は、目的の画層に持って行けば良いのでしょうけど。この件に関してもマクロを組む事で一括変更出来るようにしました。

「変更」に使用するコマンドは?

ポイントは既に「引かれている線」の線種など(プロパティ)を変更する際に、線(エンティティ)の選択自体はマウスで簡単に行えますが、その後の変更コマンドは何かあるのか?という事です。ヘルプを見ても、というか探す気力が湧かないのでAutoCADでのコマンドを検索してみます。どうやらAutoCADには「change」コマンドがプロパティ変更の様です。DraftSightで「change」と打ってみると「MODIFY」と補完されます。相変わらずエグい・・・。

「MODIFY」と打ってリターンキーで決定すると「エンティティを指定」待ちになります。マウスでエンティティを選択するのですが、「MODIFY」→リターン→「エンティティ選択」→リターンでは手間が多いですし、これから組むマクロも面倒な感じになりそうです。しかし「MODIFY」コマンドは先にエンティティを選択しておく事も可能で、マウスでエンティティを選択後に「MODIFY」コマンド以降をマクロで一括処理した方が楽です。「MODIFY」コマンド後は「新規の点を指定」となりますが、オプションの「P」を打つとプロパティの選択になります。さらに画層や線種、線色などのオプションを打つことでそのオプションの内容が変更出来る様になります。

変更後は「P」を打った後のオプション選択に戻るので、別の変更を繰り返し行えます。

上記は線色を「1」に変更した後の状態です。再びオプション指定の状態になっています。

一連の「変更」コマンドを書いてみる

私が取り決めた「外形線(実線、緑色、幅0.15mm)」に変更するには、エンティティを選択後に、

「MODIFY」→「エンター」→「P」→「エンター」→「C(色)」→「エンター」→「3(緑)」→「エンター」→「ST(線種)」→「エンター」→「実線2」→「エンター」→「W(線幅)」→「エンター」→「0.15」

文字で書くと長いですね。マクロの場合エンターは「;」なのでマクロで表現すると

MODIFY;p;c;3;st;実線2;w;0.15

となります。線幅の「0.15」の後にエンター(もしくはキャンセル)を入れると「MODIFY」コマンドが終了しますが、あえて入れていません。これはマクロをボタンに割り当てて一括で変更した後に、ボタンの押し間違いなどで他の変更マクロのボタンを改めて押す可能性がある為です。コマンドを終了してしまうとエンティティの選択も解除されてしまい、再度エンティティを選択しなおさなければなりません。

とりあえず【DraftSight-6】と【DraftSight-7】で線種などの「一括選択」で作った物と同じ形で「一括変更」を作ります。注意が必要な点があり、「一括選択」の時の線幅指定は小数点無しの数値(0.15であれば15)だったのが「一括変更」の「MODIFY」の時はそのまま(0.15)です。なぜ違うのでしょうね。

  • 外形線 MODIFY;p;c;3;st;実線2;w;0.15
  • 中心線 MODIFY;p;c;8;st;中心線2;w;0.09
  • 隠れ線 MODIFY;p;c;150;st;隠れ線2;w;0.09
  • 想像線 MODIFY;p;c;2;st;2点鎖線;w;0.09
  • 細線  MODIFY;p;c;8;st;実線2;w;0.09
  • 購入品 MODIFY;p;c;7;st;実線2;w;0.13
  • 寸法線 MODIFY;p;c;8;st;実線2;w;0.09
  • 図枠線 MODIFY;p;c;1;st;実線2;w;0.20

「一括選択」の時は頭に^C^Cとキャンセルを入れましたが、これを入れてしまうと折角選択したエンティティがキャンセルされてしまうので入れていません。

スポンサーリンク

マクロを登録してツールバーを追加する

ツールバーも新たに追加します。アイコンは面倒なので使い回しです。しかし2つのツールバーを並べると、どっちがとっちか分かりません。そこで新しいコマンドを作り、名前を「ツールバーの名前」にします。コマンドとアイコンは設定しません。説明はあっても無くても可です。このコマンドを作成したツールバーの先頭に表示させる事でツールバーの「表題」としました。クリック出来ますが、コマンドの設定をしていないので無反応です。

1つ面倒なのは上記2枚目の「表題」として選択用コマンドと変更用コマンドを設定後、一度「適用」→「OK」でウィンドウを閉じないと、次の3枚目でツールバーへの追加の際にコマンドエクスプローラに出てこない事です。

動作確認をする

では、実際に試してみます。まずはエンティティを選択します。

選択した状態でツールバーのボタンをクリックすると

線種、線色、線幅が全て変更されます。「MODIFY」コマンドは継続中でエンティティも選択されたままなので、続けて別のボタンをクリックすればさらに変更されます。

あ、2回目以降はプロパティの選択待ちの状態ですが、マクロは改めて「MODIFY」から始めてしまうので「MODIFY」と「P」は無効なコマンドになってしまっています。正式なプロパティ選択の「C」以降はコマンドが通っているので、結果としては問題ない形になっています。

もう少し高級なコマンドを使って、エンティティの選択状態から「MODIFY」あるいは途中の「C」から始めるという事も出来るのでしょうけど、今はまだ手探りなのでこのままで。必要無い気もしますけどね。


2017-05-12追記

AutoCADの「change」コマンド、DraftSightでは「MODIFY」コマンドになりますが、このコマンドでは上記に書いた通りコマンド後に「新規の点を指定」となり、ここでオプションの「P」を選択する事になります。AutoCADには「change」ではなく「chprop」というコマンドを使うと、直接オプションの「P」を選択した状態になるようです。DraftSightではどうなるのか試しました。

「MODIFYPROPERTIES」と補完されました。実際に既に書かれている線(エンティティ)のプロパティ変更を行ってみると、

「新規の点を指定」が無くなり、オプションの「p」を選択した後の状態になっています。このコマンドを使えば「MODIFY;p;c;3;st;実線2;w;0.15」の「p;」の部分が不要になりますね。改めて書き直すと

MODIFYPROPERTIES;c;3;st;実線2;w;0.15

・・・う~ん、コマンド自体が長いので簡単になった印象が全くありません。AutoCADの「chprop」を使っても補完されるので「MODIFYPROPERTIES」を使わなくても良いのですけど、最初の「MODIFY」コマンドから見ても「p;」が省かれるだけなので、私は面倒なので「MODIFY」のままにしておきます。

※各記事はWindows 64bit版のDraftsight、またはUbuntu版のDraftSight(ベータ)で確認して書いていますが、記事公開時のDraftsightのバージョンによって、あるいは他のOS向けDraftsightでは仕様が異なる部分があるかもしれません。また確認不足による間違いや勘違いなどがあるかもしれません。その場合は御容赦願います。
※DraftSightおよびDraftSightロゴは、Dassault Systemesの米国およびその他の国における登録商標です。その他、全てのブランドおよびブランドロゴ、製品名は各所有者の商標または登録商標です。

Posted by 管理人