Curves

Create and manipulate curves

Break Curves

nodes.geometry.BreakCurves(curves=None, threshold=0.5)

GUI reference: Break Curves.

Parameters

Name Type Description Default
curves InputGeometry Geometry to delete elements from None
threshold InputFloat Threshold 0.5

Inputs

Name Type Description
i.curves GeometrySocket Geometry to delete elements from
i.threshold FloatSocket Threshold

Outputs

Name Type Description
o.curves GeometrySocket Curves
o.original_index IntegerSocket Index of Spline before segments removed

Cumulative Length

nodes.geometry.CumulativeLength()

GUI reference: Cumulative Length.

Outputs

Name Type Description
o.length FloatSocket The length along the current spline added to all previous spline lengths

Curve Custom Profile

nodes.geometry.CurveCustomProfile(
    curve=None,
    subdivisions=6,
    profile_type='Custom Profile',
    uv_map=False,
    u_component='Factor',
    socket_6=None,
    profile_scale=None,
    profile_curve=None,
    profile_resolution=4,
    profile_radius=1.0,
    input_14=0.785398,
)

GUI reference: Curve Custom Profile.

Parameters

Name Type Description Default
curve InputGeometry Curve None
subdivisions InputInteger Subdivisions 6
profile_type InputMenu | Literal['Default Profile', 'Custom Profile'] Profile Type 'Custom Profile'
uv_map InputBoolean Compute and store the uv_map attribute on the Face Corner domain of the final mesh False
u_component InputMenu | Literal['Factor', 'Length'] U Component 'Factor'
socket_6 InputRotation Profile Rotation None
profile_scale InputVector Profile Scale None
profile_curve InputGeometry Profile Curve None
profile_resolution InputInteger Profile Resolution 4
profile_radius InputFloat Profile Radius 1.0
input_14 InputFloat Profile Rotation 0.785398

Inputs

Name Type Description
i.curve GeometrySocket Curve
i.subdivisions IntegerSocket Subdivisions
i.profile_type MenuSocket Profile Type
i.uv_map BooleanSocket Compute and store the uv_map attribute on the Face Corner domain of the final mesh
i.u_component MenuSocket U Component
i.socket_6 RotationSocket Profile Rotation
i.profile_scale VectorSocket Profile Scale
i.profile_curve GeometrySocket Profile Curve
i.profile_resolution IntegerSocket Profile Resolution
i.profile_radius FloatSocket Profile Radius
i.input_14 FloatSocket Profile Rotation

Outputs

Name Type Description
o.geometry GeometrySocket Geometry

Curve Endpoint Values

nodes.geometry.CurveEndpointValues(
    start_size=1,
    start_value=1,
    other_value=0,
    end_size=1,
    end_value=-1,
)

Output a different integer value for the endpoints of a curve and the middle of a curve

GUI reference: Curve Endpoint Values.

Parameters

Name Type Description Default
start_size InputInteger The size of the starting points of the curve 1
start_value InputInteger The value to output for the starting points of the curve 1
other_value InputInteger The value for the points which aren’t part of the start or end points 0
end_size InputInteger The size of the end points 1
end_value InputInteger The value that is returned for the end points of the curve -1

Inputs

Name Type Description
i.start_size IntegerSocket The size of the starting points of the curve
i.start_value IntegerSocket The value to output for the starting points of the curve
i.other_value IntegerSocket The value for the points which aren’t part of the start or end points
i.end_size IntegerSocket The size of the end points
i.end_value IntegerSocket The value that is returned for the end points of the curve

Outputs

Name Type Description
o.value IntegerSocket The value for the point, determined by the inputs if it is in the start, end or ‘other’ region
o.start_selection BooleanSocket The n points at the start of a spline determined by Start Size
o.end_selection BooleanSocket The n points at the end of a spline determined by End Size

Curve Offset Dot

nodes.geometry.CurveOffsetDot(
    normal=None,
    offset=-1,
    threshold_direction='Less Than',
    threshold_cutoff=-0.9,
    rotation_axis=None,
    rotation_amount=3.141593,
)

GUI reference: Curve Offset Dot.

Parameters

Name Type Description Default
normal InputVector Normal None
offset InputInteger Offset -1
threshold_direction InputMenu | Literal['Less Than', 'Greater Than'] Threshold Direction 'Less Than'
threshold_cutoff InputFloat Threshold Cutoff -0.9
rotation_axis InputVector Rotation Axis None
rotation_amount InputFloat Rotation Amount 3.141593

Inputs

Name Type Description
i.normal VectorSocket Normal
i.offset IntegerSocket Offset
i.threshold_direction MenuSocket Threshold Direction
i.threshold_cutoff FloatSocket Threshold Cutoff
i.rotation_axis VectorSocket Rotation Axis
i.rotation_amount FloatSocket Rotation Amount

Outputs

Name Type Description
o.thresholded BooleanSocket Thresholded
o.leading IntegerSocket Leading
o.rotation RotationSocket Rotation

Curve Rotation

nodes.geometry.CurveRotation(normal=None)

Computes the rotation of the point on the curve, by default using the Normal attribute and the Tangent axis

GUI reference: Curve Rotation.

Parameters

Name Type Description Default
normal InputVector The default direction to use as the Secondary Axis / X axis when computing the rotation None

Inputs

Name Type Description
i.normal VectorSocket The default direction to use as the Secondary Axis / X axis when computing the rotation

Outputs

Name Type Description
o.rotation RotationSocket The computed rotation for the point on the curve

Curve Transform

nodes.geometry.CurveTransform()

Calculates the transformation matrix for the point on the curve. Position is taken from the Position, Rotation is calculated from the Normal and Tangent values, and the Radius drives the scale

GUI reference: Curve Transform.

Outputs

Name Type Description
o.transform MatrixSocket The combine 4X4 transformation matrix for the point of the curve

Curve Vectors

nodes.geometry.CurveVectors()

GUI reference: Curve Vectors.

Outputs

Name Type Description
o.normal VectorSocket The normal of the control point. Used for calculating the rotation for the point and when calculating Curve to Mesh
o.tangent VectorSocket The tangent of the point, which is calculated as the direction from the previous point to the next point
o.bitangent VectorSocket The cross product of the Normal and the Tangent

Offset Point Along Curve

nodes.geometry.OffsetPointAlongCurve(point_index=0, offset=0.0)

Offset along the current point’s curve, by a number of points. 1 offsets by a single point on the curve (regardless of how far away they are). 1.5 offsets to half way between Point Index + 1 and Point Index + 2, returning the Length and the Factor for this point on the curve

GUI reference: Offset Point Along Curve.

Parameters

Name Type Description Default
point_index InputInteger The field to evaluate at the given Index + Offset on the point domain 0
offset InputFloat The offset to apply to the Index before evaluating the input field 0.0

Inputs

Name Type Description
i.point_index IntegerSocket The field to evaluate at the given Index + Offset on the point domain
i.offset FloatSocket The offset to apply to the Index before evaluating the input field

Outputs

Name Type Description
o.is_off_spline BooleanSocket The field evaluated at the offset Index value
o.factor FloatSocket The field evaluated at the offset Index value
o.length FloatSocket The field evaluated at the offset Index value
o.index_a IntegerSocket The field evaluated at the offset Index value
o.index_b IntegerSocket The field evaluated at the offset Index value