DRA-CAD専用掲示板

HOME HELP 新規作成 新着記事 ツリー表示 発言ランク ファイル一覧 検索 過去ログ

■53 / 親記事)  DRA-CADとAutoHotkey 始めに(中級者以上)
  
□投稿者/ TONKUN (32回)-(2016/02/22(Mon) 21:06:58)
    2016/02/22(Mon) 21:53:33 編集(投稿者)
    2016/02/22(Mon) 21:53:09 編集(投稿者)
    2016/02/22(Mon) 21:53:05 編集(投稿者)
    2016/02/22(Mon) 21:45:14 編集(投稿者)

    DRA-CADは各コマンドが多機能が故に却って使い勝手が悪くなっている部分もあります。
    マクロ機能があれば良いのですが。
    私が現役時には、DRA-CADにマクロ機能は搭載されそうに無いので、
    AutoHotkeyで主にマクロ機能として自己用カスタム設定につて発言いたします。(リマップ用も)
    利用される場合は自己責任で。

    ***最重要事項***
    記述の上書き保存後は必ず「Reload This Script」で再設定する。
    記述に問題がある場合はエラーダイアログが表示される。
    起動できなくなった場合は、
    インストール先のC:\Users\ユーザー名\Documentsに有る
    AutoHotkey ScriptのAutoHotkey.ahkを右クリックして、Edit Scriptを選択して修正。

    DRA-CADで作成できるショートカットの修飾キーはShift+とCtrl+。
    AutoHotkeyでAlt+、windowsキー+も可能になります。(制約はありますが)
    多ボタンマウスにShift、Ctrl、Alt、windowsキーも登録しているので、マクロ記述もそれに合わせている部分もあります。

    DRA-CADは各コマンドで細かく設定でき、コマンドにもショートカットが有るので、それを利用。

    マクロでよく使う文字列
    ;
    +
    ^
    !
    #
    #IfWinActive
    ::
    ,
    Send
    Return
    Sleep
    MouseClick
    WinMove

    例えば、キーのリマップ
    vk1Csc079::vkF3sc029 ;変換キーを半角/全角キーに変更


引用返信/返信 [メール受信/OFF] 削除キー/
■54 / ResNo.1)  始めに その2
□投稿者/ TONKUN (33回)-(2016/02/25(Thu) 20:57:27)
    スクリプトを書き込みは
    PC全体 ;そのままスクリプトを書き込む
    DRA-CAD全体(ウィンドウ)(アプリ) ;DRA-CADを指定してスクリプト書き込む
    各専用コマンド(ウィンドウ) ;各コマンドを指定してスクリプトを書き込む

    DRA-CADでは割り付けできないキーでも、AutoHotkeyで割り付け可能。(お勧めできませんが)
    キーに直接割り付けも可能。
    例えば、寸法線をPrintScreenに割付は
    PrintScreen::Send,dim{Enter} ;コマンド名のdimをステータスバーに表示してEnterキーの操作をする。

    DRA-CAD14で使用する場合、例えば
    IfWinActive ahk_class DRACAD14_SE_MainFrame ;Window Spyで取得
    #F12::WinMove,,,-2,2,1604,1202 ;デフォルトのウインドウの位置大きさ表示 複数行は最後にReturnを記述。各コマンドスクリプトを順次記述
    #IfWinActive ;DRA-CAD14はここまで

    開くコマンドを使用する場合、例えば
    #IfWinActive 開く ahk_class #32770 ;Window Spyで取得 開くダイアログ(ウィンドウ)
    #F12::WinMove,,,270,170,1050,955 ;デフォルト ダイアログの位置大きさ表示 #F12をデフォルトの共通にしています
    #IfWinActive ;開くはここまで
引用返信/返信 [メール受信/OFF] 削除キー/
■55 / ResNo.2)  始めに その3(便利さが分かる例)
□投稿者/ TONKUN (34回)-(2016/02/27(Sat) 22:32:27)
    例えば、連続寸法線を終了するには、右クリック-作図終了(X)を選択。(同様のコマンドは他にも有り)
    これをShift+Enterで済ます事が可能です。(ダイアログにショートカットが有るので便利)
    #IfWinActive ahk_class DRACAD14_SE_MainFrame
    内に下記を記述。
    +Enter::Send,{RButton}x ;連続寸法線等即決定(右クリック後終了選択)

引用返信/返信 [メール受信/OFF] 削除キー/
■56 / ResNo.3)  「開く」関係
□投稿者/ TONKUN (35回)-(2016/02/29(Mon) 20:27:12)
    先ず、[に開くを割り付けします。(DRA-CAD、AutoHotkey何れでも可)
    utoHotkeyだと、Ctrl+Oは
    [::Send,^o

    次に、Shift+[に「すべてのファイル」の表示を割り付けします。
    Alt+Tで、「読み込むファイルの種類」を選択。(ショートカットの表示は無い)
    次にSキーを打ちSXFを表示させ、更に下矢印キーを3回打つ。
    「すべてのファイル」が表示されます。
    +[::Send,!t{s}{Down 3}{Enter} ;ファイルの種類すべてを表示 ファイルの種類ですべて選択-下矢印を3回 sはSXFを示す

    DRA-CADメニュー の最近使ったファイルを使いたいので、Ctrl+[に割り付けて最近使ったファイルNO5に移動させます。
    ^[::
    Send,!f ;DRA-CADメニューを表示
    MouseMove,240,215 ;最近使ったファイルNO5にマウス移動
    Return

    直近のファイルを読み込む。
    DRA-CADメニューを表示後、最近使ったファイルNO1の読み込みをAlt+[に割り付け。
    Alt+FでDRA-CADメニューを表示-1でNO1ファイル読み込み。
    ![::Send,!f1 ;DRA-CADメニューの最近使ったファイル NO1を実行

    #IfWinActive 開く ahk_class #32770 ; 開くダイアログ(ウィンドウ)
    #F12::WinMove,,,270,170,1050,955 ;デフォルト ダイアログの位置大きさ表示
    [::Send,!t{d}{Enter} ;DRA-CADファイル選択 dはDRA-CADを示す ダイアログ内ですべてのファイルと切り替えできるように
    +[::Send,!t{s}{Down 3}{Enter} ;ファイルの種類すべてを表示 ファイルの種類ですべて選択-下矢印を3回 sはSXFを示す
    +WheelUp::Send,!{Up} ;親フォルダを表示
    +WheelDown::Send,!{Left} ;前のフォルダを表示
    ^Numpad1::Send,{RButton}vl ;右クリック-表示選択-一覧選択
    ^Numpad2::Send,{RButton}vr ;右クリック-表示選択-大アイコン選択
    ^Numpad3::Send,{RButton}vx ;右クリック-表示選択-特大アイコン選択
    ^Numpad4::Send,{RButton}vd ;右クリック-表示選択-詳細選択
    #IfWinActive ; 開くはここまで
引用返信/返信 [メール受信/OFF] 削除キー/
■57 / ResNo.4)  エクスプローラも同様に
□投稿者/ TONKUN (36回)-(2016/03/13(Sun) 18:23:13)
    #IfWinActive ahk_class CabinetWClass
    #F12::WinMove,,,270,170,1050,955 ;デフォルトのウインドウの位置大きさ表示
    ^Numpad1::Send,{RButton}vl ;右クリック-表示選択-一覧選択
    ^Numpad2::Send,{RButton}vr ;右クリック-表示選択-大アイコン選択
    ^Numpad3::Send,{RButton}vx ;右クリック-表示選択-特大アイコン選択
    ^Numpad4::Send,{RButton}vd ;右クリック-表示選択-詳細選択
    #IfWinActive

引用返信/返信 [メール受信/OFF] 削除キー/
■58 / ResNo.5)  「保存」関係
□投稿者/ TONKUN (37回)-(2016/03/13(Sun) 21:30:21)
    書き出しに有るDXF、JWWは名前を付けてでの保存。(書き出しとしての表示に疑問が有りますが)
    別名で保存のDXF、JWWが欲しいので、
    先ず、@に名前を付けて保存を設定。(常時使えるように)

    Shift+@に、DXFの別名で保存を登録。
    先に、Ctrl+hに別名で保存を割り付け
    別名で保存を起動
    Alt+tでファイルの種類を選択
    下矢印をクリックでリストを表示
    aを3回押してAutoCAD DXF(*.dxf)を選択(他の方法も有り)

    DRA-CAD全体に記述
    ;別名で保存 DXF
    +@::
    Send,^h ;別名で保存を起動
    Sleep,200
    Send,!t{Down}aaa{Enter} ;ファイルの種類でDXFを選択
    Return

    同様にCtrl+@にJWWを登録。
    ;別名で保存 JWW
    ^@::
    Send,^h ;別名で保存を起動
    Sleep,200
    Send,!t{Down}jj{Enter} ;ファイルの種類でJWWを選択
    Return

    各ダイアログ表示後
    #IfWinActive 名前をつけて保存 ahk_class #32770
    #F12::WinMove,,,270,170,1050,955 ;ダイアログの位置大きさ表示
    +@::Send,!t{Down}aaa{Enter} ;DXFを選択
    ^@::Send,!t{Down}jj{Enter} ;JWWを選択
    +WheelUp::Send,!{Up} ;親フォルダを表示
    +WheelDown::Send,!{Left} ;前のフォルダを表示
    #IfWinActive

    #IfWinActive 別名で保存 ahk_class #32770
    #F12::WinMove,,,270,170,1050,955 ;ダイアログの位置大きさ表示
    +@::Send,!t{Down}aaa{Enter} ;DXFを選択
    ^@::Send,!t{Down}jj{Enter} ;JWWを選択
    +WheelUp::Send,!{Up} ;親フォルダを表示
    +WheelDown::Send,!{Left} ;前のフォルダを表示
    #IfWinActive
引用返信/返信 [メール受信/OFF] 削除キー/
■59 / ResNo.6)  ;PDFで保存
□投稿者/ TONKUN (38回)-(2016/03/14(Mon) 19:06:01)
    先ず、windowsキー+@に「PDFで保存」を割り付け。
    #@::Send,wpdf{Enter} ;PDFで保存(wpdfは小文字)

    PDFで保存で用紙設定等は面倒なので、PDF書き出しのダイアログ表示時に、
    Ctrl+Numpad1にA1横、Ctrl+Numpad2にA2横、Ctrl+Numpad3にA3横、Ctrl+Numpad4にA4縦を割り付け。

    #IfWinActive PDF書き出し ahk_class #32770
    ^Numpad1::
    MouseClick,L,130,50,1,0 ;用紙リストクリック
    Send,{Home}{Down 2}{Enter} ;A1選択
    MouseClick,L,310,50,1,0 ;方向リストクリック
    Send,{Home}{Enter} ;Homeで最上位に移動なので横決定
    MouseMove,460,35 ;OKボタンにマウス移動
    Return
    ^Numpad2::
    MouseClick,L,130,50,1,0 ;用紙リストクリック
    Send,{Home}{Down 3}{Enter} ;A2選択
    MouseClick,L,310,50,1,0 ;方向リストクリック
    Send,{Home}{Enter} ;Homeで最上位に移動なので横決定
    MouseMove,460,35 ;OKボタンにマウス移動
    Return
    ^Numpad3::
    MouseClick,L,130,50,1,0 ;用紙リストクリック
    Send,{Home}{Down 4}{Enter} ;A3選択
    MouseClick,L,310,50,1,0 ;方向リストクリック
    Send,{Home}{Enter} ;Homeで最上位に移動なので横決定
    MouseMove,460,35 ;OKボタンにマウス移動
    Return
    ^Numpad4::
    MouseClick,L,130,50,1,0 ;用紙リストクリック
    Send,{Home}{Down 5}{Enter} ;A4選択
    MouseClick,L,310,50,1,0 ;方向リストクリック
    Send,{Home}{Down}{Enter} ;Homeで最上位に移動、下矢印で下に移動、縦決定
    MouseMove,460,35 ;OKボタンにマウス移動
    Return
    #IfWinActive

引用返信/返信 [メール受信/OFF] 削除キー/
■60 / ResNo.7)  「印刷」関係
□投稿者/ TONKUN (39回)-(2016/03/16(Wed) 20:11:28)
    先ず、/に印刷を割り付け。(#F7にも割り付けています)

    ;印刷の設定
    #/::
    Send,psetup{Enter} ;印刷の設定
    MouseClick,L,420,450,1,0 ;プレビューをアクティブ
    WinMove,印刷の設定,,1,170,1604,955 ;ダイアログの位置大きさ表示
    Return

    *コマンドダイアログで、「印刷」の文字が付くコマンドはショートカットが共通になるので注意
    #IfWinActive 印刷 ahk_class #32770 ;印刷の文字が付くコマンドは共通になるので注意
    ^Numpad0::Send,!c ;印刷枚数記入欄フォーカス
    #IfWinActive

    #IfWinActive 印刷の設定 ahk_class #32770
    #F12::WinMove,,,1,170,1604,955 ;デフォルトダイアログの位置大きさ表示
    #F7::WinMove,,,1,170,1604,955 ;デフォルトダイアログの位置大きさ表示
    #/::WinMove,,,1,170,1604,955 ;デフォルトダイアログの位置大きさ表示
    #IfWinActive

    #IfWinActive 印刷範囲 ahk_class #32770
    ^Numpad2::Send,!h!p{Home}{Down 3}!z ;横選択-用紙-最上位に移動-下矢印を3回でA2-縮尺移動
    ^Numpad3::Send,!h!p{Home}{Down 4}!z ;横選択-用紙-最上位に移動-下矢印を4回でA3-縮尺移動
    ^Numpad4::Send,!v!p{Home}{Down 5}!z ;横選択-用紙-最上位に移動-下矢印を5回でA4-縮尺移動
    #IfWinActive

引用返信/返信 [メール受信/OFF] 削除キー/
■63 / ResNo.8)  連続印刷の設定(連続簡易プレビュー)
□投稿者/ TONKUN (42回)-(2016/03/21(Mon) 20:11:19)
    複数図面を連続で印刷設定(連続簡易プレビュー)する場合です。
    windowsキー+F6を押す度に順次表示を変えます。
    印刷設定ダイアログ表示までの時間設定無しで可能と思われますが、私の能力ではスクリプト作成は無理なので。

    ;連続印刷設定(連続簡易プレビュー) DRA-CADでの設定は不可なので、PC全体に登録。
    #F6::
    Send,{Esc} ;ダイアログ表示を終了
    Send,^{Tab} ;次の図面を呼び出し
    WinWaitActive,DRACAD14,,1 ;印刷設定ダイアログ表示まで1秒待つ(1秒で約6万本、図面容量により時間調整)
    Send,psetup{Enter} ;印刷設定ダイアログ表示
    MouseClick,L,420,450,1,0 ;プレビューをクリックしてアクティブにする(即拡大等を可にする)
    WinMove,印刷の設定,,1,170,1604,955 ;デフォルトダイアログの位置大きさ表示
    Return
引用返信/返信 [メール受信/OFF] 削除キー/
■64 / ResNo.9)  「文字記入」
□投稿者/ TONKUN (43回)-(2016/03/29(Tue) 19:23:21)
    よく使うので、Insertとマウスホイール下回転に割り付けしています。
    マイデファルトとして、エディットボックスの大きさ、回転0、スタイル名、文字列フォーカス(IME表示) 、
    ;原点左中、ダイアログ外外にマウス移動を自己用に設定。

    ATOKの表示、非表示を設定しているので、各項目設定後はIMEを表示。

    Insertで文字記入ダイアログ表示、もう一度Insertでマイデファルトの表示。

    ;文字記入
    Insert::
    Send,text{Enter} ;文字記入
    WinWaitActive,文字記入 ;文字記入がアクティブになるのを待つ
    MouseMove,-20,40 ;ダイアログ外外にマウス移動
    Return

    #IfWinActive 文字記入 ahk_class #32770
    ;マイデフォルト
    Insert::
    WinMove,,, , ,600,550 ;ダイアログの大きさ
    Send,!t{Right 3}0!sm+{Tab} ;回転0・スタイル名・文字列フォーカス(IME表示)
    MouseClick,L,315,230,1,0 ;原点左中
    MouseMove,-20,40 ;ダイアログ外にマウス移動(即実行できるように)
    Return
    ;マイデフォルト
    #F12::
    WinMove,,, , ,600,550 ;ダイアログの大きさ
    Send,!t{Right 3}0!sm+{Tab} ;回転0・スタイル名・文字列フォーカス (IME表示)
    MouseClick,L,315,230,1,0 ;原点左中
    MouseMove,-20,40 ;ダイアログ外にマウス移動(即実行できるように)
    Return

    +Insert::Send,!s!{Down}m+{Tab} ;スタイル名-MS2.5-文字列フォーカス(IME表示)
    ^Insert::Send,!s!{Down}mm+{Tab} ;スタイル名-MS4-文字列フォーカス(IME表示)
    #Insert::Send,!s!{Down}{Home}+{Tab} ;スタイル名-個別設定選択-字列フォーカス(IME表示)
    +Enter::Send,!zd ;サイズ図面から
    ^Enter::Send,!gd ;文字列図面から
    !Enter::Send,!r ;置換記入
    ^h::Send,{BS} ;ATOKのCtrl+Hの一部が機能しないので

    ;角度取得 図面から
    ^+LButton::
    MouseClick,L,490,315,1,0 ;角度図面からボタンクリック
    Return

    ;背景色で塗りつぶし
    !F11::
    Send,!s!{Down}{Home} ;スタイル名-個別設定選択
    Send,!1 ;背景色で塗りつぶし選択
    MouseClick,L,50,150,1,0 ;エディットボックスアクティブでIMEバー表示(ATOKでIMEバーを表示、非表示設定している為)
    Return

    ;以下は原点を設定
    ^Numpad1::
    MouseClick,L,315,255,1,0 ;原点左下
    MouseMove,-20,40 ;ダイアログ外にマウス移動
    Return
    ^Numpad2::
    MouseClick,L,335,255,1,0 ;原点中下
    MouseMove,-20,40 ;ダイアログ外にマウス移動
    Return
    ^Numpad3::
    MouseClick,L,355,255,1,0 ;原点右下
    MouseMove,-20,40 ;ダイアログ外にマウス移動
    Return
    ^Numpad4::
    MouseClick,L,315,230,1,0 ;原点左中
    MouseMove,-20,40 ;ダイアログ外にマウス移動
    Return
    ^Numpad5::
    MouseClick,L,335,230,1,0 ;原点中中
    MouseMove,-20,40 ;ダイアログ外にマウス移動
    Return
    ^Numpad6::
    MouseClick,L,355,230,1,0 ;原点右中
    MouseMove,-20,40 ;ダイアログ外にマウス移動
    Return
    ^Numpad7::
    MouseClick,L,315,210,1,0 ;原点左上
    MouseMove,-20,40 ;ダイアログ外にマウス移動
    Return
    ^Numpad8::
    MouseClick,L,335,210,1,0 ;原点中上
    MouseMove,-20,40 ;ダイアログ外にマウス移動
    Return
    ^Numpad9::
    MouseClick,L,355,210,1,0 ;原点右上
    MouseMove,-20,40 ;ダイアログ外にマウス移動
    Return
    #IfWinActive ;文字記入ここまで

引用返信/返信 [メール受信/OFF] 削除キー/

次のレス10件>

スレッド内ページ移動 / << 0 | 1 >>

このスレッドに書きこむ