AutoHotkeyを使いCADを半自動操作したいと思います。
AR_CAD自動作図
JWW_CADの座標ファイルを利用し、AutoHotkeyで図形を描く
AR_CADの入手先:
JWW_cadの入手先:
鍋CADでuser toolbar作成
;鍋CAD
Sleep, 800
;マウスのXY取得
; MouseGetPos, mx, my
mx := 50
my := 200
;最初のGUI
Gui, Font,s11 ;フォントの大きさ
Gui, +AlwaysOnTop ;always TOP
Gui, Add, Button,y5 w50 gEndraw , 円(A)
Gui, Add, Button,y5 w55 gSikaku, 四角(B)
Gui, Add, Button,y5 w55 gLine, 直線(L)
Gui, Add, Button,y5 w50 gDelselect, □削除
Gui, Show, w280 h40 x%mx% y%my%, Google
Return
;---------------------------
GuiClose:
ExitApp
;---------------------------
Endraw: ;円
SetTitleMatchMode, 1
WinActivate, Ver9.10
Send, a
Return
;---------------------------
Sikaku: ;四角
SetTitleMatchMode, 1
WinActivate, Ver9.10
Send, b
Return
;---------------------------
Line: ;直線
SetTitleMatchMode, 1
WinActivate, Ver9.10
Send, l
Return
;-----------------------------
Delselect:
SetTitleMatchMode, 1
WinActivate, Ver9.10
ControlClick,TPageControl2,Ver9,,Left,1, x437 y13 ;削除
ControlClick,TToolBar10,Ver9,,Left,1, x259 y13 ;削除
Return
AR_CAD自動作図 動画
F1::
ControlClick,TToolBar9718,,基本コマンドツールⅢ,Left,1, x20 y61 ;矩形
sleep, 500
ControlSend, TRxCalcEdit4,{Del}25,AR_CAD
ControlSend, TRxCalcEdit3,{Del}25,AR_CAD
ControlClick,TAdvPanel3,AR_CAD,,Left,1, x220 y11 ;緑丸
ControlSend, TRxCalcEdit2,{Del}250,AR_CAD
ControlSend, TRxCalcEdit1,{Del}150{Enter},AR_CAD
;-----------------------
ControlSend, TRxCalcEdit4,{Del}5,AR_CAD
ControlSend, TRxCalcEdit3,{Del}5,AR_CAD
ControlClick,TAdvPanel3,AR_CAD,,Left,1, x220 y11 ;緑丸
ControlSend, TRxCalcEdit2,{Del}50,AR_CAD
ControlSend, TRxCalcEdit1,{Del}50{Enter},AR_CAD
;-----------------------
ControlClick,TToolBar9718,,基本コマンドツールⅢ,Left,1, x20 y82 ;円
sleep, 500 ;必要
ControlClick,TRxSwitch1,AR_CAD,,Left,1, x7 y17 ;円
sleep, 200
ControlSend, TRxCalcEdit2,{Del}170,AR_CAD ;円中心点
ControlSend, TRxCalcEdit1,{Del}120{Enter},AR_CAD
ControlClick,TPanel12,AR_CAD,,Left,1, x105 y80 ;作図領域Click
;-----------------------
ControlClick,TToolbar9713,AR_CAD,オブジェクトセレクト,Left,1, x50 y15 ;作図領域Click
ControlSend, TPanel12,{Esc},AR_CAD
Jwwを動かす 方法1
コマンドをキーに割り当て、それをAutoHotkeyでSendしてます。
send, B と send, b は別物
Bは「shift+b」のこと
80,80をsendするには「,」をエスケープしなければダメ
正規表現のエスケープは¥でしますが、AutoHotkeyは「`」グレイヴ・アクセント(`)またはアクサングラーヴというらしいです。
send, 80`,80
図形を描く場所の情報取得 コントロールのclass名 サイズ
Autohotkey付属の「Window Spy」を使い調べます。
コントロールのclass名より、作図領域の幅・高さを取得する。
ControlGetPos, X, Y, W, H, AfxFrameOrView120s1, A
Jwwの入力欄、チェックボックスの情報を色々取得
矩形「寸法」の中の数値一覧を取得
ControlGet,listData,List,,ComboBox3,無題
MsgBox, %listData%
ControlGet, 戻り値,List,,ComboBox3,左上のタイトル
AutoitのTOOLでControl名とタイトル取得
ComboBox(リスト)の中で選ばれている数値取得
ControlGet,listData,Choice,,ComboBox3,無題 ;comboboxの値取得
MsgBox, %listData%
コマンドChoiceを使います。
ComboBox(寸法)の値をリセットする(無指定選択)
Control,Choose,1,ComboBox3,無題 ;comboboxの値一番目にSet
コメント