GrasshopperのCurveパネルにあるコンポーネントの機能を日本語で記載しています。緑のボタンをクリックで各グループ一覧にジャンプします。
左にあるA~Cは重要度で、Aが一番重要度の高いコンポーネントになります。

 

Analysis

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
C

Curve>Analysis>Control Polygon

Control Polygonコンポーネント

曲線(Curve)を入力し、制御点(Point)と制御点を繋いだポリライン(PolyLine)を出力する。
C

Curve>Analysis>Deconstruct Arc

Deconstruct Arcコンポーネント

円弧(Arc)を入力し、円弧が描かれた平面(Plane)、半径(Radius)と角度(Angle)を出力する。Arcコンポーネントの反対の効果。
B

Curve>Analysis>End Points

End Pointsコンポーネント

曲線(Curve)を入力し、始点(Start)・終点(End)をそれぞれ出力する。 曲線の向きは、Flip Curveコンポーネントなどで修正可能。
C

Curve>Analysis>Polygon Center

Polygon Centerコンポーネント

ポリライン(PolyLine)を入力し、その中心となる点を出力する。Cvは頂点の、Ceはエッジの、Caは面積の中心点を出力する。
B

Curve>Analysis>Control Points

Control Pointsコンポーネント

曲線(Curve)を入力し、曲線の制御点(Points)、ウェイト(Weights)、ノットの値(Knots)をそれぞれ出力する。
C

Curve>Analysis>Deconstruct Rectangle

Deconstruct Rectangleコンポーネント

矩形(Rectangle)を入力し、平面(Plane)とX・Y方向の範囲(Domain)をそれぞれ出力する。
B

Curve>Analysis>Curve Closest Point

Curve Closest Pointコンポーネント

点(Point)と曲線(Curve)を入力し、曲線上の最も近い点(Point)を出力する。また該当の箇所のtパラメータ値、移動した距離(Distance)も出力される。
B

Curve>Analysis>Discontinuity

Discontinuityコンポーネント

曲線(Curve)と連続性の段階(Level)を指定することで、該当箇所の点(Points)とtパラメータ値を出力する。Levelは1は正接連続、2は曲率連続、3はG3以上の箇所が該当箇所になる。詳細ボタン
C

Curve>Analysis>Closed

Closedコンポーネント

曲線(Curve)を入力し、閉じているかどうか(Close)、周期曲線(Periodic)かどうかをTrue・Falseで出力する。

B

Curve>Analysis>Curvature Graph

Curvature Graphコンポーネント

曲線(Curve)と密度(Density)、大きさ(Scale)を指定し、曲線の曲率を表示する。曲率の見方はこちらのヘルプを参照。
C

Curve>Analysis>Curve Nearest Object

Curve Nearest Objectコンポーネント

曲線(Curve)と複数のジオメトリ(Geometry)を入力し、曲線に最も近いジオメトリのインデックス(Index)を出力する。また点Aからは曲線上の最も近い点、点Bからはジオメトリ上の最も近い点が出力される。
C

Curve>Analysis>Curve Proximity

Curve Proximityコンポーネント

曲線A・Bを入力し、それぞれの曲線に最も近い箇所に点(Point)を作成する。またその距離(Distance)も出力する。
C

Curve>Analysis>Curve Side

Curve Sideコンポーネント

曲線(Curve)と点(Point)を入力し、左右のどちら側にあるのかを出力する。Sideからは、-1が左、0が曲線上、1が右。LとRからはTrue・Falseで出力される。
B

Curve>Analysis>Extremes

Extremesコンポーネント

曲線(Curve)と平面(Plane)を入力し、平面の垂直方向に最大(Highest)と最小(Lowest)となる点をそれぞれ出力する。(平面の水平ではなく垂直方向に注意すること)詳細ボタン
C

Curve>Analysis>Planar

Planarコンポーネント

曲線(Curve)を入力し、平面上にあるかどうか(Planar)をTrue・Falseで判別する。またその平面(Plane)、偏差(Deviation)も出力する。
B

Curve>Analysis>Evaluate Curve

Evaluate Curveコンポーネント

曲線(Curve)とtパラメータ値を入力し、該当箇所の点(Point)、接線ベクトル(Tangent)、曲線と接線の角度(Angle)を出力する。 t値はパラメータなので、曲線の長さの比率ではないことに注意。、tパラメータに関しては、こちらのページを参照。
A

Curve>Analysis>Point On Curve

Point On Curveコンポーネント

曲線(Curve)を入力し、値を指定して点(Point)を出力する。このコンポーネントでは、値は曲線の実際の長さの比率。
B

Curve>Analysis>Curvature

Curvatureコンポーネント

曲線(Curve)とtパラメータ値を入力し、該当箇所の点(Point)、垂線ベクトル(K)、曲率の値に応じた円を作成する。
B

Curve>Analysis>Curve Frame

Curve Frameコンポーネント

曲線(Curve)とtパラメータを入力し、曲線の進行方向に沿った平面(Plane)を出力する。平面は進行方向がX軸となる。
C

Curve>Analysis>Derivatives

Derivativesコンポーネント

曲線(Curve)とtパラメータ値を入力し、該当箇所の点(Point)、1からは接線ベクトルを出力する。オプションで+マークで端子を増やすことで、2からは加速度(1を微分した値)・・のように出力を増やすことが可能。
B

Curve>Analysis>Horizontal Frame

Horizontal Frameコンポーネント

曲線(Curve)とtパラメータ値を入力し、曲線の進行方向に沿いつつワールドXY座標に平行な平面(Plane)を出力する。
B

Curve>Analysis>Perp Frame

Perp Frameコンポーネント

曲線(Curve)とtパラメータ値を入力し、曲線の進行方向と垂直な平面(Plane)を出力する。
C

Curve>Analysis>Torsion

Torsionコンポーネント

曲線(Curve)とtパラメータ値を入力し、該当箇所の点(Point)とねじれ率(Torison)を出力する。
B

Curve>Analysis>Evaluate Length

Evaluate Lengthコンポーネント

曲線(Curve)と長さ(Length)を入力し、曲線上の該当箇所の点(Point)、接線ベクトル(Tangents)とtパラメータ値を出力する。NormalizedオプションはFalseだと実際の曲線長さ、Trueだと0から1までのパラメータ値で長さを扱う。詳細ボタン
A

Curve>Analysis>Length

Lengthコンポーネント

入力した曲線(Curve)の長さ(Length)を出力する。
C

Curve>Analysis>Curve Domain

Curve Domainコンポーネント

曲線(Curve)とドメインとなる値を入力し、ドメイン値を変えた曲線(Curve)を出力する。0 to 1 をドメインとして入力すると、Reparametrizeオプションと同様の効果。
C

Curve>Analysis>Length Domain

Length Domainコンポーネント

曲線(Curve)と範囲となるドメイン(Domain)を入力し、その長さ(Length)を出力する。
C

Curve>Analysis>Segment Lengths

Segment Lengthsコンポーネント

入力したポリカーブ(曲線)の最も短い曲線と長い曲線の長さ(Length)と範囲(Domain)の値をそれぞれ出力する。
A

Curve>Analysis>Point In Curve

Point In Curveコンポーネント

閉じた一本の曲線(Curve)と複数の点(Points)を入力し、内外判定を行う。0が外側、1が曲線上、2が内側。
A

Curve>Analysis>Point In Curves

Point In Curvesコンポーネント

閉じた複数の曲線(Curve)と複数の点(Points)を入力し、内外判定を行う。0が外側、1が曲線上、2が内側。また何番目の曲線に含まれるかをIndexから出力する。

Division

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
A

Curve>Division>Divide Curve

Divide Curveコンポーネント

曲線(Curve)と分割数(Count)を入力し、曲線を等間隔にする箇所に点(Points)を作成する。また作成された点における接線ベクトル(Tangents)とtパラメータ値も出力する。
A

Curve>Division>Shatter

Shatterコンポーネント

曲線(Curve)とtパラメータ値を入力し、該当箇所で分割した曲線(Segments)を出力する。
C

Curve>Division>Contour

Contourコンポーネント

曲線(Curve)、始点(Point)、方向ベクトル(Direction)、間隔(Distance)を入力し、等間隔になるように点(Contours)を作成する。また該当となる点のtパラメータ値も出力する。
C

Curve>Division>Contour(ex)

Contour(ex)コンポーネント

曲線(Curve)、開始する平面(Plane)を入力し、点(Contours)を作成する。また該当となる点のtパラメータ値も出力する。距離の指定は、元の平面をオフセットする値(Offsets)か、平面同士の間隔(Distances)かどちらかで指定する。
C

Curve>Division>Dash Pattern

Dash Patternコンポーネント

曲線(Curve)と複数の長さ(Pattern)を入力し、長さ毎に曲線を分割する。分割された曲線は互い違いになる様に、一つ置きにDashesとGapsから出力される。
B

Curve>Division>Divide Distance

Divide Distanceコンポーネント

曲線(Curve)と距離(Distance)を入力し、指定点間の距離毎に曲線上の点(Points)を作成する。また作成された点における接線ベクトル(Tangents)とtパラメータ値も出力する。曲線の長さではなく、点と点の距離なので注意。
B

Curve>Division>Divide Length

Divide Lengthコンポーネント

曲線(Curve)と長さ(Length)を入力し、指定曲線の長さ毎に曲線上の点(Points)を作成する。また作成された点における接線ベクトル(Tangents)とtパラメータ値も出力する。
B

Curve>Division>Horizontal Frames

Horizontal Framesコンポーネント

曲線(Curve)と作成数(Count)を入力し、曲線を等分割する箇所に平面(Frames)を作成する。平面は、曲線の進行方向をX軸にしつつ、ワールドXY平面に平行な形で作成される。
B

Curve>Division>Perp Frames

Perp Framesコンポーネント

曲線(Curve)と作成数(Count)を入力し、曲線を等分割する箇所に平面(Frames)を作成する。平面は、曲線の進行方向に垂直になる形で作成される。オプションで平面の向きを揃える(Align)をTrue・Falseで指定できる。
B

Curve>Division>Curve Frames

Curve Framesコンポーネント

曲線(Curve)と作成数(Count)を入力し、曲線を等分割する箇所に平面(Frames)を作成する。平面は、曲線の進行方向をX軸にする形で作成される。

Primitive

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
B

Curve>Primitive>Line

Lineコンポーネント

点A(Point)と点B(Point)を繋ぐ、直線(Line)を作成する。
B

Curve>Primitive>Line SDL

Line SDLコンポーネント

始点(Start)、方向ベクトル(Direction)、長さ(Length)を入力し、直線(Line)を作成する。
C

Curve>Primitive>Fit Line

Fit Lineコンポーネント

複数の点(Points)を入力し、入力した点にできる限り近しい直線(Line)を出力する。
C

Curve>Primitive>Line 2Plane

Line 2Planeコンポーネント

直線(Line)を入力し、平面A、平面Bの位置まで延長・短縮する形で新しい直線を作成する。
C

Curve>Primitive>Line 4Pt

Line 4Ptコンポーネント

直線(Line)を入力し、点A、点Bの位置まで延長・短縮する形で新しい直線を作成する。
C

Curve>Primitive>Tangent Lines

Tangent Linesコンポーネント

点(Point)と円(Circle)を入力し、点から円に接する接線2つをそれぞれ出力する。
C

Curve>Primitive>Tangent Lines(Ex)

Tangent Lines(Ex)コンポーネント

円A・B(Circle)を入力し、交差しない円同士を繋ぐ接線2つをそれぞれ出力する。
C

Curve>Primitive>Tangent Lines(In)

Tangent Lines(In)コンポーネント

円A・B(Circle)を入力し、交差する円同士を繋ぐ接線2つをそれぞれ出力する。
B

Curve>Primitive>Circle

Circleコンポーネント

平面(Plane)と半径(Radius)を入力し、平面の原点を中心とする円(Circle)を作成する。
C

Curve>Primitive>Circle 3Pt

Circle 3Ptコンポーネント

点(Point)を3つそれぞれ入力し、3点を通過する円(Circle)、円ができる平面(Plane)、円の半径(Radius)を出力する。
C

Curve>Primitive>Circle CNR

Circle CNRコンポーネント

中心となる点(Point)、垂直方向ベクトル(Normal)、半径(Radius)を入力し、円(Circle)を作成する。
C

Curve>Primitive>Circle Fit

Circle Fitコンポーネント

複数の点(Points)を入力し、出来る限り近しい円(Circle)を作成する。その際、作成した円の半径(Radius)と偏差(Deviation)も出力する。
C

Curve>Primitive>Circle TanTan

Circle TanTanコンポーネント

曲線A、B(Curve)と点(Point)を入力し、曲線に接する円(Circle)を作成する。作成する円の中心座標は、点に近い位置になる。
C

Curve>Primitive>Circle TanTanTan

Circle TanTanTanコンポーネント

曲線A、B、C(Curve)と点(Point)を入力し、曲線にそれぞれ接する円(Circle)を作成する。入力点は、接する円の方向を決める為に使用する。
C

Curve>Primitive>Ellipse

Ellipseコンポーネント

平面(Plane)と半径1,2(Radius)を入力し、だ円(Ellipse)を作成する。焦点もそれぞれF1,F2から出力される。
C

Curve>Primitive>InCircle

InCircleコンポーネント 

点(Point)を3つそれぞれ入力し、三角形に内接する円(Circle)、円ができる平面(Plane)、円の半径(Radius)を出力する。
C

Curve>Primitive>InEllipse

InEllipseコンポーネント

点(Point)を3つそれぞれ入力し、三角形に内接するだ円(Circle)、だ円ができる平面(Plane)を出力する。
B

Curve>Primitive>Arc 3Pt

Arc 3Ptコンポーネント

点(Point)を3つそれぞれ入力し、三点を通る円弧(Arc)、円弧ができる平面(Plane)、円弧の半径(Radius)を出力する。作成される円弧は点Aから始まり点Cで終わる円弧になる。
C

Curve>Primitive>Arc SED

Arc SEDコンポーネント

始点(Start)、終点(End)、始点からの接線方向ベクトル(Direction)により定義された円弧(Arc)を作成する。
B

Curve>Primitive>Arc

Arcコンポーネント

平面(Plane)と半径(Radius)、範囲(Angle)を入力し、円弧(Arc)を作成する。円弧の長さ(Length)も出力する。
C

Curve>Primitive>BiArc

BiArcコンポーネント

始点(Start)、終点(End)とそれぞれの接線方向ベクトルを入力し、向きを制御した2つの円弧を出力する。1つ目の円弧(A1)、2つ目の円弧(A2)、両方結合した曲線(B)がそれぞれ出力される。
C

Curve>Primitive>Modified Arc

Modified Arcコンポーネント

元になる円弧(Arc)と半径(Radius)と範囲(Angle)を指定し、円弧(Arc)を作成する。作成される円弧は、中心点は同じ位置である。
C

Curve>Primitive>Tangent Arcs

Tangent Arcsコンポーネント

円A、B(Circle)と半径(Radius)を入力し、円に接する円弧2つをそれぞれ出力する。
B

Curve>Primitive>Polygon

Polygonコンポーネント

平面(Plane)、半径(Radius)、分割数(Segments)などを入力し、円に内接する多角形状の曲線(Polygon)を作成する。オプションで、角部にフィレットを掛ける値も設定できる。
B

Curve>Primitive>Rectangle

Rectangleコンポーネント

平面(Plane)、X方向Y方向の範囲を入力することで、矩形(Rectangle)とその長さ(Length)を出力する。基本的にはXYは長さではなく、範囲(-10.0 to 25.0)の形で入力する。
C

Curve>Primitive>Rectangle 2Pt

Rectangle 2Ptコンポーネント

平面(Plane)と点(Point)をA,Bに入力することで、2点を通る矩形(Rectangle)とその長さ(Length)を出力する。また矩形は平面上に作成される。
C

Curve>Primitive>Rectangle 3Pt

Rectangle 3Ptコンポーネント

3点(Point)をそれぞれ入力することで、3点を通る矩形(Rectangle)とその長さ(Length)を出力する。

Spline

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
C

Curve>Spline>Bezier Span

Bezier Spanコンポーネント

点A、B(Point)と各々の接線ベクトルをそれぞれ入力することで、ベジェ曲線(Curve)を作成する。
B

Curve>Spline>Interpolate

Interpolateコンポーネント

複数の点(Vertices)と次数(Degree)を入力し、点を通過する曲線(Curve)を作成する。オプションで閉じるかどうか(Closed)等も設定できる。Rhinoで言うInterpCrvコマンドと同様の効果。
A

Curve>Spline>Nurbs Curve

Nurbs Curveコンポーネント

複数の点(Vertices)と次数(Degree)を入力し、入力点を制御点とする曲線(Curve)を作成する。オプションで閉じるかどうか(Closed)もTrue・Falseで指定できる。Rhinoで言うCurveコマンドと同様の効果。
A

Curve>Spline>Polyline

Polylineコンポーネント

複数の点(Verticles)を入力し、点を通るポリラインを作成する。オプションでポリラインを閉じるかどうか(Closed)もTrue・Falseで指定できる。
C

Curve>Spline>Interpolate(t)

Interpolate(t)コンポーネント

複数の点(Vertices)を入力し、点を通過する曲線(Curve)を作成する。オプションで始点の方向ベクトル(Tangent Start)終点の方向ベクトル(Tangent End)なども指定できる。
C

Curve>Spline>Kinky Curve

Kinky Curveコンポーネント

複数の点(Verices)、次数(Degree)、しきい値となる角度(Angle)を入力し、しきい値以上の箇所にキンクのある折れた曲線(Curve)を作成する。
C

Curve>Spline>PolyArc

PolyArcコンポーネント

複数の点(Vertices)と始点での接線ベクトル(Tangent)を入力し、点を通過し複数の円弧からなる曲線(Curve)を作成する。オプションで閉じる(Closed)かどうかをTrue・Falseで指定できる。
C

Curve>Spline>Tangent Curve

Tangent Curveコンポーネント

複数の点(Vertices)とそれぞれの点での接線方向(Tangents)を入力し、曲線(Curve)を作成する。ブレンドする強さと次数(Degree)を指定することもできる。
C

Curve>Spline>Curve On Surface

Curve On Surfaceコンポーネント

サーフェス(Surface)と複数のUV値を入力し、指定した箇所を通過するサーフェス上の曲線(Curve)を出力する。オプションで、閉じるかどうか(Closed)をTrue・Falseで指定できる。
B

Curve>Spline>Geodesic

Geodesicコンポーネント

サーフェス(Surface)、始点(Start)、終点(End)を入力し、サーフェス上を最短の距離で結ぶ曲線(Geodesic)を出力する。
B

Curve>Spline>Iso Curve

Iso Curveコンポーネント

サーフェス(Surface)とUV値を入力することで、指定した位置のU方向、V方向の曲線(Curve)を出力する。
C

Curve>Spline>Sub Curve

Sub Curveコンポーネント

曲線(Curve)と曲線の取り出したい範囲(Domain)を指定し、短くした曲線を出力する。
A

Curve>Spline>Tween Curve

Tween Curveコンポーネント

曲線AとB(Curve)、Factorを入力し、AとBをモーフィングするような曲線(Curve)を作成する。Factorが0でAの位置、1だとBの位置に作成される。曲線の向きも重要な為、場合によってはFlipCurveなどで修正すること。
C

Curve>Spline>Knot Vector

Knot Vectorコンポーネント

制御点(Points)、次数(Degree)、周期(Periodic)を入力し、ノットベクトル(Knots)を作成する。作成されたノットはNurbs Curve PWKなどで使用する。
B

Curve>Spline>Nurbs Curve PWK

Nurbs Curve PWKコンポーネント

制御点(Points)、ウェイト値(Weights)、ノット(Knots)を入力し、曲線(Curve)を作成する。
B

Curve>Spline>Blend Curve

Blend Curveコンポーネント

曲線AとB(Curve)を指定し、曲線間を繋ぐブレンド曲線(Curve)を作成する。曲線A,Bの強さ(Buldge)と連続性(Continuity)も指定可能。
C

Curve>Spline>Catenary

Catenaryコンポーネント

点A、B(Point)、長さ(Length)、重力の方向(Vector)を入力し、カテナリー曲線(Curve)を作成する。曲線の長さをAB間の距離よりも長く設定すること。
C

Curve>Spline>Blend Curve Pt

Blend Curve Ptコンポーネント

曲線AとB(Curve)、通過点(Point)を指定し、曲線間を繋ぐブレンド曲線(Curve)を作成する。連続性(Continuity)も指定可能。
B

Curve>Spline>Connect Curves

Connect Curvesコンポーネント

複数の曲線(Curves)を入力し、端点同士を結ぶ曲線(Curve)を作成する。オプションで、連続性(Continutitiy)や、閉じるかどうか(Close)、連続性の強さ(Buldge)を指定できる。

Util

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
A

Curve>Util>Explode

Explodeコンポーネント

ポリカーブ状態の曲線(Curve)を入力し、それぞれの曲線(Curve)に分解する。またその分割した点(Verticles)も出力する。ポリサーフェスを分解する場合は、[Deconstruct Brep] などを使うこと。
B

Curve>Util>Extend Curve

Extend Curveコンポーネント

曲線(Curve)、延長方法(Type)、始点(L0)と終点(L1)の延長値をそれぞれ入力することで、曲線を延長する。L0とL1の両方に値が入っていないと、コンポーネントが働かない為、注意が必要。
A

Curve>Util>Flip Curve

Flip Curveコンポーネント

入力した曲線(Curve)の向きを反転する。オプションでガイドとなる曲線(Guide)を入力し、ガイド曲線と向きを揃えることもできる。
A

Curve>Util>Join Curves

Join Curvesコンポーネント

端点が許容差以内の複数の曲線(Curves)を一つの曲線に結合する。サーフェスなどを結合する時は、[Brep Join]を使用すること。
B

Curve>Util>Fillet

Filletコンポーネント

曲線(Curve)と半径(Radius)を入力し、角部にフィレットを付けた曲線(Curve)を作成する。
A

Curve>Util>Offset Curve

Offset Curveコンポーネント

曲線(Curve)と距離(Distance)を入力し、指定距離オフセットした曲線(Curve)を作成する。オプションとして計算基準となる平面(Plane)や、角部の処理もCornersから指定できる。
C

Curve>Util>Fillet

Filletコンポーネント

曲線(Curve)とtパラメータ値を入力し、指定箇所に半径(Radius)フィレットを作成する(2つ上のFilletの詳細に使用方法記載あり)。
C

Curve>Util>Fillet Distance

Fillet Distanceコンポーネント 

曲線(Curve)を入力し、すべての角部に距離(Distance)が一定となるフィレットを作成する。角の頂点からフィレットが始まる点までの長さが一定になる(3つ上のFilletの詳細に使用方法記載あり)。
A

Curve>Util>Offset Curve Loose

Offset Curve Looseコンポーネント 

曲線(Curve)と距離(Distance)を入力し、制御点を増やさない様にオフセットした曲線(Curve)を作成する。制御点を増やさない為、オフセット距離は完全に指定した値ではないことに注意。
A

Curve>Util>Offset on Srf

Offset on Srfコンポーネント

曲線(Curve)を、サーフェス(Surface)上で指定した距離(Distance)オフセットする。
A

Curve>Util>Project

Projectコンポーネント 

曲線(Curve)とBrep、方向ベクトル(Direction)を指定し、Brep上に投影した曲線(Curve)を作成する。
A

Curve>Util>Pull Curve

Pull Curveコンポーネント

入力したサーフェス(Surface)の最も近づけるように、指定した曲線(Curve)をサーフェス上に作成する。
B

Curve>Util>Seam

Seamコンポーネント

曲線(Curve)とtパラメータを入力し、指定した位置が始点となる曲線を作成する。Sweepコンポーネントなどで、断面曲線のSeamを繋ぎ合わせる位置に変更するために使用する。詳細ボタン
C

Curve>Util>Curve To Polyline

Curve To Polylineコンポーネント

曲線(Curve)を入力し、ポリライン(Polyline)に変換する。指定できるオプションは、曲線との距離(Tolerance Distance)、角度(Tolerance Angle)、作成されるポリラインの長さの最小値(MinEdge)、最大値(MaxEdge)。
A

Curve>Util>Fit Curve

Fit Curveコンポーネント

曲線(Curve)と次数(Degree)、許容差(Tolerance)を指定し、制御点の数を減らした曲線(Curve)を作成する。
C

Curve>Util>Polyline Collapse

Polyline Collapseコンポーネント

ポリライン(Polyline)と許容差(Tolerance)を入力し、指定した値以下の長さの線分を削除する。削除した線の中点につなぎ直す形になる。
A

Curve>Util>Rebuild Curve

Rebuild Curveコンポーネント

曲線(Curve)と次数(Degree)、制御点の数(Count)を指定し、曲線を作り直す。オプションで、端点の接線方向を維持するかどうかをTrue・Falseで指定できる。
C

Curve>Util>Reduce

Reduceコンポーネント

ポリライン(Polyline)と許容差(Tolerance)を入力し、許容差以内で不要な頂点を削除する。
C

Curve>Util>Simplify Curve

Simplify Curveコンポーネント

曲線(Curve)と許容差(Tolerance)、角度許容差(Angle)を指定し、直線や円弧を単純化した曲線(Curve)を出力する。Rhinoで言うSimplifyCrvのような働き。
C

Curve>Util>Smooth Polyline

Smooth Polylineコンポーネント

ポリライン(PolyLine)を入力し、滑らかなポリラインに変更する。一回当たりの滑らかにする強さ(Strength)とその回数(Times)を指定できる。

End Points

詳細1:カーブの始点・終点を抽出する。閉じたカーブに使用すれば、つなぎ目を取得できる。図は、カーブに対して[Dash Pattern] で作成した隙間のあるカーブ群に対し[End Points]でその両端に支柱を配置し、ガードレールを作成した例。


Control Points

詳細1:入力したカーブから、出力P(制御点/コントロールポイント)、出力W(ウェイト)、出力K(ノット)を抽出する。



詳細2:[List Item]と[Replace Item]を利用して、[ControlPoint]のウェイト値を個別に編集した例。


Curve Closest Point

詳細1:指定したポイントに一番近いカーブ上のポイントを出力する。出力Pからはポイントの座標値、出力tからはカーブ上のt値を、出力Dからはポイント間の距離を算出する。図はClosest Point上に円柱を配置し、指定したポイント間にラインを引いた例。



詳細2:[Divide Curve]で分割したポイント同士を結んでラインを作成する際に起きた問題を[Curve Closest Point]で解決した例。



詳細3:[Curve Closest Point]から出力されるDistanceを利用して、カーブに近いポイント上の円が大きくなるよう、且つ距離に応じて色が変化するように設定した例。


Discontinuity

詳細1:曲線(Curve)とテストする連続性の段階(Level)を指定し、レベルごとの不連続点(Points)とtパラメータ値を出力する。Level1=C1は正接連続、2=C2は曲率連続、3=C∞はG3以上の箇所が該当箇所になる。



詳細2:オフセットした上下のカーブ間にサーフェスを貼る場合、[Ruled Surface]や[Loft]ではうまくゆかないカーブに対し、[Discontinuity]で検出した不連続点のt値を利用して[Shatter]で分割し、[Flip Matrix]でリストを組み替えてロフト面を生成した例。


Curvature Graph

詳細1:曲線(Curve)と密度(Density)、大きさ(Scale)を指定し、曲線の曲率を表示する。図はポイントから作成した[Nurbs Curve]の曲率を次数を変えて[CurvatureGraph]で表示し、密度や大きさを変更した例。


Extremes

詳細1:曲線(Curve)と平面(Plane)を入力し、平面の垂直方向に最大(Highest)と最小(Lowest)となる点をそれぞれ出力する。平面の水平ではなく垂直方向になるので注意すること。図は、[Graph Mapper]で作成したグラフに対し、[XZ平面]で最大/最小値を出力した例。
また、Math>Utilにも同名の[Extremes]が存在するので注意。


Evaluate Curve

詳細1:指定したパラメータtによって、カーブ上のポイントや接線ベクトルの値を求める。カーブ全体のドメインは[Domain]や[Curve Domain]コンポーネントで測定でき、[0 to 40 ]のような数値で表されるが、これはカーブの長さとは無関係である。
カーブのドメインを[0 to 1]に再定義する事を[Reparameterize]と呼ぶ。出力Pからはパラメータの曲線上の位置座標を、出力Tからは接線ベクトルを出力する。



詳細2:出力Aはカーブに不連続点がある場合に利用する。端点、及び連続している部分のAngleは0になるが、[Discontinuity]で検出した不連続な部分では、接線ベクトルとの差の角度が表示される。



詳細3:[Evaluate Curve]で指定したt値を、回転の中心として使用した例。


Point On Curve

詳細1:カーブ上の任意の点を出力する。右クリックによるコンテキストメニューから、0,1/4,1/3,1/2,2/3,2/4,1などのプリセットが選択でき、中点などを取得するにも便利である。



詳細2:[Point On Curve]コンポーネントで中点を取得した例。
①と②のCurveを[Divide]コンポーネントで分割し,その分割点間にラインを作成

③[Point On Curve]コンポーネントで中点を出力

④[Move]コンポーネントを利用して[X]方向に移動。その際[Repeat data]コンポーネントを使用してポイントを波状に移動

⑤[Arc3Pt]で①~③のポイントを円孤でつなぎ

⑥[Loft]でサーフェスを生成


Curvature

詳細1:曲線(Curve)とtパラメータ値を入力し、該当箇所の点(P)、垂線ベクトル(K)、曲率の値に応じた円(C)を作成する。図は、4点のtパラメータにおいてそれぞれを出力したもの。


Curve Frame

詳細1:カーブ上の指定したパラメーターtにおいて、接線に沿った作業平面を取得する。t値は複数入力する事ができる。フレームの向きが反転する事があるが、これは曲率が反対側へ変化すると、フレームの向きも変化するためである。向きを変化させたくない場合には、[Perp Frame]を利用してベクトルの向きを変更するなどにて対応できる場合もある。(Perp Frame参照)



詳細2:カーブ上の平面取得位置をt値ではなく特定のポイントで指定したい場合に、[Curve Closest Point]を利用した例。


 

Horizontal Frame

詳細1:カーブ上の指定したパラメーターtにおいて、XY平面に水平な作業平面を取得する。



詳細2:XY平面に水平なだけでなく、[Deconstruct Plane]と[Adjust Plane]を使用すればYZ平面やXZ平面に水平な作業平面も取得可能。


Perp Frame

詳細1:カーブ上の指定したパラメーターtにおいて、カーブに垂直な作業平面を取得する。図は、[Rectangle]を中心から配置するために、ドメインを使用した例。(デフォルトではRectangleの左下角が作業平面の原点になる)



詳細2:[Deconstruct Plane]と[Adjust Plane]を使用して、作業平面の向きを変換した例。


 

Evaluate Length

詳細1:曲線(Curve)と長さ(Length)を入力し、曲線上の該当箇所の点(Point)、接線ベクトル(Tangents)とtパラメータ値を出力する。Normalizedオプションは”False”だと実際の曲線長さ、”True”だと0から1までのパラメータ値で長さを扱う。図は、”True”で正規化し、0.5の長さ(中点)におけるベクトルを表示した例。



詳細2:[Evaluate Length]の長さは始点からの距離なので、[Mass Addition]のPr(累計)出力を利用して、異なる長さで線分を分割した例。


Length

詳細1:入力したカーブの長さを測定する。図は、[TweenCurves]コンポーネントを使用して複数カーブの長さを出力した例。



詳細2:[Length]コンポーネントで長さを出力し、[Includes]コンポーネントで指定した範囲内の長さを[Cull Pattern]コンポーネントで抽出した例。


 

Point In Curve

詳細1:カーブと、点群の内外判定を行う。
出力Rが”0”の場合は=外側、"1"の場合=カーブ上、"2"の場合=内側と判定。図は、これらの数値を使用して、[Equality]コンポーネントと[Cull Pattern]コンポーネントでそれぞれのポイントを振り分けた例。



詳細2:[Gate And]コンポーネントと[Gate Or]コンポーネントを使用して、2つの円の条件分けを行った例。
①AかつB

②Aでもなく、かつBでもない

③AまたはB

④Aでもない、またはBでもない


 

Point In Curves

詳細1:複数カーブと、点群の内外判定を行う。詳細は[Point In Curve]に準ずる。



詳細2:[Point In Curves]のみにある出力Iからは、インデックス値が出力される。"-1"はカーブの外側の点群を選択。"0"から順に選択したカーブごとにインデックス値が与えられ、それを使用してカーブ内部の点を切り替え可能。


Divide Curve

詳細1:カーブを入力Nで指定した数で複数のセグメント(曲線に沿って測定)に分割する。出力Pからは分割したポイントデータ、出力Tからはベクトルデータ、出力tからは分割ポイントのtパラメータが出力される。
図は、出力されたtパラメータを[Shatter]コンポーネントに接続し、分割された各セグメントの長さを確認した例。


Shatter

詳細1:[Divide Curve]コンポーネントや[Divide length]コンポーネントのように数や長さで等分割するのではなく、カーブ上の任意のt値で分割し、そのカーブデータを出力できる。このt値は、Divide系のコンポーネントからも出力可能。(Divide Curve参照)

 

Divide Distance

詳細1:カーブの始点から頂点間の直線距離が常に同じセグメントになるようカーブを分割する。最後のセグメントは余りの長さとなる場合もある。
[Divide Length]と非常によく似ているが、カーブに沿った長さを測定する代わりに、頂点間の最短距離で測定される。

図は、[Divide Distane]で分割点をポリラインで結び、そのポリラインを同じ分割点で分割して分割点間の距離を確認した例。


Divide Length

詳細1:カーブを指定した長さのセグメントに分割。セグメントはすべて曲線に沿って測定され、最後のセグメントは余りの長さとなる場合もある。


Horizontal Frames

詳細1:カーブ上に、XY平面に水平な作業平面を、指定した数で等間隔に配置する。



詳細2:[Horizontal Frames]と[Characters]を使用して、GraphMapperで作成したSineカーブ上に、テキストを添わせて配置した例。



詳細3:サーフェスに対し[Contour]で取得した断面曲線上に、[Horizontal Frames]を使用してBoxを配置し、カーブに沿ったレンガの壁を作成した例。


Perp Frames

詳細1:カーブ上に、カーブに垂直な作業平面を、指定した数で等間隔に配置する。入力N では、作業平面の数を指定する。図は、[Perp Frames]で取得した作業平面のXベクトルを利用するため、[Deconstruct Plane]を利用し、カーブに垂直な線路状のラインを作成した例。



詳細2:円のカーブ上に配置した垂直フレームに対して回転値を与え、そのフレーム上に六角形を配置しロフトする事でねじれたチューブ状の形状を作成した例。


Curve Frames

詳細1:カーブ上に、接線方向に沿った作業平面を、指定した数で等間隔に配置する。[Curve Frame]と同様に、曲率の向きが変わると作業平面の向きも変化する。[Perp Frame(s)] を使用する事で向きを揃える事は可能。(PerpFrame参照)


Line

詳細1:2点から直線を作成する。図は、カーブを分割した頂点同士を[Line]で接続した例。


Line SDL

詳細1:始点(S)とベクトル(D)と長さ(L)により定義された直線を作成する。図は、LineSDLがベクトルを定義する事を利用して、[Revolution]の回転軸として[LineSDL]を使用した例。



詳細2:[LineSDL]を使用して作成したラインを[Linear Array]で配列し、[Graph Mapper]で回転角度を調整した例。


Circle

詳細1:基本平面(P)と半径(R)により定義された円を作成する。図は、半径入力に[Range]と[Graph Mapper]を利用して、半径の異なる円を複数作成し、Z方向に移動して[Loft]でサーフェスを作成した例。


Arc 3Pt

詳細1:3点を通過する円弧を作成する。 Aが始点、Cが終点となり、Bは任意の中間点になる。図は、円の直径となる2点と中心点から伸びたライン上の点、計3点を通る円弧を作成し、それを半回転することによってドーム状の形状を作成した例。


Arc

詳細1:基本平面と半径と角度の範囲(ドメイン)により定義された円弧を作成する。半径Rは複数入力可。Aの角度範囲は、ラジアンで入力する。度数で入力したい場合には、事前に[Radians]等で変換しておく。円弧の角度を表示したい場合は、[Arc Dimention]を使用。こちらは度数表記になる。



詳細2:[Arc]を利用してらせん階段を作成した例。
①[Cylinder]で柱を作成 ②[Addition]にて、柱の半径からの距離を加えた半径の[Arc]を作成 ③[Range]のドメインに回転数として[Pi]を、ステップ数Nには段数を入力 ④[Series]+[Construct Point]のZ入力で、柱の高さ方向を等分し、Arcの中心点とする ⑤[Construct Domain]で円弧の長さを指定 ⑥[Arc]のR入力に、柱の半径を追加、Graftで階層を分ける ⑦外側の円弧と柱側の円弧をペアにするため[Flip Matrix]で階層を組替え ⑧[Loft]と[Extrude]で面を作成 ⑨柱より段数が高くなるので、柱の高さから階段の厚みを引く。


Polygon

詳細1:基本平面と半径、セグメント(頂点の数)、フィレット半径にて、2次元の多角形を作成する。図は、[Polygon]による六角形と円をロフトでつなぎ、スケールで厚みを付け、[Solid Difference]でブール演算を行った例。


Rectangle

詳細1:基本平面Pと、X/Yのサイズで2次元の矩形を作成する。Rで角半径を指定できる。



詳細2:サイズの指定は、数値の他ドメインでも指定できる。数値入力の場合は、基本平面の原点が矩形の左角になるが、ドメインを入力すると原点が中心となる。


詳細1:指定した点を通過する曲線を作成する。
点群を入力Vに読み込ませ、入力Dに次数を指定する。(初期値は、"3")
入力Pに、論理値”True”で点群の始点・終点を結ぶ、周期カーブが生成される。(初期値、”False”)


Nurbs Curve

詳細1:入力したポイントを制御点とするNurbsカーブを作成する。入力Dに次数(初期値は3)を指定。入力Pの論理値では、”True”にすると点群の始点・終点を結ぶ、周期カーブが生成される。(初期値は”False”)



詳細2:[Nurbs Curve]で作成したカーブのノット位置を、[Control Points]のK出力を[Evaluate Curve]のtパラメータに接続する事によって視覚化した例。


Polyline

詳細1:入力したポイントからポリラインを作成する。



詳細2:ポリラインを[Control Point]コンポーネントと[NURBS Curve]コンポーネントを使用してカーブに変換した例。[Interpolate]コンポーネントを使用すると、頂点を直接通るカーブになる。


Geodesic

詳細1:サーフェス(Surface)、始点(Start)、終点(End)を入力し、サーフェス上を最短の距離で結ぶ曲線(Geodesic/測地線)を出力する。図は、[MD Slider]と[Evaluate Surface]にて指定したポイントを始点/終点に設定し、それを結ぶサーフェス上の曲線を出力した例。



詳細2:ドーム状のオブジェクトのある1点を終点、ドームの底面となる円上の各点を始点として、Geodesic曲線を生成した例。


Iso Curve

詳細1:サーフェス上のIsoカーブを抽出する。入力したUV座標上のIsoカーブをU/V別に抽出できる。図は、[Construct Domain][Range]と[Construct Point]で作成したUV座標からU方向のIsoカーブを抽出し、[List Item]で更に1本に絞って抽出した例。


Tween Curve

詳細1:入力した2つの曲線間に、指定した数のTween Curveを作成する。入力FにはカーブAの位置を0、カーブBの位置を1とし、0~1の間で数値を入力すると、その位置にカーブが挿入される。



詳細2:Tween Curveを元にLoftでサーフェスを作成した例。
①の入力Fに[Range]コンポーネントで指定した数のカーブを作成

②Z軸方向にカーブを移動

③移動の距離は[Gene Pool]コンポーネントでスライダーにてパターンを作成したものを[Repeat Data]コンポーネントで繰り返す

④[Loft]コンポーネントでオプションを"Straight"にしてサーフェスを作成。


Nurbs Curve PWK

詳細1:制御点(Points)、ウェイト値(Weights)、ノット(Knots)を入力し、曲線(Curve)を作成する。
図は、楕円の要素を抽出後、”Weight”の値を編集して、スーパー楕円を定義した例。
楕円、及び、円は、NURBSで表現した場合、制御点において、一つ置きに、”1”と、”√2/2=0.707107”の値を持つ。



詳細2:”制御点”、”Weight”値、”Knotベクトル”を全て、数値で定義した非周期カーブの例。


Blend Curve

詳細1:入力したカーブ間にブレンド曲線を作成する。CrvA側の連続性はFa(BulgeA)で、カーブB側の連続性はFb(BulgeB)で、Cで設定した連続性を1.0として0~1の間で個別に調整できる。


Connect Curves

詳細1:複数の曲線間を結ぶ曲線を作成する。入力Gでは曲線の連続性を、入力Lではカーブの開閉を指定できる。



詳細2:入力Bでは指定した連続性を1.0として、0~1の間でバルジ値を調整できる。(例:入力Gの連続性が接線連続の場合は0=位置連続 1=接線連続、連続性が曲率連続の場合は、0=位置連続 1=曲率連続となる)



詳細3:[Connect Curves](G=Position、L=False)を使用して、複数の横方向のラインに対して一度に縦のラインを生成し、階段状のラインを作成した例。


Explode

詳細1:入力カーブを、元の要素(ポリカーブ、ポリライン等)またはセグメントに分解する。
入力Rが”True(初期値)”の場合は、最小セグメントまで分解する。”False”の場合、元のポリライン/ポリカーブの単位で分解する。出力Sはセグメント、出力Vは頂点の座標を出力する。図は、[List Item]コンポーネントで円孤のカーブ部分を抽出した例。


Extend Curve

詳細1:曲線(Curve)、延長方法(Type)、始点(L0)と終点(L1)の延長値をそれぞれ入力することで、曲線を延長する。図は、2本のラインを[Extend Curve]で延長し、[Curve | Curve]で取得した交点のt値を利用して[Sub Curve]で交点までの長さにラインを整えた例。



詳細2:曲線の延長タイプを変更し(ここではArc)、[Trim with Region]を使用して境界(ここでは円)まで延長させた例。



詳細3:複数曲線を延長してできた交点を元に、新たにポリラインを作成する事で延長部分を削除した例。[Sort Along Curve]を使用して、一方向に向きの揃ったカーブ(ここでは円)をガイドとしてポイントの接続順を修正している。


Flip Curve

詳細1:カーブの始点と終点を反転する。



詳細2:入力Gにガイドカーブを指定すると、そのカーブの向きに合わせて入力カーブを反転させる。出力Fからはカーブを反転させたかどうかをTrue/Falseで判定する。


Join Curves

詳細1:端点の一致した複数のカーブを結合して、ポリカーブとして出力する。図は複数カーブを結合し、[Move]コマンドでY方向に移動した例。



詳細2:入力PのPreserveに"True"値を入力すると、カーブの向きを保存する事ができる。これにより、grasshopperが判定した同じカーブの向きのカーブ同士が結合される。


Fillet

詳細1:曲線(Curve)と半径(Radius)を入力し、角部にフィレットを付けた曲線(Curve)を作成する。同名のコンポーネント(図中央)があるが、そちらはtパラメータを指定して、フィレットを適用するコーナーを指定できる。また、類似したコンポーネントに[Fillet Distance](図下)があり、コーナーからの距離を指定してフィレットを適用する。


Offset Curve

詳細1:入力した曲線に対して、指定した距離でオフセットする。
コーナーのタイプも指定することができる。



Offset Curve Loose

詳細1:入力した曲線に対して、指定した距離で制御をオフセットする。



Offset on Srf

詳細1:サーフェス上にある曲線を、指定した距離でサーフェス上でオフセットする。


Project

詳細1:入力Bで指定したBrepオブジェクトに、入力Cで指定したカーブを投影し、出力Cからそのカーブを出力する。投影方向は、初期値でベクターを指定できる。図は[Vector 2Pt]コンポーネントで作成したベクトル方向に投影した例。


Pull Curve

詳細1:[Project]コンポーネントと同様にカーブを投影するが、[Pull Curve]コンポーネントは、ベクターを指定しなくても対象のサーフェスの曲率を見て、法線方向に合わせるように投影する。


Seam

詳細1:閉じた曲線(Curve)とtパラメータを入力し、t値がつなぎ目となる曲線を作成する。図は、[Sweep1]でSection(断面)2のt値を変更してSweepのねじれを修正した例。



詳細2:閉じたRail曲線に対するSweepの場合、RailのSeamとSectionの位置が合っている必要がある。図は、RailのSeamを[Curve Closest Point]のt値を利用して、Sectionの位置に揃えた例。


Fit Curve

詳細1:指定した次数と許容差によって入力した曲線に近似した曲線を作成する。



Rebuild Curve

詳細1:カーブを”Rebuild(再構築)”する。
入力Dに次数(初期値は"3")、入力Nに制御点数(初期値は"10")を指定。