オープン CAE シンポジウム 2014 フリーウェアを用いた CAD モデルの作成 2014 年 11 月 14 日オープン CAE 勉強会湯山喜芳 / 酒井秀久 1
自己紹介 2
フリーウェアを用いた CAD モデルの作成について 近年 3 次元 CAD の普及に伴い モデル作成の難易度はかなり下がっている ただし 紙媒体 (2 次元 CAD や手書きの図面 寸法等が書かれていない図や住宅地図等 ) を対象とした場合 形状作成は やはり困難である この困難さは形状を作成する以外の理由として以下の様な事が考えられる 1. 形状や寸法を判読できない 2. 図面や形状に対し 寸法が記入されていない 1. については 青焼き図面等が経年劣化により損傷を受けた場合やコピー マイクロフィルム化等の複写時に取り込んだノイズが影響している場合が殆どである 2. については 手書き図面や論文に引用された図形等に多く見られる 又 ある部分の寸法を知られたくない等の理由で寸法が故意に記入されていない場合もある このような問題があるとき 一般的には図面や画像を直接測定したり 画像データとして PC に取り込み 距離を計測するという様な方法でモデル化が行われてきたが曲面や不明箇所が多いと作業は困難になる 又 専用のソフト等もあるが価格面や処理後の品質など問題点も多い このような問題に対して フリーウェアのデジタイザ - を用いることで作業の軽減を図ることが可能である デジタイザーを使用してモデルを作成する手順について例を説明する 3
劣化した青焼き図面の例 4
画像データを用いたモデリングについて Digitizer は ラスターからベクターへデータを変換する操作を意味します 作業フローと使用するソフトウェアについて 5
使用するソフトウェアについて ( 前処理 ) GIMP 画像データを用いたモデリングについて (1) フリーで配布されている画像編集用 [ ソフトウェア スキャナーにより生成された画像データのクリーニングやレベル出しなど前処理に使用する 6
画像データを用いたモデリングについて (2) 使用するソフトウェアについて ( デジタイジング ) Cutting 配布元の説明では キャドデータでない 不連続なイメージ画像からでも加工 G コードを発生させる斬新なプログラムツールです とあります フリーウェアで 2 次元画像データより IGES データを生成可能なソフトウェアはこのソフトしかありません 既に開発及びメンテナンスはされていないようです ( ソースコード及び実行形式が公開されています ) 配布元 http://www.dtechjp.com/old_hp/maniacsroom.html 7
画像データを用いたモデリングについて (3) 使用するソフトウェアについて ( デジタイジング ) WinTOPO WinTOPO は フリー版 (STANDARD) と有料版 (PROFESSIONAL) があります フリー版と有料版の違いは デジタイズ後の処理や Twain 機器からのダイレクトスキャン ラスターデータの編集やコントラスト調整の有無等になります 通常の使用では フリー版で十分だと思います 出力できるデータは DXF に限られます 配布元 http://www.softsoft.net/wintopo/ 8
画像データを用いたモデリングについて (4) 使用するソフトウェアについて ( デジタイジング ) Enguage Digitizer Enguage は Cutting 及び WinTOPO と異なり CAD データを出力することは出来ません このソフトウェアは 画像データ中に含まれる輪郭 ( 線分や曲線など ) に対して点データを生成します 出力データのフォーマットは CSV フォーマットとして出力されます このソフトを使用するには X 及び Y 方向のスケールが判明している必要があります 又 S-S 曲線や温度プロファイル等スケールが明示されているデータに対しては非常に有効なツールとなります デジタイザーとしては 限定的な使用となります 配布元 http://digitizer.sourceforge.net/ 9
画像データを用いたモデリングについて (5) デジタイジングについて デジタイザーとして 3 種類のソフトウェアを紹介しましたが Cutting と WinTOPO について 線分の抽出方法が異なります 以下の図は 線分を拡大した状態を示しています ラスターデータをベクターデータに変換する際 Cutting では 1 本の線分に対して輪郭 ( 外側 ) を抽出し 2 本の線分 ( 青色 ) として出力します 一方の WinTOPO では Cutting と同様に輪郭を抽出する方法と輪郭から中心線を導きだし 1 本の線分 ( 緑色 ) として出力する方法の 2 通りが使用出来ます どちらのソフトを使うかにより寸法が変化しますので 注意が必要です Cutting による出力 WinTOPO による出力 ソフトウェアの違いによる出力形状の差について 10
実際の作業について (1) 前処理 スキャナーにより取り込まれた画像データに対して レベル出し ( 画像や図形の傾きを補正する ) や不要な部分及びノイズを削除する作業を行う ( 作業は他のツールでも構わない ) ここでは GIMP を用いた方法について説明する (1) 画像ファイルの読み込み GIMP を起動し 対象とする画像ファイルを読み込む 画像ファイルが読み込まれた状態 11
実際の作業について (2) 前処理 (2) 傾きの測定 GIMP の定規コマンドを使用して 形状の傾きを測定には 定規ツールを使用する 定規ツールはコンパスの形状をしたアイコンである ( 部 ) 定規ツールが選択されると マウスポインタの形状が + に変更されるので 傾きを測定したい形状の始点 (A) と終点 (B) を選択する 測定された角度は ステータスバーに表示される ( 部 ) ワンポイント定規ツールを用いて角度を測定する場合 [SHIFT] キーや [CTRL],[ALT] キーを併用する事で補助機能を使用出来ます [SHIFT] キーを押しながら測定する場合 [SHIFT] キーを押しながら測定すると 角度測定時の終点を始点として新たな角度を計測することが出来る A ( 始点 ) この形状に対しての傾きが求められる B ( 終点 ) [CTRL] キーを押しながら測定する場合角度を 15 間隔で測定することが出来る [ALT] キーを押しながら測定する場合ガイドとして垂直線が表示される [CTRL]+[ALT] ガイドとして水平線と垂直線が表示される 12
実際の作業について (3) 前処理 (2) 傾きの修正定規ツールにて 形状の傾きの測定が完了したら 回転ツール ( 部 ) を用いて傾きの修正を行う 測定された傾きはステータスバーに表示されているので角度を予め確認しておく 回転ツールが選択されると画面上にグリッドが表示される この状態で 画面上の任意の点をクリックすると回転ダイアログが表示されるので 角度を入力し回転ボタンを選択する事でモデルを回転させることが出来る モデルの傾きが修正されたら *.bmp 形式にて保存する 回転ダイアログ 回転ツール選択に伴い 表示されたグリッド 13
実際の作業について (4) デジタイジングデジタイジングについては Cutting と WinTOPO を用いて前処理にて生成された画像ファイルを変換対象として作業方法の説明を行う (1)Cutting を用いたデジタイジング作業 Cutting を起動すると ファイル選択画面が表示されるので 処理したい画像ファイルを選択すると 右下図のような起動画面が表示される Cutting の場合は 細かなパラメータ設定等は 不要で出力したいファイルフォーマットを選択し カットデータ出力というボタンをクリックするだけで CAD モデルが出力される ( 正確には IGES あるいは DXF 形式の 2 次元 CAD データが出力される ) Cutting ファイル選択画面 Cutting 起動画面 14
実際の作業について (5) (2)WinTOPO を用いたデジタイジング作業 WinTOPO を起動すると 以下の様な起動画面が表示されるので デジタイジングしたい画像ファイルのインポートを行う Set One touch vectorisation option 起動画面 画像ファイルのインポート後 メニューバーの右端にあるアイコン (Set One touch vectorisation option) をクリックする事でデジタイジング作業が完了する デジタイジング作業の完了後は 変換済データを保存する 15
実際の作業について (6) CAD モデルの作成デジタイジングにより画像ファイルから生成された CAD データを用いて CAD モデルを作成する方法の説明を行う (1)FreeCAD を用いた CAD モデルの作成作業 FreeCAD を起動すると 以下の様な起動画面が表示されるので ファイルメニューより新規作成を選択し 新しいプロジェクトを作成する FreeCAD の起動画面 16
実際の作業について (7) CAD モデルの作成デジタイジングにより画像ファイルから生成された CAD データを用いて CAD モデルを作成する方法の説明を行う (2)FreeCAD を用いた CAD モデルの作成作業ファイルメニューより新規を選択すると表示画面が変更されるので 続いてファイルメニューよりインポートを選択し デジタイジング作業にて作成された CAD モデルのインポートを行う 新規プロジェクトの作成 ファイルインポート後 17
作業の問題点 作業の自動化 ( 特にノイズや汚れ等画像のクリーニング ) が必要 最低でも 1 箇所の寸法が判明している必要がある 画像から抽出される形状はポリライン等 ( 主に点と線で構成される ) であり そのまま形状を作れるわけではない FreeCAD のバージョンに左右される (FreeCAD 0.14 では dxf や IGES ファイルが読めない等の問題が多発する ) 18
3D スキャナーの利用について 3D スキャナーとは 立体物等を計測し 数値モデルに変換する為に用いられる装置の事である 3D スキャナーは 接触式と非接触式に分類する事ができ それぞれに利点と欠点がある為測定対象や大きさ等を考慮し 目的に合った方式を選択する 3D スキャナーの分類ついて 19
3Dスキャナーの原理レーザースキャン方式レーザー光を用いた3Dスキャナーの計測方法には主に3つの方式があります 3 つの方式とは 三角法方式 タイム オブ フライト方式 位相差方式 ( フェイズ シフト ) これら 3 種類の方式のうちの 1 つとして三角方式について説明します あらかじめ レーザー光源 (A) とカメラ (B) 間は 距離と角度が決められています 又 レーザー光が照射された対象物上に作られた光点を C としますが レーザー光は掃引されるため 掃引後の光点は C となります このような関係が満たされる時 三角形 ACB( 及び掃引後の AC B) が成立します この三角形が成す角度を求めることで対象物の位置を求めることが出来ます これは 三点測量の原理です 又 Kinect では Light Coding という技術と三角法測定を組み合わせています C C B A 距離 対象物 20
3D スキャナーの原理 格子投影方式 ( モワレトポグラフィー ) 格子投影方式は 計測対象物に対して 格子パターン光を複数箇所から照射し 得られる等高線画像を位相解析することで形状を抽出する レーザーを用いたスキャナーよりも精度が低い製品が多く 細かな形状の測定には 不向きであることが多い フォトグラメトリ計測対象物に対して 複数の計測点から撮影された 2D 画像を用いて 視差解析を行うことにより形状を抽出する 計測対象物の色情報を取得する事が可能である ( 対象機器による ) 21
3D スキャナーについて 3D スキャナーに KINECT を用いる FARO 社の SCENECT Matter and Form 社製スキャナー 22
3D スキャナーとフリーウェアについて 3DScanner Point Cloud 点群 STL 専用ポストプロセッサー FEM/CFD Mesher MeshLab MeshMixer InStep STL の修正 リダクション CAD モデル (STEP) への変換 STL の修正 23
使用するソフトウェアについて (STL の処理 ) 3D スキャナーを用いたモデリングについて (1) STL や PLY 等パッチ系モデルデータの変換や編集 クリーニング リダクション レンダリング等に使用 MeshLab( 配布元 ) http://meshlab.sourceforge.net/ 24
使用するソフトウェアについて (STL の処理 ) Instep 3D スキャナーを用いたモデリングについて (2) STL から step 形式の CAD モデルを生成 1 つのファセットが 1 つのサーフェースとして変換される STL の欠落面修正機能 ( 穴埋め ) 等の機能もある 有償で $149 配布元 http://www.solveering.com/instep.htm 25
STL から CAD モデルの作成へ Meshlab による STL の表示 Instep による STL から step 形式への変換 FreeCAD にインポートされた Instep により変換された step 形式の CAD モデル 26
作業の問題点 (1) レーザーを用いたスキャンは 対象物の表面や素材により影響を受けやすい 表面に起因する障害表面が鏡面 ( あるいは 鏡面に近い場合 ) だと乱反射により正確にスキャンできない表面に細かな凹凸 ( シボ等 ) がある場合も正確にスキャン出来ないこのような問題は 主に金属製品をスキャンする場合に生じるが 表面が平滑なプラスチック部品でも発生する場合がある このような問題を回避するには 専用のスプレーやタルク ( ベビーパウダー ) 等を使用して表面処理をする方法がある 又 グレーのペイントにより塗装するという方法もある 素材に起因する問題ガラス等透明あるいは半透明の対象物についても正確にスキャンすることが出来ないこれは レーザーが対象物を透過してしまう為である スキャンしたい場合は レーザーを透過させない為に塗装やフィルムの貼り付ける等の作業が必要となる 27
作業の問題点 (2) 1 度でスキャンできない形状もある FaroArm の様なスキャナーならスキャンする角度を変えることで 多重スキャンが行えるが安価なスキャナーにはそのような構造 機能を持った物はない その為 スキャン対象物の向きを変えてスキャンすることになるが位置合わせは困難である 商用で使用されているソフトウェアでは 位置合わせの機能を持った物があるが そのような機能が無い場合は スキャン対象物に穴や突起 その他特徴的な形状がある場合はその部位を含んだ状態でスキャンを行い Meshlab や Meshmixer 等を用いて 特徴的な形状を利用した位置合わせを行ったあと ブレンディングを行い一体化させる 形状的な特徴が無い場合は ガイドとなる様な物を貼り付けてスキャンしたり座標値などによる位置合わせ方法がある STL について 商用のアプリケーションでは STL から自動的にサーフェースを生成する機能等があるが フリーウェアやオープンソースではそのような機能を有するアプリケーションが存在しない STL 形状でメッシュを作成すると STL 自体の離散化形状がそのままメッシュに表れてしまう為不都合が生じる場合がある 現状では STL 形状を一度 FreeCAD 等にインポートし STL 形状をガイドとしてソリッドモデルやサーフェース等を作成する方法で対応している STL から CAD モデルへの変換あるいは 作成手法の確立が今後の課題である 28