CAD操作の面倒なことはAutohotkeyにやらせよう(CAD 自動化)

広告

コマンド入力できるCADソフト、Autohotkeyで自動化することができそうなのでいろいろと実験してます。

上の画像は、LibreCADに円を描きたものです。

広告

円作成 for LibreCAD

原点から、中心点(半径,半径)の円を描きます。

B up::
    Gui, +ToolWindow AlwaysOnTop ;; 最小・最大ボタンなし
    Gui, Font, S12
    Gui, Add, Checkbox, x20 y25 w100 h25 v_diameter, 直径の時
    Gui, Add, Edit, x15 y60 w120 h30 v_size ,
    Gui, Add, Button, x20 y100 w100 h25 gDrawCircle Default, OK
    ;;---------
    Gui, Show, x1600 h150 w150, 円作成 ;;窓を表示
    Send,{Tab} ;;TAB {}が必要
Return

DrawCircle:
    Gui, Submit ;;変数GET
    SetTitleMatchMode,2 ;;タイトル部分一致
    WinActivate, LibreCAD
    send, ci
    send, {Enter}
    send, %_size% , %_size% ;;XY座標
    send, {Enter}
    send, %_size% ;; 半径
    send, {Enter}

    send, za ;; ズームオート
    send, {Enter}
    Gui, Destroy ;; 変数開放
Return

最後の行の「Gui, Destory」がないと、次のエラーが出てしまいます。
同じ変数を定義してはいけない?

Error: The same variable cannot be used for more than one control.

LibreCADの記事:

LibreCAd座標入力
広告

円作成 for QCAD

コードは99%、LibreCADと同じです。
違うのはこれだけ(15行目)

WinActivate, QCAD

LibreCADをQCADに変えてください。

広告

円作成 for DraftSight

B up::
    Gui, +ToolWindow AlwaysOnTop ;; 最小・最大ボタンなし
    Gui, Font, S12
    Gui, Add, Checkbox, x20 y25 w100 h25 v_diameter, 直径の時
    Gui, Add, Edit, x15 y60 w120 h30 v_size ,
    Gui, Add, Button, x20 y100 w100 h25 gDrawCircle Default, OK
    ;;---------
    Gui, Show, x1200 h150 w150, 円作成 ;;窓を表示
    Send,{Tab} ;;TAB {}が必要
Return

DrawCircle:
    Gui, Submit ;;変数GET
    SetTitleMatchMode,2 ;;タイトル部分一致
    WinActivate, DraftSight  ;;DraftSight
    send, circle
    send, {Enter}
    send, %_size%,%_size% ;;XY座標 半角スペース入れてはいけない。
    send, {Enter}
    send, %_size% ;; 半径
    send, {Enter}

    send, Zoomfit ; ズームオート
    send, {Enter}
    Gui, Destroy ; 変数開放
Return

;;GuiClose:
;;ExitApp

コメント

タイトルとURLをコピーしました