CADアプリからSmartLaser miniで認識するsvg吐くのに苦労する

最初からInkscapeというのは、いかに2Dだけの製図とはいえつらい。
FreeCADでsvgを吐くと、不正なXMLになっているし、一度にいくつかのオブジェクトしか吐かない。
しょうがないけど手間をかけてやることになる。
FreeCADではオブジェクトを1つづつフォルダに入れ、共通の四隅ドットを使って位置を揃える。
フォルダの中身ごとにsvgに書き出す。
書き出せないときは、ドットは上のフォルダのを指定してまとめて書き出すと出来たりする。
不安定。
エディタで各ファイルの内容を1つにまとめる。位置固定今日のドットはこのとき削除。
Inkscapeで開き、全オブジェクトの塗りをナシに、線幅を0.1mmに変更する。
丸や楕円はSmartLaserのブラウザアプリで認識しないので、直線群に置き換える。
コピペはうまく処理できずイメージになってしまうので、かならず複製を使う。
オブジェクトの削除は、svgに吐いた上で、エディタでやったほうがよい感じ。
保存は名前を変えないとうまくできていないことがある。
ブラウザからのファイル読み込みは、90dpiを明示で指定しないとサイズ通り切れない。
自動認識には失敗して、妙な25.5dpiとかで読んでしまう。
エラーは、バックエンドのコンソールログに出ている。画面に出してくれるといいのに。
こんな風。

..You uploaded jago_eyepatch4_inkscape4.svg (8494 bytes).
WARNING:svg_reader:'defs' tag is not supported, ignored

これだけしか出ていないけど、画面には何も表示されていない。
うまく読めない時には、バックエンドの再起動をすると読めることがあった。しかしアテにはならない。
何も表示されていないファイルで、作業領域確認をすると、「作業領域外です」というエラーになる。
これがヒントか。
xmlのwidthとheightを変更してもダメポ。
svg出力の無用なプロパティ除去を指定してみる。
プロジェクトのクリーンナップを試す。
ファイル->ドキュメントのプロパティからサイズを280x230に合わせて275x225にしてみる。これだったかな。
おお、下の端だけ少し出た。なんだこれ。
Inkscapeで中央にずらして見ると表示された。
よくわからんね。原点問題な感じも。
しかし、サイズは半分くらいになってしまっている。もっと小さいかな...


Inkscapeでの、ドキュメントサイズ大きいと弾かれるのと、ドキュメント内の位置でも削れるのはわかった。
でも、出てくるものが小さい。
パスデータの出力を相対座標に変更してみる。
小さいまま。


オリジナルのsvgでドキュメントサイズをクリップ最適化してやると、領域外と言われる。
このへん掘ったら何か出るかな。
width="190.36278mm"
height="70.349998mm"
なので、デカイわけもないけどな。


svgw3cのバリデーターにかけてみる。
https://validator.w3.org/check
Passed, 2 warning(s) になった。
どっちもバリデータが対応してないプロパティというだけ。
うーむ。


svg書き出しの有効桁数を16から4にしてみる。
あ、デカくなった。
読み込み画像が大きい。
トランスレーターが小数点以下がデカイ数字は扱いかねるってことかな。
画像の配置をズラしたらもとの木阿弥で小さくなってしまった。
黒魔術だわ。


画面にある単位のとこかな?
pixをmmにしてみる。
小さいままだ。
あーあ。