2017年12月16日土曜日

Inkscape v.0.92.2のGcode寸法狂いの対策

以前、コルク板にレーザー描画
Inkscapeの絵をGcode Toolで変換しました。

その時は、Inkscape 64bit Ver.0.92.1に一緒に入っていたGcodetoolsを使いましたが
マーティーの場合、サイズが正しく出力されないのです。

ふと、Inkscapeのサイトを見ると、Ver.0.92.2がReleaseされていますね~
Releaseは、 2017.8.9のようです。
今まで使っていたのは、Ver.0.92.1 Release 2017.2.13です。

振り返りますと
この様に直径20mmの円を描いてGcodeに変換してCandle v1.1.7に取り込むと
直径5.634mm(左下の数字)のとても小さくなるのです。
Gcodeへの変換は、Gcodeを吐き出す際に、この[Orientation points]を選択して
[3-points mode]にチェックを入れて[OK]しています。
[Z depth]:0 だとエラーがでるので「-0.1」です。
すると、この100 x 100mmのガイドがでてきます。
赤丸部の矢印が(X,Y)の(0,100)と(100,0)を示しているはずなのですが
左側のA4縦の長方形より遥かに大きいのです。
(X,Y)の(0,100)と(100,0)の矢印に合わせて四角を描くと
354.399 x 354.399 なのです。
つまり 100 x 100 の矢印が、夫々 3.54341倍されているのです。
ということで、2つ前の画像において
[Orientation point]を表す長方形全体(寸法文字を含むグループ)
(幅:518.730  高さ:371.928)を X・Y 夫々 1/3.54341して
幅:518.730÷3.54341=146.393
高さ:371.928÷3.54341=104.963
にして、100 x 100の「矢印」の位置を100 x 100mmに矯正していました。
そうしてから
[エクステンション]-[Gcodetools]-[Tools library]して
[エクステンション]-[Gcodetools]-[Path to Gcode]でGcodeを吐出し
Candle v1.1.7に読み込むことで
直径 20.001(左下の数字)の円になったと喜んでいたわけです。

そこで、Ver.0.92.2をみてみます。
0.92.2のRelease Noteに修正内容が英語でいっぱい書いてありますが
どうやら”Gcode”の文字はないようでね~。
しかし”Scale”の文字がいくつか、ひょっとして治っているかも?

Windows 64bit版の所から「Installer in.exe format」をダウンロード。
ダウンロードした「inkscape-0.92.2-x64.exe」を実行します。

Python2.7のLibraryがやたらと入っていきます。
もう30分近くになります...何かSearchもしているようです。
ファイル名だけでなく、何やら中身も見ているようで異常に時間がかかります。
1時間過ぎでやっとインストールが終わりました。
いざ、円を描いて[Gcode Tools]から
[Orientation points]を行うとエラー(´-﹏-`;)
思わぬ所でつまづきます。
ここに解決策が!
インストール時に「Python 2.7」のチェックを外すといいそうです。
マーティーPCは、以前、Python2.7をインストールしていたので
Inkscapeのフォルダにも入ると競合してしまうのでしょう?
最初は、デフォルトでいいだろうとチェック入れたまま進めていたのでした。
一旦、Inkscape v0.92.2をUninstallして
再度「inkscape-0.92.2-x64.exe」を実行しインストール開始します。
そして、ここで「Python 2.7」のチェックを外します。
Inkscapeを起動、0.92.2になっています。
再び[エクステンション]-[Gcode Tools]-[Orientation points]します。
エラーはでなくなりましたが~
寸法狂いは、治ってないですね~ 残念。
左下の長方形がA4縦、100x100の矢印がA4より大きいままなのです。
解決策を探すしかないようです。
GitHubのここに同じ症状で悩んでいる方が! 解決策もありました!

何と「Gcode Tools」自体が「Python」で書かれているんですね~
知らなかった~

C:\Program Files\Inkscape\share\extensions
の「gcodetools.py」をテキストエディタで開き
orientation_scale =”を検索して次の2行を修正します。
*****
 修正前:orientation_scale = 3.5433070660
 修正後:orientation_scale = 1
  ~
 修正前:orientation_scale = 90
 修正後:orientation_scale = 25.4
*****
インストールフォルダ内では編集できないので
一旦どこかに移動してから編集し、インストールフォルダに戻します。
(一応、バックアップしておいた方がいいでしょう)

この”3.5433070660
マーティーが矯正修正で使っていた”3.54341”に近いですね~
なぜこんな変な数値が入っているんだろう?

さて、修正した「gcodetools.py」でInkscapeを起動して
[Gcode]-[エクステンション]-[Orientation points]をすると
うまくいきました!
「Orientation points」の矢印を結ぶ正方形を描いてみると
幅:100.000、高さ:100.000(赤枠部)になりました!
試しに20mmの円を描いてGcodeに変換してCandle v1.1.7に読み込みます。
ばっちり20.000mmになっています。
めでたしめでたし!
これでもう面倒や事をやらなくて済みます。
早くやればよかった!

***2023.8.2追記***
Inkscape v-1.3 x64 Portable版では
(inkscape-1.3_2023-07-21_0e150ed6c4-x64_Portable.7z 使用)
GcodetoolsはDefaultで入っていました。
日本語版になるので「Orientation points」⇒「基点」と表示されます。
そして肝心の「寸法狂い」ですが
修正されているので、本投稿の内容はやらなくていいです(^^)
***追記ここまで***

0 件のコメント: