【DraftSight-6】線種・線色・線幅の一括選択マクロを組む(その1)。

2017年4月25日マクロ, 線種

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

前回、前々回でコマンド入力とマクロを使った一括作業を試してみました。コマンド入力については作業を効率的に進める手段として有効な方法なので、この先DraftSightでの図面の書き方を覚える上で、同時に覚えていっても良いと思います。ただマクロに関してはまだまだ不要でしょうね。

スポンサーリンク

では、なぜ前回マクロを組む記事を書いたかと言うと、DraftSightのヘルプで「コマンドリファレンス」を見ると、全ての機能にコマンドが割り当てられています。私の当初の悩みは【DraftSight-3】の記事で書いていますが、線種、線色、線幅の選択をプルダウンのメニューから個別に行うのではなく、線種の選択をすれば決まった線色、線幅も選択出来る方法は無いか?という事です。この問題をマクロで解決出来るのではないかと思い、前回、前々回の記事作成に至りました。

コマンドを調べる

従って前回、前々回と前振りが非常に長くなりました。ヘルプの「コマンドリファレンス」から線種、線色、線幅の選択に関するコマンドを調べます。・・・といっても一体どれを使って良いのか、なかなか見つかりません。「linestyle」コマンドがありましたが、これは線種の読み込みウィンドウが開くだけでした。AutoCADの場合は「CELTYPE」が線種選択コマンドになるようです。試しにDraftSightで入力してみると「SETACTLSTYLの新しい値を入力」と聞いてきます。コマンドが変わってますね。どうやらAutoCADのコマンドからDraftSightのコマンドに自動的に補完された様です。なんか、色々な意味で凄いですね。

線種選択 AutoCAD「CELTYPE」→DraftSight「SETACTLSTYL」

線色選択 AutoCAD「CECOLOR」→DraftSight「SETACTLCLR」

線幅選択 AutoCAD「CELWEIGHT」→DraftSight「SETACTLWT」

DraftSightでのコマンドは上記のようになる様です。コマンド入力後に目的の線種や線色、線幅の指定をするは、例えば線種であれば「SETACTLSTYLの新しい値を入力」と聞かれている状態で【DraftSight-2】の記事で自分の好みに合わせた線種の設定名をコマンドとして入力します。「中心線」と入力してENTERを押すと線種のプルダウンメニューが中心線に変わりました。これはいけそうです。

線色は希望の色番号を入力します。線色のプルダウンメニューから「色を指定」を選択すると、色が選択できるカラーパレットが開きます。マウスカーソールで色を指してみると、色番号が表示されます。この番号をコマンドで入力してENTERを押すと線色が変わります。

線幅はプルダウンメニュー内の線幅で「0.00mm~2.11mm」がありますが、小数点を除いた数値をコマンドで入力します。0.09mmであれば「9」です。

マクロとして書いてみる

上記の内容に基づき、マクロを書くと以下になります。例として「中心線、色番号8、幅0.09mm」です。

^C^C_CELTYPE;中心線;CECOLOR;8;CELWEIGHT;9;

最初の「^C」はESC(キャンセル)になります。他のコマンドの入力中や機能の実行中だった場合は、それを先にキャンセルさせてからマクロを実行させます。

ようやく線種の選択と同時に線色、線幅も選択させるという機能が実現出来そうです。残るは【DraftSight-5】で行ったマクロの登録とツールバーへの追加です。

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

Posted by 管理人