Skip to content
Daisuke YAMAGUCHI edited this page Sep 7, 2016 · 12 revisions

要約

Siren::Filler クラスは、高度な幾何演算によって複雑な曲面を生成するためのクラスです。主に外周線とサポート(曲面が通過する)点・線を用いた穴埋め(Filling)用途に用いられます。 Open CASCADE の BRepFill_Filling クラスに相当します。

使用方法

  1. new メソッドでインスタンスを作成します。
  2. add_bound メソッドで外周線となるエッジを追加します。
  3. 必要に応じて、add メソッドでサポート点、サポート線を追加します。
  4. build メソッドで計算を実行します。
  5. done? メソッドで計算結果を取得します。
  6. done? が真の場合、face メソッドで結果の曲面を取得します。

実際の siren スクリプトでの例は、こちらにあります。

注意

  • 外周線が破綻していたり、サポートとなる点や線が数学的に解を算出できないような状態の場合、計算が失敗し曲面を生成することができません。

特異メソッド

  • new(degree=3, nb_pts_on_cur=15, nb_iter=2, anisotropie=false, tol2d=0.00001, tol3d=0.0001, tolang=0.01, tolcurv=0.1, maxdeg=8, maxsegments=9) -> self
    • Filler オブジェクトを作成します。

インスタンス メソッド

  • add_bound(edge, order) -> nil

    • 生成する曲面の外周線となるエッジを追加します。
  • add(edge|point) -> nil

    • 生成する曲面が通過する点・エッジを追加します。
  • build -> nil

    • 曲面生成処理を実行します。
  • done? -> bool

    • 曲面生成処理に成功していたら真を返します。
  • face -> Shape | nil

    • 曲面生成処理にて生成されたフェイスを返します。
  • g0error(index=nil) -> float

  • g1error(index=nil) -> float

  • g2error(index=nil) -> float

Clone this wiki locally