Daisuke YAMAGUCHI

Results 6 comments of Daisuke YAMAGUCHI

Fusion360 を触ったことがないですが、スケッチの概念があったり、[Curve3D クラス](http://help.autodesk.com/view/fusion360/ENU/?guid=GUID-283c1e3d-2260-4d5b-ae9e-f84b8f6a0ca9)があるところを見ると Fusion360 自体はしっかりした構造を持っていて、パーサ側の機能がないようですね。 siren で IGES ファイルを読み込み、Fusion360 向けの Python スクリプトを出力する mruby スクリプトを書いてみました。 ``` #!siren # coding: utf-8 iges = "sample.iges" py = "sample.py" # 評価用の IGES ファイルを生成 def...

[BRepPrimAPI_MakePrism](https://www.opencascade.com/doc/occt-7.0.0/refman/html/class_b_rep_prim_a_p_i___make_prism.html) を使用する。 現在、 `Siren.sweep_vec` は TKOffset の [BRepOffsetAPI_MakePipe](https://www.opencascade.com/doc/occt-7.0.0/refman/html/class_b_rep_offset_a_p_i___make_pipe.html) を呼んでいるが、このメソッドを実装したら不要となるため廃止する。

別 API の開拓、賛成です。 > そもそも現状ではまずい理由は? 特に現在 `Siren::Filler` で実装済みの `BRepFill_Filling` で問題が発生しているわけではありません。与える引数の意味や取り得る値の範囲・与える引数によって生成される曲面の傾向…etc. を私があまり理解していないところが大きいです。API 内部で曲面を生成しているので仕方ないのかもしれませんが、強いて言うなら、処理コストが少しかかります。 種類を増やして、それぞれの傾向を見て、使い分けができる環境を整えていきます。

> Siren::Filler は NURBS 曲面を作るかどうか理解していませんが,NURBS 曲面となると,球面も含まれると思います. 内部で生成される曲面の状態をパラメータ(NURBS 曲面の場合は uv それぞれの degree, knots, poles/control vertices, weights)として確認できるようにするため、Surface クラスの新規実装を #23 に追加しておきました。 OCCT の [Geom_Surface](https://www.opencascade.com/doc/occt-7.0.0/refman/html/class_geom___surface.html) のクラス派生図は次のとおりです。 ![](https://www.opencascade.com/doc/occt-7.0.0/refman/html/class_geom___surface__inherit__graph.png) Geom_SphericalSurface もありますが、Filler 内部で仕様している OCCT API の BRepFill_Filling...

``` include Siren # 3x3 の平面 myface = plane [0, 0], Vec.z, Vec.x, 0, 3, 0, 3 # WIRE 化できないが split 時にそれぞれ影響し合う EDGE es = [] es

ae31b439 のように改修してみました。 [この評価スクリプト](https://github.com/dyama/mruby-siren/commit/ae31b439725ec39b5c998239a547f0ca15ce6385#diff-33a0634b005238bf703736a2f27f68e9)の最後で OCCT の NoSuchObject 例外が発生します。スクリプトで生成している FACE 1つと EDGE 4つは次のような形状です。 ![split](https://cloud.githubusercontent.com/assets/1341877/18590759/ffe5632e-7c6a-11e6-9663-c77178981eb9.jpg) [BRepFeat_SplitShape](https://www.opencascade.com/doc/occt-7.0.0/refman/html/class_b_rep_feat___split_shape.html) の TopoDS_Compound を引数にとる [Add](https://www.opencascade.com/doc/occt-7.0.0/refman/html/class_b_rep_feat___split_shape.html#a99f9ba47de6ec389c69846ae233cc7e0) に次のような記載がありました。 > Adds the compound on the face . The compound must consist...