• 締切済み

STLフォーマットファイルの作成

最近の3DのCADの標準的な形式としてSTLがあります(私は知らなかったのですが)。考え方はどんなに複雑な面であっても細かい三角形の平面で近似でき、細かくすればするほどリアルになるということなのだと思います。テキストでもありバイナリ化もできるとのことです。3Dプリンタもこれを使うとのことですが。  割と簡単な形状のもの(スイミングプールとか直線の水路とか羊羹のような形状ですが、少しの造作物はあり)のような場合、頑張ればテキストエディタでも作れますが、実際にはソフトウェアで絵をかいてSTL形式に出力する、というのが普通なのでしょうか。プールは単なる直方体ではなくて、底面、側壁が肉厚をもったものであるのでそこまで表現しようとしたら面倒ですし間違いそうです。やはりCADソフトを使うべきであり、テキストエディタはあり得ないというものでしょうか。FreeCADなどを見ているとそこまでの帰納でなくてもいいかも、と思うのですが。  また、STLの形式ですが、面の法線ベクトルと三角形の頂点座標でできている極めて単純と言えそうですが、頂点座標があったら法線ベクトルはほぼ特定できているはずで、頂点座標から法線ベクトルが算出されるとしたら入力値と矛盾が生じるので間違いのもとにならないかなと思いますが。どうでしょうか。裏表があるから必要ということなのでしょうか。右ねじ法則でルールを決めたら裏表もないはずですが。  逆にものすごく詳細なSTLは作業としてどのようにして作られているものでしょうか。人間の臓器とか顔とかとにかくもとになるデータを得ることが難しいものなのですが。

みんなの回答

  • hahaha8635
  • ベストアンサー率22% (800/3609)
回答No.5

地形錬成 https://3dnchu.com/archives/instant-terra-pubric-beta/ 都市錬成 http://100lightyear.hatenadiary.jp/entry/20150923/1442963176 バスや車トラック などは フリーである 富士山あたりは国土地理院が衛星からスキャンしたデータを公開してる https://www.dogrow.net/3dprint/blog6/

  • hahaha8635
  • ベストアンサー率22% (800/3609)
回答No.4

ちなみに STL 直ではないがテキストで立体を作り 書き出す方法はないことはないが あなたが思ってるような簡単なものじゃない C言語のマスター ・ DXライブラリのマスター が必要 あなたがイメージしたものの実態 https://araramistudio.jimdo.com/2017/08/22/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-directx-11%E3%81%AE%E9%A0%82%E7%82%B9%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%E3%81%A8%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%E3%83%90%E3%83%83%E3%83%95%E3%82%A1/ 書き出しにも同様なことをやる ↑ こんなことやってられないので 外部ツールを使う 今はブレンダーがあるので 絶滅しつつあるが メタセコ http://www.metaseq.net/jp/download/ 活動中 doga http://doga.jp/2010/programs/index.html 開発終了 六角大王 http://www.clip-studio.com/clip_site/download/rokkaku/rdtrial/index ↑ 絶滅 クリップと統合 ↑ 3DCG初期時代 1990年代後期から2000年代前期 オープン無料版はブレンダーに駆逐されていった 商用版はAUTODESKに買収 3DMAXやMAYAなど ↑ 開発情報収集版の無料がFusion 360 いまはモブをいかに安く作れるかをいろんな機関で作ってる それらが 先に説明したもの 3Dスキャナーも廉価版もある 3Dスキャンもできる! 10万円以下で買える3Dプリンター「ダヴィンチ Jr. 1.0 3in1」 https://kakakumag.com/pc-smartphone/?id=4437&page=2 ↑ スキャナーなしを持ってるが成形中の匂いがすごい ランニングコストが高い ので 自作CNCを制作中

skmsk1941093
質問者

お礼

回答ありがとうございます。人や動物、コーヒーカップとかの身の回りの物体のように閉じられた空間のものとは異なり、街区、公園、学校、河川、丘陵地形とかオープンな空間での近似的な(どこまでも詳細は不可能)空間の表現に適するソフトウェアがないでしょうか。近似だけどざっくり合うとかです。例えば日本海、日本列島とかです。日本海や日本列島はある種の容易さがあります。地形標高の点群データがあるからです。緯度・経度・標高です。3Dスキャナに取り込んでデータを取ることが不可能なものですが、スキャナでの詳細なデータが取れないけれど、平面図(地図)などの情報はある、ということが前提なのですが。 ブレンダーはスタンダードなものになっているのでしょうか。使いずらいというか覚えにくいなあといつも思います。ワープロソフトのように使い方は習わないけど、カンで操作できると言う感じがしないのですが。

  • kon555
  • ベストアンサー率52% (1751/3360)
回答No.3

>>イメージの世界を表現するような場合  これは別に図面がマストというわけではないでしょう。  車などであれば、たしか粘土で造形したクレイモデルという実物模型を作成しますし、映画やゲームに使用するCGには多分図面はないですし。 >>物体の内側という情報は当然あるということだと思います  ところが、データ的には「内側」という概念はありません。スキャナで読み取れるのはあくまで表面だけです。  イメージ的には、極薄のお面のようなものを考えてもらえればいいですね。表と裏という概念はあり、また凹凸や穴は再現していますが、内側というか、"中身"にはなにもありません。  3Dプリンターで製造する際は、基本的にはそうした空白部分を一律で埋め尽くして作ります。例えば車などのタイヤは中身が空気ですが、これをスキャナで読み取って単純に出力すると、中身までみっちり詰まった形で出力されます。  この辺りは内部構造を理解している人間が、スキャンデータに手を加えて改めてモデリングします。またCTスキャンで内部を含めた結果を3D出力という事も出来ますが、非常に高価な危機が必要になります。

  • kon555
  • ベストアンサー率52% (1751/3360)
回答No.2

 STLデータをテキストエディタで書くのはありえませんね。仮にテキストエディタで書けそうなレベルの単純な造形であっても、3DCADで書いた方が間違いにくいですし、サイズの調整や変更も簡単です。そもそもテキストで書いたデータの妥当性を確認できないですからね。    実際のところ、業務であれホビーレベルであれ、多くの場合3DCADはオーバースペックです。機能をフルに活用している人間など多分いません。  なぜなら「3次元的に存在する形状をすべて作れるようにする」というのが3DCADの存在意義ですが、個々のユーザーは別にあらゆる形状を作ろうとはしないからです。  そういう物だ、と思ってください。まあ新規導入するなら、CAD自体はともかくPCスペック等でちょっとお金がかかったりしますけど。  STLのデータ形式については詳しくありませんが、軽く調べたところ、内外の判定などに使用しているソフトが多いみたいですね。  まあデータ形式が真に合理的であった試しもなし、これもまた「そういう物だ」の範疇でしょう。  最後に「ものすごく詳細なSTL」についてですが、世の中には3Dスキャナーという物があり、物品の表面形状を子細に読み取る事ができます。 https://www.youtube.com/watch?v=xD6ObpxB77Q  これらをソフト的にSTLデータに変換し、活用することができます。  人間の内臓などについては、模型やホルマリン漬けはむしろ遥か昔からあったわけですから、スキャン元もたくさんあります。また単に3D上で形状を作りこむケースも多いでしょう。  余談になりますが、こうした3Dスキャナーの高性能化と廉価化によって、3Dモデリングの世界ではまた手での実物造形が興隆しています。  要は最初から3DCADのデータ上で作る派と、先に手で自由に作りこんでおいて、スキャナで3D化し、最終的にソフトで微調整する、という派です。  最先端技術の革新が、一周回ってローカルな手法に光をあてるという、非常に面白いことになっています。

skmsk1941093
質問者

お礼

回答ありがとうございます。 3Dスキャナというものですが、模型は必要ということになりますね。実物の模型がなく頭で考えたイメージの世界を表現するような場合、図面越しから入って手作業ということになるでしょうか。座標を決めて手作業でのテキスト入力にならざるを得ないでしょうか。何の手がかりもないが、作れとは言えないからですが。やはりお絵かき程度のCADでSTLが出せるといいなあとは思います。ブレンダーも使いこなすは大変そうです。 私は3Dスキャナーも3Dプリンタも使ったことがないです。これらのデバイスですが、物体の内側という情報は当然あるということだと思います。どうやって内側(外から見えない)ものの情報とか表現が可能になるのでしょうか。←これは素人質問ですが。(本当に素人だからしょうがないですが)

  • hahaha8635
  • ベストアンサー率22% (800/3609)
回答No.1

https://www.autodesk.co.jp/campaigns/design-now ↑ 無料 facegen 無料 https://facegen.com/modeller_demo.htm 動画 https://www.youtube.com/watch?v=m2b62JmYqW0 人体錬成はと統合版はautodeskにあるが まだまだ使いにくい キャラクタジェネレータ 体験版あり https://www.reallusion.com/jp/character-creator/

関連するQ&A

  • STLファイルの部品寸法をCAD内で測定する

    STLの部品データをCAD内で座標設定して形状寸法を測定したいと思います。 当方solid edge,catia,i-deasを所有していますが、i-deasのみ読み込めますが、寸法測定出来ません。測定するにはサーフェイスデータに変換するソフトを使用するしかないでしょうか?それとも上記のCAD又はそれ以外で寸法測定する方法があるでしょうか? 目的は3次元スキャンしたデータから形状寸法を知る為です。点郡データはメッシュかけてSTL出力しか出来ないので、宜しくお願いします。

  • 3次元の物体、例えば正四面体の頂点のデータを取得したとします。正四面体

    3次元の物体、例えば正四面体の頂点のデータを取得したとします。正四面体は1つの面は三角形ですので3つの点の(x,y,z)座標が得られていることになります。で、それが4面なので4セットあることになります。さて、質問ですが、その面に対する物体の”外向き”単位法線ベクトルを計算することを考えます。法線ベクトルは割りと簡単に計算できますが、外向きか、内向きかを判別するアルゴリズムにはどのようなものがあるでしょうか。その1つの面(3つの点)だけだったら物体の全体像がわからないのでその他の点(残り1つですが)を使うことになると思いますが。どのようになるでしょうか。 また、正n面体の物体ではどうなるのでしょうか。正でなくn面体ならどうなるかという問題があります。 面構成する頂点の座標が与えられているというのが基本の前提条件です。よろしくお願いします。

  • Xファイルの法線情報について

    現在、DirectX10を利用して3Dゲームを制作しています。 3Dデータを読み込むためにXファイルを使用しています。 Xファイルの読み込みは自分でXファイルパーサーを作成しています。 そして、 Xファイルには法線ベクトルの情報が入っています。 これは面法線情報であると今まで思っていました。 (理由:法線情報数が面情報数と一致していたので) しかし、最近になって、頂点法線情報が入っているXファイルの存在を知りました (理由:法線情報数と面情報数が一致せず、頂点数と一致していたので) そこで質問があります。 Xファイルに入っている法線情報が面法線なのか、頂点法線なのか 知る方法を教えてください。 よろしくお願い申し上げます。

  • 3DCGで使う拡張子PLYファイルの文法

    3D-CGで使用される拡張子PLYのファイルの内部構造(文法)について質問します。 頂点法線の意味、効果、使用法及び計算方法が分かりません。 また、flagsキーワードの使用法についても併せて質問します。 質問の経緯 練習でフリーソフトMeshLabを使った実験をしてみました。 MeshLabに表裏がある正方形の表示させる実験 実験1 STL形式でImportして正方形を表示させるには、 下記のように記述する必要がありました。 [STL形式の中身] solid seihoukei facet normal 0.0e+0 0.0e+0 -1.0e+0 outer loop vertex 0.0e+0 0.0e+0 0.0e+0 vertex 1.0e+0 0.0e+0 0.0e+0 vertex 0.0e+0 1.0e+0 0.0e+0 endloop endfacet facet normal 0.0e+0 0.0e+0 -1.0e+0 outer loop vertex 1.0e+0 1.0e+0 0.0e+0 vertex 0.0e+0 1.0e+0 0.0e+0 vertex 1.0e+0 0.0e+0 0.0e+0 endloop endfacet endsolid seihoukei 疑問点1 三角メッシュを構成する頂点の座標と右ねじの法則で面の形状と表裏の向きが幾何学的に確定する。形状について不明瞭な点は一切無いはずなのに2辺の外積を計算して法線を指定しなければならないのはなぜ? 実際、法線の指定を省略するとMeshLabは何も表示してくれない。この法線は何のために使われているのか? 実験2 実験1で読み込んだファイルをPLY形式でExportする。 [PLY形式の中身] ply format ascii 1.0 comment VCGLIB generated element vertex 6 property float x property float y property float z property float nx property float ny property float nz property int flags element face 2 property list uchar int vertex_indices property int flags end_header 0 0 0 0 0 1.5708 0 1 0 0 0 0 0.785398 0 0 1 0 0 0 0.785398 0 1 1 0 0 0 1.5708 0 0 1 0 0 0 0.785398 0 1 0 0 0 0 0.785398 0 3 0 1 2 0 3 3 4 5 0 疑問点2-1 法線は、幾何的に直線か平面に対してしか意味をなさないと思うが、頂点とペアになっているのは何を意味しているのか?この法線ベクトルは形状について表裏の向き以外のなにか重要な情報を含んでいるのか?どうやって計算したのか? 疑問点2-2 flagsキーワードは、何を意味するのか? ---------- 前回「3DCGのPLY形式で立方体を記述したい」というタイトルで質問しましたが、 より具体的な内容のほうが回答を得やすいと考え本質問を掲示しました。 前回の質問に補足質問を追加しようとしましたが、補足質問の入力ボタンを表示されないため新しく質問し直しました。

  • 三角錐の面の法線

     三角錐の各面の法線は、その面の稜線から、二つのベクトルの外積で求まるんですが、その2つのベクトルの選択は任意ですか? 三角錐の場合、各面は三角形で頂点は3つなので、始終点を考慮すると6つのベクトルがあります。そこから外積に使う2つのベクトルがあるんですが・・・ そこには「ただし面は頂点を反時計回りに回ったときが表とする」と書いてあります。

  • 3d 法線ベクトル計算 

    3dのポリゴンの法線ベクトルを算出するプログラムなんですが 以下のプログラムに間違っている部分はあるでしょうか 何度か試してみたのですが何度か0で除算したりしてしまいます 渡す数字が悪いのか、プログラム自体が間違っているのかわかりません 少し助けてください //法線ベクトル計算開始 x1=1つめの頂点のx座標 y1=1つめの頂点のy座標 z1=1つめの頂点のz座標 x2=2つめの頂点のx座標 y2=2つめの頂点のy座標 z2=2つめの頂点のz座標 x3=3つめの頂点のx座標 y3=3つめの頂点のy座標 z3=3つめの頂点のz座標 x4=x2-x1 y4=y2-y1 z4=z2-z1 x5=x3-x1 y5=y3-y1 z5=z3-z1 x6=y4*z5-y5*z4 y6=x4*z5-x5*z4 z6=x4*y5-x5*y4 //正規化 er=sqrt(x6*x6+y6*y6+z6*z6) x6=er*x6 y6=er*y6 z6=er*z6 //終わり /法線ベクトル計算

  • 三角形の面の傾斜をしらべるには

    3次元座標の中の、三角形の面の傾きを調べるには どのように計算したらいいのでしょうか。 三角形の頂点座標はわかっていて Yが高さで、X、Zが方向になっています。 アークタンジェントを使って面の法線の角度を 調べたり、してみたのですが、うまくいきません。 平面であれば、アークタンジェントの結果を360度のはんい に修正すればできるのですが、 3次元ベクトルの場合、角度はどうなっているのでしょうか。 よく、3次ベクトルは2次にZ座標が増えるだけと聞きますが 三角関数は平面しか計算できませんし、 XY平面、ZY平面でそれぞれ計算した角度を、 足せばいいとも思えません。 見た目で考えれば、空間に三角の斜面があればその傾斜角が ひとつだけあるはずなのですが、実際にはどのように 計算したらよいのでしょうか。 どなたかご存知の方がおりましたらよろしく お願いいたします。

  • ベクトルの表し方

    空間ベクトルについて質問です. xyz座標系で,A(x1,y1,z1),B(x2,y2,z2)としてベクトルABがあります.3点(1,0,0),(0,1,0),(0,0,1)を通る面に垂直な方向からベクトルABに光を当てて,この面をスクリーンとしてABを映した場合,映されたベクトルはどのように書けますか? 面の法線ベクトルを考えるところまでは思いついたのですが,それ以降が全く検討がつきません.ヒントだけでも教えていただけるとありがたいです.

  • 法線ベクトルの基礎中の基礎

    度々お世話になります。 直線のベクトル方程式とその法線ベクトルの関係で、 「直線ax+by+c=0において、n↑=(a,b)はその法線ベクトルである」との事ですが、このn↑=(a,b)というのは、成分表示ですから、n↑の始点を原点Oに取って、その終点の座標が(a,b)である、という捉えで良いのでしょうか。 例えば、次の基本的な問題 問 「二直線x+√(3)y-1=0…(1)、x-√(3)y+4=0…(2)について、 a,直線(1)(2)の法線ベクトルm↑、n↑のなす角θ。 b,二直線(1)(2)のなす鋭角α。 をそれぞれ求めよ」 を内積を使って計算だけで求めるのは教科書通りにやれば簡単に求まりますが、特に問題のbについて、自分で座標平面に作図してみたら、先の当方の捉え方ですと… まず、n↑=(1,√(3))、m↑=(1,-√(3))ですから、これをそれぞれ始点を原点に取って、それぞれの座標通りに終点を取りますと、n↑が二直線(1)(2)の内部のm↑と交わらずII象限で交わってしまうのです。 解説を見たところ、bの問題は、円に内接する四角形の定理からαを求めているように見えるので、法線ベクトルn↑は四角形を作るように、m↑と交わらないと定理が成り立たない気がするのです。 という事は、n↑に限らず、法線ベクトルは、普通のベクトル同様に、位置は問題にせず、任意に平行移動しても良いということになるのでしょうか。  計算間違いがあるかもしれないし、漠然とした内容の質問で申し訳ありませんが、アドバイス下さると有り難いです。 宜しくお願いします。

  • ベクトル解析の問題について

    以下の問題がわからなくて困っています。 楕円面の法線ベクトル 楕円面 5x^2+3y^2+4z^2+6xy+6yz+8zx-2=0 について 1.法線の方向ベクトルがz軸に垂直となる楕円面上の点は、すべて同一面上にあることを示せ。 2.(1)の点全体が作る曲線のxy平面上への正射影を求めよ。 3.S上の点でzの値が極大となる点の座標を求めよ。 4.各座標軸に垂直な平面からなる直方体で、Sに外接するももの体積を求めよ。 よろしくお願いします。