Page 165 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼線色、線種変更を手軽にしたい。 サトウ 16/03/05(土) 22:57 ┣Re(1):線色、線種変更を手軽にしたい。 kojima 16/03/06(日) 0:12 ┣AutoItによるホットキーセット kojima 16/03/06(日) 20:44 ┣Re(1):線色、線種変更を手軽にしたい。 LA 16/03/07(月) 0:09 ┗Re(1):線色、線種変更を手軽にしたい。 Fu〜 16/03/23(水) 0:36 ─────────────────────────────────────── ■題名 : 線色、線種変更を手軽にしたい。 ■名前 : サトウ ■日付 : 16/03/05(土) 22:57 -------------------------------------------------------------------------
「線」もしくは「円」を書いてる最中に「線色」「線種」をキーボードのボタン一つで変更したい。 現在使用している線の種類は下記の組み合わせで6種類。 線色1と実線 線色2と実線 線色1と点線1 線色2と点線1 線色1と1点鎖1 線色2と1点鎖1 単純な図面を書いていますので、レイヤー少し面倒です。 キーボードの「Tab」を押しながら属性取得もありますが・・・。 「設定」→「基本設定」→「KEY」のコマンド割当て見たいに出来る方法はないでしょうか? |
○スクリプト言語AutoITやAHKの知識があれば、ホットキー機能で、特定のキーにマクロを割り当てられますが、ハードルが高いかも? ○6種類ならば、あらかじめ図面の隅に6種類の線色線種の線を描いておく。 レイヤ分けもしておく。 線上で真下にドラッグ(属性取得)させることで、線色・線種・レイヤの切り替えが同時にできます。 ○環境設定ファイルJW_WIN.jwfの以下の項目の記述内容でレイヤを切り替えれば設定した線色・線種に切り替わります。 #◎レイヤーごとの線色の既定値設定(初期値:「0」) # 書込レイヤーを変えた時、指定した線色に切替わります。 # 0 を指定すると線色の切替えを行いません。( 0〜9 9は補助線) # # 記述例 # グループ|← レイヤ →| # ↓ (0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(a)(b)(c)(d)(e)(f) LAYCOL_0 = 1 2 3 4 5 0 0 1 0 0 0 0 0 0 0 0 LAYCOL_1 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_2 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_3 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_4 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_5 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_6 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_7 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_8 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_9 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_B = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_C = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_D = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_E = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYCOL_F = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 # ↑ # FグループFレイヤの線色を3に設定した例 # #◎レイヤーごとの線幅の既定値設定(初期値:「-1」) #※※※※「線幅を1/100mm単位とする」の設定の場合に有効 ※※※※ # 書込レイヤーを変えた時、指定した線幅に切替わる( (-2)〜30000 )。 # a.(-2)を指定すると、レイヤーごとの線色により線色が変更されても線幅は変更され # ない。 # b.(-1)を指定すると、線幅は線属性ダイアログで設定されている現在の線色 # (レイヤーごとの線色により変更された線色)に対する線幅に変更される。 # c.(0)〜(30000)を指定すると、レイヤーごとの線幅の指定値になり、現在の線色 # (レイヤーごとの線色により変更された線色)に対する線幅が指定値に変更される。 # # 記述例 # グループ|← レイヤ →| # ↓ (0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(a)(b)(c)(d)(e)(f) LAYWID_0 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_1 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_2 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_3 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_4 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_5 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_6 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_7 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_8 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_9 = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_A = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_B = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_C = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_D = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_E = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 LAYWID_F = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # # #◎レイヤーごとの線種の既定値設定(初期値:「0」) # 書込レイヤーを変えた時、指定した線種に切替わります。 # 0 を指定すると線種の切替えを行いません。( 0〜19 ただし、10を除く) # # 記述例 # グループ|← レイヤ →| # ↓ (0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(a)(b)(c)(d)(e)(f) LAYTYP_0 = 5 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 LAYTYP_1 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_2 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_3 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_4 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_5 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_6 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_7 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_8 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_9 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_B = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_C = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_D = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_E = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LAYTYP_F = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 # ↑ # FグループFレイヤの線種を3に設定した |
AutoItスクリプトによるホットキーセット(AutoItのインストールが必要) AutoItのダウンロード先 http://blog.livedoor.jp/blackcode/archives/1224220.html 以下の文をコピペした後、全角スペースを半角スペースに一括置換する。 ファイル名をlclt.au3 として適当なフォルダに保存する。 jwwを起動後にlclt.au3をダブルクリックしてスクリプトを起動させる。 F1→線色1線種1 F2→線色1線種2 F3→線色1線種5 F4→線色2線種1 F5→線色2線種2 F6→線色2線種5 に割り当てられています。 jwwを終了するとlclt.au3も終了します。 以下の文をコピペした後、全角スペースを半角スペースに一括置換する。 ↓ Opt("WinTitleMatchMode",2) WinActivate("jw_win") WinWaitActive("jw_win") HotKeySet("{F1}",Lc_s1) HotKeySet("{F2}",Lc_s2) HotKeySet("{F3}",Lc_s3) HotKeySet("{F4}",Lc_s4) HotKeySet("{F5}",Lc_s5) HotKeySet("{F6}",Lc_s6) WinWaitClose("jw_win") Func Lc_s1() WinMenuSelectItem("jw_win","","設定","線属性") WinWaitActive("線属性") ControlFocus("線属性","","Button3") ControlClick("線属性","","Button3") ControlFocus("線属性","","Button12") ControlClick("線属性","","Button12") ControlFocus("線属性","","Button1") ControlClick("線属性","","Button1") EndFunc Func Lc_s2() WinMenuSelectItem("jw_win","","設定","線属性") WinWaitActive("線属性") ControlFocus("線属性","","Button3") ControlClick("線属性","","Button3") ControlFocus("線属性","","Button13") ControlClick("線属性","","Button13") ControlFocus("線属性","","Button1") ControlClick("線属性","","Button1") EndFunc Func Lc_s3() WinMenuSelectItem("jw_win","","設定","線属性") WinWaitActive("線属性") ControlFocus("線属性","","Button3") ControlClick("線属性","","Button3") ControlFocus("線属性","","Button16") ControlClick("線属性","","Button16") ControlFocus("線属性","","Button1") ControlClick("線属性","","Button1") EndFunc Func Lc_s4() WinMenuSelectItem("jw_win","","設定","線属性") WinWaitActive("線属性") ControlFocus("線属性","","Button4") ControlClick("線属性","","Button4") ControlFocus("線属性","","Button12") ControlClick("線属性","","Button12") ControlFocus("線属性","","Button1") ControlClick("線属性","","Button1") EndFunc Func Lc_s5() WinMenuSelectItem("jw_win","","設定","線属性") WinWaitActive("線属性") ControlFocus("線属性","","Button4") ControlClick("線属性","","Button4") ControlFocus("線属性","","Button13") ControlClick("線属性","","Button13") ControlFocus("線属性","","Button1") ControlClick("線属性","","Button1") EndFunc Func Lc_s6() WinMenuSelectItem("jw_win","","設定","線属性") WinWaitActive("線属性") ControlFocus("線属性","","Button4") ControlClick("線属性","","Button4") ControlFocus("線属性","","Button16") ControlClick("線属性","","Button16") ControlFocus("線属性","","Button1") ControlClick("線属性","","Button1") EndFunc |
こんにちは LAも、AutoHotKey(AHK)で組んでみました。 JWWがアクティブで、作図領域にフォーカスが当たっているとき、 フルキーの1〜6で線色・種の切替ができます。 実行には、AHK Unicode版が必要です。 https://autohotkey.com/ 下記スクリプトをメモ帳等のテキストエディタにコピペし、 拡張子 .ahk で適当な名前で、文字コードUTF-8で保存し、実行して下さい。 ;線色種のセットをワンキーで切替(要 AHK_L Unicode + このスクリプトをUTF-8(BOM有)で保存) SetTitleMatchMode, RegEx ;正規表現 Return #If IsJwwDrawing() 1::SetPen(1,1) 2::SetPen(2,1) 3::SetPen(1,2) 4::SetPen(2,2) 5::SetPen(1,5) 6::SetPen(2,5) SetPen(col,typ) { ToolTip, 線色:%col% 線種:%typ% WinMenuSelectItem, A,, 設定(S), 線属性(C) WinWaitActive, 線属性 ControlClick, % "Button" . col+2 ControlClick, % "Button" . typ+11 Sleep, 50 ControlClick, Button1 Sleep, 200 ToolTip Return } ;JWWがアクティブで、作図領域にフォーカスがある判定 IsJwwDrawing() { res:=false IfWinActive, - jw_win$|^◆◆◆ブロック図形【, { ControlGetFocus, c IfInString, c, AfxFrameOrView res:=true } Return res } |
▼サトウさん: >「線」もしくは「円」を書いてる最中に「線色」「線種」をキーボードのボタン一つで変更したい。 > >現在使用している線の種類は下記の組み合わせで6種類。 > >線色1と実線 >線色2と実線 > >線色1と点線1 >線色2と点線1 > >線色1と1点鎖1 >線色2と1点鎖1 > >単純な図面を書いていますので、レイヤー少し面倒です。 >キーボードの「Tab」を押しながら属性取得もありますが・・・。 > >「設定」→「基本設定」→「KEY」のコマンド割当て見たいに出来る方法はないでしょうか? 何気にいじってたら 線種線色をキーボードだけで,選択確定できました ということは,キーマクロを扱えるユーティリティでできると思います 私はマウス派ですので・・・・・ ということで スクリーンキー作成ソフト TabletScreenKeyboard を使って Jw_cad 専用の スクリーンキー 「線種・線色 組合せ一発選択ボタン」を登録しました (要望のものだけですが,,,,あとはカスタマイズして下さい) http://fu-s.cafe.coocan.jp/ 操作例動画 https://youtu.be/Oe8Nzy2CY8Q . . . . . . スゥッ・・・(^o^)y~~~ パァー ヾ(^_^)BYE Fu〜 |