それならば,インストーラ付属の change_for_laser.pl が参考になりますよ.
末尾に変更点のみを示しています.
残念ながらPythonではなくPerlで書かれています.実行方法は著書を参考に.
ただし実行環境が変わっています.
https://zawazawa.jp/b5almsd0ra1jvhw3/topic/6
言語の本は紹介できません.
PerlやPythonはネット情報だけでも簡単に書ける言語(個人の感想)なので,参考書を買ったことがないからです.
参考となるスクリプトをたくさん用意しているので,これをベースに自分でカスタマイズすれば,言語をマスターしていなくてもある程度のことはできると思います.
https://k-magara.github.io/download/scripts.html
全部インストーラに含まれているので,標準フォルダにインストールしていれば
C:\Program Files\NCVC\scripts
にあります.
では健闘を祈ります.
# Z軸が下降するときに埋め込むコード
$ON_Code = "G31Z-100F1000\nG92Z0\nG00Z5.0\nG92Z0\n"; ## ''だと\n効かないので""で
#$OFF_Code = 'M05'; ## こちらは使わず
# s/(S[\d\.]+)//; ## S置換はしない
if($G0X == 1 && $Zn < $Zp){
$_ = $ON_Code . $_; ## 現在行の前に $ON_Code を挿入 ←ココがポイント
# elsif(($G0X == 0 or $G0X == 1) && $Zn > $Zp){ ## このif文(上昇用)はコメントアウト
# $_ = $OFF_Code . "\n";
# $Zp = $Zn;
# $GCF = 1;
# $preG0X = $G0X;
# }
通報 ...