問題タブ [opencascade]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mesh - OpenCascade:細長い三角形を細分化する方法は?
OpenCascadeを使用して、STEP/IGES をメッシュとしてソフトウェアにインポートしています。うまく動作します。
しかし、私は小さな三角形が必要です.私が得るものは、時々非常に大きく(平らな領域で)、または非常に細長いです(例えば、円柱をメッシュするとき)。最善の方法は、三角形のエッジを絶対値よりも大きく分割することです。T頂点も避けます。
私はそれについて何もググることができませんでした...したがって、現在、メッシュをOpenMeshに渡し、オペレーターを適用しOpenMesh::Subdivider::Uniform::LongestEdgeT
てから、ソフトウェアに戻します。複数の M 三角形を管理するときは、面倒で費用がかかります...
質問:
- OpenCascadeに相当するものはありますか?
- または、そうするために独自のループを実装するための単純なコード スニペットですか?
ありがとう !
mesh - PyGmsh / Gmsh に内部境界またはクラックを追加する
次のコードを使用して、PyGmsh を使用して有限要素メッシュを生成しようとしています。
次のメッシュを生成できます。
ただし、次のようなメッシュにクラックを追加したいと思います。
ここでの亀裂は単なる例であり、メッシュ プロセスの前に定義する必要があります。2 つの点 ( geom.add_point()
) と線 ( geom.add_line()
)
を作成してgeom.boolean_difference()
から、最終的なジオメトリと線/クラックの間を作成しようとしましたが、うまくいきません。
どんな助けでも大歓迎です。
編集
このタイプのメッシュ生成の目的は、ボディの物理的な亀裂をシミュレートすることです。メッシング プロセスでは、メッシュの要素接続によって亀裂をモデル化できます (つまり、要素は亀裂面を作成するために異なる節点を持つ必要があります)。例: 荷重を適用する前に、クラックが閉じられます。
荷重を適用した後、要素の接続性により次のことが可能になるため、亀裂が開きます。
opencascade - OpenCASCADE チュートリアルでの `BRepLib::BuildCurves3d` 呼び出しの目的は何ですか?
OpenCASCADE 初心者として、OpenCASCADE チュートリアルを読んでいます。
https://www.opencascade.com/doc/occt-7.4.0/overview/html/occt__tutorial.html
次の 2 つの興味深い呼び出しがあります。
このチュートリアルでは、これら 2 つの呼び出しの必要性について次のように説明しています。
これらのワイヤは、サーフェスと 2D 曲線から構築されていることに注意してください。これらのワイヤに関する限り、1 つの重要なデータ項目が欠落しています: 3D 曲線に関する情報がありません。幸いなことに、これを自分で計算する必要はありません。これは、数学が非常に複雑になる可能性があるため、難しい作業になる可能性があります。形状に 3D 曲線以外の必要な情報がすべて含まれている場合、Open CASCADE Technology はそれらを自動的に構築するツールを提供します。
BRepLib
ツール パッケージでは、このメソッドを使用して、BuildCurves3d
形状のすべてのエッジの 3D 曲線を計算できます。
私は完全に明確ではありませんでした。
TopoDS_Shape
あるオブジェクトを構築したと想像してください。
BRepLib::BuildCurves3d
一般に、呼び出しが必要かどうかを判断するにはどうすればよいですか?