#author("2021-01-19T21:42:29+09:00;2021-01-14T00:53:13+09:00","default:kouzouken","kouzouken") #author("2021-01-19T21:44:04+09:00;2021-01-14T00:53:13+09:00","default:kouzouken","kouzouken") *inpファイルからmshファイルを作成 [#hda83288] &link(blegmsh.f90,http://www.str.ce.akita-u.ac.jp/~gotouhan/emura/salome/blegmsh.f90) objファイルの節点と要素のデータから GMSH用のmshァイルを作るためのプログラム(S6六節点三角形要素用) まず、daiya.inpの冒頭にある節点番号と座標が並んでいる部分を setten.inpにコピーし、冒頭に節点数を記入。 daiya.inpの末尾にある要素番号と要素を囲む節点番号が並んでいる部分を youso.inpにコピーし、冒頭に要素数を記入。 blegmshを実行すると、blegmsh.mshが生成されているので、 それをGMSHで開くことができる。 *blender2.48のobj用のble6ccx(後藤メモ08/11/19) [#h88661d2] blender2.46や2.48では、エクスポートのobjファイルの名前が、 VideoscapeからWavefrontと変わり、書式も変わった。 -blender2.48で出力したWavefrontの例:&link(daiya248.obj,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/blender/daiya248.obj) このままでは、blender2.40のobj用の &link(ble6ccx.f,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/blender/ble6ccx.f)が使えないので、 blender2.46や2.48では、まず、以下のようにobjファイルをviで修正する。 -座標数値が始まる前の3行ぐらいのヘッダー部分を削除する。 -次にビジュアルモードにして、座標数値の頭についている'v 'を節点数の行数だけ箱選択で削除する。 --そのとき、冒頭にvのある行を箱選択することで、節点数がわかるので、その節点数を冒頭に書き込む。 -次に、座標値が終わって、節点番号が始まる間に2行ぐらいある「s off」みたいな文字列を削除する。 -ビジュアルモードにして、節点番号の頭についている'f 'を要素数の行数だけ箱選択して削除する。 --そのとき、冒頭にfのある行を箱選択することで、要素数がわかるので、その要素数を節点番号が始まる頭に書き込む。 -例えば、そのファイルを&link(daiya1.obj,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/blender/daiya1.obj)として保存する。 -&link(ble6ccx1.f,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/blender/ble6ccx1.f)をダウンロードして コンパイルする。 -./ble6ccx1<daiya1.obj>daiya1.inp のように実行。 上記のように、入力ファイルに要素数を書き込むようにしたので、 yousosuu.fを使う必要はない。 あと、blender2.40のobjでは、節点番号が0から始まるが、2.46,2.48では1から始まるのに 対応させたので、ble6ccx1.fという名前にしておいた。 *インポート [#r08e8756] -CADで書いたhoge.stlは読み込み可能。 *エクスポート [#v68323a6] -Videoscapeでエクスポートすると座標情報が出力される(みたい)。 -拡張子はhoge.obj *objの節点に8節点シェル要素用の中点を挿入するプログラム(後藤メモ) [#d36e5a3d] -まず、objファイル(hoge.obj)の末尾に、# matubi みたいなコメント行を挿入する。 objファイルにコメント行コマンドがあるのかどうか知らないけど、とりあえず末尾に #で始まる行をつけ足してもblenderでインポートはできるようなので。 -次に、&link(yousosuu.f,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/blender/yousosuu.f)をコンパイルして、./yousosuu<hoge.objを実行すると、要素数がyousosuu.txtに書き込まれる。 hoge.objの末尾に#を入れたのは要素数を数えるため。 -次に、&link(ble8ccx.f,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/blender/ble8ccx.f)をコンパイルして、./ble8ccx<hoge.obj>hoge.inpを実行すると、 (要素数はyousosuu.txtから自動的に読み込まれる) &link(tyuu8.obj,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/blender/tyuu8.obj)が出力され、hoge.inpにccxの入力データが書き込まれる。 荷重条件、境界条件、振動、温度などの設定は、適宜プログラムに書き込んで。 -&link(出力例,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/blender/rippous.inp) -blenderでtyuu8.objを読み込んでも、中間節点を表示させる方法がわかんないんだけど、 別にblenderで表示できなくても、これがあればccxの8節点シェル要素用のinpファイルは作れそうだよね。 -あと、ble8ccx.fから6節点三角形要素用を作るのは簡単だよね。 -6要素の立方体は動いたけど、もっと複雑なやつはどうか調べておいて。 -6節点シェル要素用:&link(ble6ccx.f,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/blender/ble6ccx.f):詳細は[[PCCPシェル]] --試験用ダイヤカットobjデータは&link(daiya.obj,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/blender/daiya.obj) *obj形式の例(8節点立方体) [#qfb89ef5] --( DG1 8 1.000000 1.000000 -1.000000 1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 1.000000 -1.000000 1.000000 0.999999 1.000000 0.999999 -1.000001 1.000000 -1.000000 -1.000000 1.000000 -1.000000 1.000000 1.000000 4 0 1 2 3 0xcccccc 4 4 7 6 5 0xcccccc 4 0 4 5 1 0xcccccc 4 1 5 6 2 0xcccccc 4 2 6 7 3 0xcccccc 4 4 0 3 7 0xcccccc --) -8は節点数? -その下は節点の座標? -その下は要素?面?の情報 -0xのあとのccccccはカラーコードっぽい。 **後藤ちゃちゃ(08/5/12) [#d5f07e2b] お、メッシュ情報も出そうな感じですね。 --( 6-5 z / /| / 2-1 4 →x | |/ ↓ 3-0 y --) みたいに節点0から7までが並んでいるとすると、 立方体を外側から見た6面を、正方形の頂点を左回りに(外向き法線の右ねじ回りに) 0 1 2 3だの4 7 6 5と指定しているようですね。 もっと細かいメッシュでも、1面ごとにこういう節点並び順を出力してくれるのであれば、ccxの8節点シェル要素の inpファイルに利用できそうですね(辺の中点はプログラムで求めてもいいし)。 **大黒や08/05/13 [#w0651ce6] -メッシュを細かくしてみた。 -http://www.str.ce.akita-u.ac.jp/~daikoku/gazou/zu1.png --( 3DG1 26 1.000000 1.000000 -1.000000 1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 -1.000000 1.000000 -1.000000 1.000000 0.999999 1.000000 0.999999 -1.000001 1.000000 -1.000000 -1.000000 1.000000 -1.000000 1.000000 1.000000 1.000000 1.000000 0.010000 1.000000 -1.000000 0.010000 -1.000000 -1.000000 0.010000 -1.000000 1.000000 0.010000 1.000000 -0.010000 -1.000000 -1.000000 -0.010000 -1.000000 1.000000 -0.010001 1.000000 -1.000000 -0.010000 1.000000 1.000000 -0.010000 0.010000 -1.000000 -0.010000 0.010000 0.000000 1.000000 -1.000000 -0.000000 -1.000000 -1.000000 0.000000 1.000000 1.000000 -0.000001 -1.000000 1.000000 -0.000000 -1.000000 0.010000 0.000000 1.000000 0.010000 0.000000 -0.010000 -1.000000 -0.000000 -0.010000 1.000000 4 12 0 8 16 0xcccccc 4 16 9 1 12 0xcccccc 4 4 14 16 8 0xcccccc 4 14 5 9 16 0xcccccc 4 10 17 13 2 0xcccccc 4 17 11 3 13 0xcccccc 4 6 15 17 10 0xcccccc 4 15 7 11 17 0xcccccc 4 9 22 19 1 0xcccccc 4 22 10 2 19 0xcccccc 4 5 21 22 9 0xcccccc 4 21 6 10 22 0xcccccc 4 8 23 20 4 0xcccccc 4 23 11 7 20 0xcccccc 4 0 18 23 8 0xcccccc 4 18 3 11 23 0xcccccc 4 18 0 12 24 0xcccccc 4 24 13 3 18 0xcccccc 4 1 19 24 12 0xcccccc 4 19 2 13 24 0xcccccc 4 15 25 20 7 0xcccccc 4 25 14 4 20 0xcccccc 4 6 21 25 15 0xcccccc 4 21 5 14 25 0xcccccc --) **大黒めも 08/06/19 [#obc146b6] -2.4でシェル要素用に平面をobjエクスポートする --座標とかは後藤さんのプログラムでできるけど、 拘束条件とか載荷条件は。。。 面とか節点のならび順にも規則があるんですかね。 *メッシュ [#pb42081c] -ナイフ機能で切ったりして、節点を増やせるみたい。 -【やり方1】 押し出しによる節点増加 Add:[スペース]→ MeshのGrid → 分割数指定(x)、(y)(※3と入力) →押し出す要素を選択[b]+[左ドラッグ]または、[Ctrl]+[右クリック]→押し出し:[e]→Regionを指定してドラッグ→決定されない状態で、テンキーで長さ入力(※分かりやすく1と入力) -【やり方2】3Dウィンドウのすぐ下にあるバーの面ボタン(△のボタン)で面のモードにする。→面を選択して、MeshToolsのsubdivideのボタンをクリック。→押し出し[e](注意:面のモードにするとメモリをくうので、フリーズする場合がある。) **後藤ちゃちゃ(08/5/14) [#j7053dad] ちょっと見やすくするために座標値の前に節点番号を書いてみる。 やっぱり、メッシュを切っても一面ずつの外向き法線右ねじまわりに節点番号を出力してくれるんですね。 12 0 8 16だの16 9 1 12だの。 8節点要素用に辺の中点に節点を入れることはblenderでできないのすか。 --( 6--21-- 5 z / / / | / 10--22--9 14 →x / / /| /| ↓ 2--19--1 16 4 y | | |/|/ 13--24-12 8 | | |/ 3--18--0 0 1.000000 1.000000 -1.000000 1 1.000000 -1.000000 -1.000000 2 -1.000000 -1.000000 -1.000000 3 -1.000000 1.000000 -1.000000 4 1.000000 0.999999 1.000000 5 0.999999 -1.000001 1.000000 6 -1.000000 -1.000000 1.000000 7 -1.000000 1.000000 1.000000 8 1.000000 1.000000 0.010000 9 1.000000 -1.000000 0.010000 10 -1.000000 -1.000000 0.010000 11 -1.000000 1.000000 0.010000 12 1.000000 -0.010000 -1.000000 13 -1.000000 -0.010000 -1.000000 14 1.000000 -0.010001 1.000000 15 -1.000000 -0.010000 1.000000 16 1.000000 -0.010000 0.010000 17 -1.000000 -0.010000 0.010000 18 0.000000 1.000000 -1.000000 19 -0.000000 -1.000000 -1.000000 20 0.000000 1.000000 1.000000 21 -0.000001 -1.000000 1.000000 22 -0.000000 -1.000000 0.010000 23 0.000000 1.000000 0.010000 24 0.000000 -0.010000 -1.000000 25 -0.000000 -0.010000 1.000000 --) *辺の長さ・角度などの表示 [#e669eccd] -図形を書いたときに出てくる下のバーの Mesh Tools 1の中の、[Edge Length]、[Edge Angles]、[Face Areas]ボタンを押す。赤:長さ、緑:面積、青:点 *日本語化 [#n195f54a] 日本語化については、&link(ここ,http://f11.aaa.livedoor.jp/~hige/index.php?%5B%5B%C6%FC%CB%DC%B8%EC%B2%BD%A4%B9%A4%EB%CA%FD%CB%A1%5D%5D) を参照。 **大黒メモ08/05/30 [#re331264] blender2.4.6をlocalにいれたら、 日本語化ができなくなった。 どうしてだろうか。 *参考ページ [#sacd099c] -http://wbs.nsf.tc/tutorial/tutorial_blender.html -http://www.usennet.ne.jp/~kiyoshi/manual/blenderTips.html -http://blender.jp/ -http://bear32.blogspot.com/ -http://f11.aaa.livedoor.jp/~hige/ -http://blendersl.slmame.com/ -http://www.hyper-ball.net/ -http://wiki.livedoor.jp/lab1092/d/FrontPage **使っている人のブログとか [#c2e02dbb] -http://bmania.blog70.fc2.com/ -http://ameblo.jp/blekei/theme-10002745858.html -http://took.blog72.fc2.com/blog-category-7.html -http://d.hatena.ne.jp/mist_bluewater/searchdiary?word=*%5BBlender%5D -http://ameblo.jp/d--j/theme-10003560159.html *CalculiXへの適用 [#y2752872] -http://bear32.blogspot.com/2006/11/blender.html -http://www.usennet.ne.jp/~kiyoshi/manual/CalculiX.html *DEXCSとの連携 [#c4f747a0] -オープンCAEのDEXCSというソフトもblenderでメッシュ作成している。 -このソフトは単一材料しかできないみたい。 -岐阜高専の柴田先生とデンソーが開発している。 http://dexcs.gifu-nct.ac.jp/pukiwiki/index.php?DEXCS%20Official%20Wiki *パース作成 [#d586e13f] **消点の設定 [#pf924e8a] 背景画像の座標を設定し、Blender上でモデルを作るときにその座標を使えるようにする。 背景の画像上に座標を設定し、Blender上でモデルを作るときにその座標を使えるようにする。 ***fSpyの導入 [#b524a488] -[[fSpy:https://fspy.io/]] --Linux版は、上記フロントページのDownloadよりAppImageをダウンロード。 --例えば、~/.Blenderにダウンロードした場合は、以下のようにして実行可能にする。 cd ~/.Blender chmod a+x fspy-*.AppImage --ついでに、~/.bashrcに以下を書いておくと"fspy&"で起動するので使いやすくなるかも。 export PATH="$PATH:~/.Blender/" alias fspy='fspy-1.0.3-x86_64.AppImage' -[[fSpy-Blender:https://github.com/stuffmatic/fSpy-Blender]] --Download the latest version より、fSpy-Blender-*.zipをダウンロード。 --ダウンロードしたファイルは、解凍せずに以下のようにBlenderに読み込む。 ---編集 > プリファレンス... > アドオン > インストール > fSpy-Blender-*.zip を選択し、「アドオンをインストール」。 ***fSpyの使い方 [#ydda51d7] -[[公式ページ:https://fspy.io/]]の動画でも大体わかるけど、[[YouTubeで検索:https://www.youtube.com/results?search_query=fspy]]するとわかりやすい動画がわんさか出てきます。 ***BlenderでfSpyファイルを読み込む [#c3b40324] -ファイル > インポート > fSpy > hoge.fspy を選択し、"Import fSpy project file".