2018年1月13日土曜日

Fusion360[下絵を挿入]の謎

本年も宜しくお願いいたします。m(_ _)m

色々とやりたいことは夢見ているのですが~
今年最初の到着品が不良品だったので意気消沈○.
正月ボケも相まってなかなかエンジンがかかりません。

まずは、検索しても策をみつけることができなかった
Fusion360の[挿入]-[下絵を挿入]の謎です。

GIMPやスキャナーからのJPEGやPNG画像を
Fusion360で下絵として取り込むと正しい寸法にはなりません。
いつも取り込んだ後の寸法調整に苦労するのです。
試しに4種類の画像を[挿入]-[下絵を挿入]で取り込むと
何と!全部かなり小さい 17.47x17.47mmになってしまいました。

上:GIMPで作成した画像
 左上:10pixel/mm 1000x1000で10x10cmになるべき。
 右下:20pixel/mm 1000x1000で5x5cmになるべき。
下:インクジェット複合機のスキャナーで取り込んだ画像
 左下:10x10cmを300dpiでスキャン 1181x1181 pixel
 右下:10x10cmを600dpiでスキャン 2362x2362 pixel

つまり元画像のdpi情報もpixel数も意味が無いということになります。
どうゆうルールになっているのでしょうか?
縮小率が一定であれば[下絵を挿入]のボックスで
X、Yの尺度指定をすればいいのですが
上の様にルールが一定ではないようなのです。
GIMPで「10pixel/mm 2000x1000で20x10cm」の画像を作成し
取り込んでみます。
何と!縦が上の4種類の場合とほぼ同じになりました。
画像の輪郭にスケッチを描いて測定しているので誤差はあります。
次に「10pixel/mm 500x800で5x8cm」の画像を取り込みます。
お~!ルールがわかりました!
pixel、dpiとは無関係に「長い方の辺」を「17.5mm」にしちゃうんですね。
で、色々やっていると
ふと選択ミスしたことから便利なやり方が見つかりました!

まず、下絵を挿入する前に下絵の実サイズのスケッチを描きます。
そして[下絵を挿入]ボックスの[面]の選択で、
XY面を選択するのではなく、先に描いたスケッチを選択すればいいのです。
そうして[イメージを選択]で所定の画像を開くと
スケッチにピッタリ嵌ってくれるのです。
100x100mmにピッタリ合いました!
つまり「pixel数」と「dpi」を調べて
サイズを計算して事前にスケッチを描いておくだけでいいのです。
例えば、1800x1800 pixel 600dpiの正方形の画像だと
1800 ÷ 600 x 25.4 = 76.2mm の正方形をスケッチしておくわけです。
知らないのはマーティーだけかな(^^ゞ

なぜかこの簡単な方法は検索しても見つけることができませんでしたが、
似たような質問として、IllustratorのSVG形式画像の挿入について
Fusion360のForumのここにありました。
が、
「一旦、取り込んだスケッチの寸法を測って尺度を計算する」という策なのです。
「Illustratorの1pixelがFusion360の1mmとして取り込まれる仕様」ともありますが
SVG形式は、ベクターなのでpixelの概念は無いはずですが...
Illustratorは、svg形式でもmmとかの指定があるんだろうか?

試しに、Inkscapeで描いた10x10cmのSVG形式を
[挿入]-[下絵を挿入]で取り込むと、残念ながら、とっても小さくなります。
Inkscapeの[ドキュメントのプロパティ]には、
[Display units]:mmとサイズ設定(mm)しかありません。
pixelを設定する所がないのです。当然だと思います。
ということで
SVG形式を取り込む場合は、
一旦、取り込んで、実際の大きさとの尺度を計算します。
まず、尺度指定:1.00のまま取り込んで寸法を測ります。
通常は、少数位3桁程でいいと思います。
そして尺度を計算します。
100mm ÷ 2.381mm ≒ 41.99916 でやってみます。
次の挿入で[SVGを挿入]の[平面XYの尺度指定]にこの値を入力すると
正しいサイズで挿入できました。
かなりの精度なんですね~
ちなみに取り込んだSVG画像は、スケッチになっています。
文字もダブルクリックすると編集できます。
今回、Inkscapeで描いたSVG形式をFusion360に取り込めば
そのままスケッチにできることがわかったのは、大きな収穫でした!
これでPCBパターンをInkscapeで書けるかも!
早くEAGLEを修得せねば!

備忘録で追伸:
Inkscapeでわざと線幅(ストローク幅)を太くしました。
ストローク幅は、四角:5mm、丸:10mmにして
Fusion360で[SVGを挿入]すると
線幅(ストローク幅) 情報は、なくなります。
見たところでは、ストロークの最外周のスケッチになるようです。
これは、間違いだったので、追追伸で解明しています。
追追伸:
失礼しました!最外周ではないですね~
内側の円の直径は、40mm
Inkscape上の寸法表示は、線幅の最外周を意味しています。
所が、Fusion360の[SVGを挿入]で尺度:3.985016で取り込むと
(100÷25.094=3.985016)
横幅は、100mmジャストになりましたが
内側の円の直径は、31.834mm
正解の40mmから大きくズレています。
Inkscapeでのストローク幅の影響を受けるんですね。
Inkscapeで描画する時にストローク幅:0.000mmでやると
もはやストロークは見えませんが
同様に、横幅:100mmになるように尺度を計算してFusion360に挿入すると
無事、内側の円の直径:40.001mm になりました!
ということで
Inkscapeで描く時は、線幅(ストローク幅)をできるだけ小さくしないと
誤差が発生するということになります。
マーティーのPCでは、0.02mmまでは見えますが
作業性と誤差の折り合いという点では、0.05mmがよさそうです。
また、Inkscapeで、このボタン
「オブジェクトの拡大縮小時にストローク幅も同じ比率で拡大縮小」を
OFF(色が白くなる方)にしておけば、
線幅(ストローク幅)を調整した後に、図形の幅・高さを調整することで
線幅と独立に変えることができます。

追試です!(2018.1.19追記)
HKさんがSVG挿入の方法を伝授してくださいました!
記録に残しておきます。

Inkscape 0.92.2を起動すると「新規ドキュメント」が開きます。
[ファイル]-[ドキュメントのプロパティー]すると
右側に設定ボックスがでてきます。普通は、この様になっています。
ここで、「一般」の[Display units]と「カスタムサイズ」の[単位]:px
「拡大縮小」の[Scale]:3.77953   にします。
このボックスは、右上ので閉じていいです。
幅と高さの単位は「px」になっています。
100 x 50 pxの四角を描き、塗り潰します。
ベクターなのに単位:px は、違和感が残りますが
ちなみに、直径:1 pxの円を描いて拡大しても、この様にギザギザはありません。
SVG形式で保存して、Fusion360の[SVGを挿入]します。
[平面XYの尺度指定]は、「1.00」のままです。
お~~~!
いいですねー!
HKさん、ありがとうございました。



8 件のコメント:

昔青年 さんのコメント...

マーティーさん
上手にフリーソフトを活用されていますね。
Inkscape多機能ソフトですね! 当方も早速導入しました。
正月は、3DプリンターとCNCをひとつのラックに設置して省スペース化しました。
本年も楽しい記事をよろしくお願いします。

マーティーの工房日誌 さんのコメント...

昔青年さん、早速のコメントありがとうございます。
十数年来、PhotoShop 5.02を愛用していますが
Windows10 64bitにはインストールできませんので
これもGIMPに乗り換えて慣れていきたい所です。
ブログではフリーソフトをこだわりたいと思っていますが、
すぐOfficeを使いたくなるのでOpenOfficeに移行したい所です。
ひとつのラックにですか!いいな~
省スペースは大事です!どんな感じか見てみたいですね~
今年は3Dプリンタに挑戦したくなってきました。果たして...

Unknown さんのコメント...

マーティーさん。はじめまして。HKと申します。Fusion360でSVGを読み込ませるには線の太さは無視されますので面にしなければなりません。イラストレーターならパスのアウトラインというコマンドで例えば10mmの線幅を変換すると線幅0で10mmのベタ面になります。これを読み込ませた場合うまく挿入できるようになります。Inkscapeは使った事ないので分かりませんが多分似たようなコマンドがあると思います。

マーティーの工房日誌 さんのコメント...

HKさん、ご教示ありがとうございます。
実は、SVGを試したのは、理由がありまして
プリント基板のパターンをInkscapeで書いてSVGにして
Fusion360に取り込む事を想定しておりました。
ランドは、穴は塗らず、パターンが残る所を塗りつぶせばいいですね!
パターンだけを塗りつぶせば、面になるので、HKさんが言われるように線幅は、気にしなくて良くなります。
マーティーには目からウロコです。ありがとうございました。

Unknown さんのコメント...

マーティーさん。こんばんは。
あれから色々触ってみて取り敢えずの原寸(スケール1倍)で読み込むための方法を見つけましたのでご報告いたします。どうもFusion360は96dpiで表示しているらしいですが読み込み書き込みなどインポート、エクスポートには解像度は反映されませんでした。当初のバージョンではSVGファイルは1mmは1pixelでという説明がされていたようですが、Fusion360が変わったのかInkscapeが変更したのか今では反映されません。そこでInkscapeのドキュメンのプロパティの中の単位、DisplayUnitともにpxにして拡大縮小枠のなかのScaleの数字を3.77953を入力してください。Fusion360での挿入時のスケールでも同じですが読み込みは等倍、パス作成時はpxをmmとして認識して馴れないと違和感ありますが、精度1/100までなら読み込めました。この精度はFusion360側の設定で決定した精度に準拠しているので3.77953は100万分の1ミリまで計算上合わせられると思います。
この3.77953はこのインチサイズでmmに換算すると96mmになります。あれこれ触りましたがInkscapeの設定で解像度を合わせても何も変わりませんでした。また.pngに於いてはマーティーさんのご指摘どおりスケッチを選択するとそれに合わせて表示してくれるようです。
以上長くなりましたが、何かのお役に立てれば何よりです。わたしも昨年中華CNCを購入し強化している最中です。

マーティーの工房日誌 さんのコメント...

HKさん、Inkscapeでご検証していただきありがとうございます。
私もやってみました!いいですね~!
これは、記録に残しておかないといけないので
手順を追記しました!
誠にありがとうございます。
今年もCNCの強化してまいります。

匿名 さんのコメント...

こんにちは
『イラレ fusion 寸法合わす』で検索してこちらに辿り着きました。
中々情報でてこず色々試してみたのですが、
今のバージョンだと、イラレで㎜で作ってDXFで書き出して、fusionで挿入時に単位をmmにしたら正確にできました!

マーティーの工房日誌 さんのコメント...

最近のFusion360では、これらの作業をやってないです。
情報ありがとうございました。