nodes.geometry.geometry

nodes.geometry.geometry

Classes

Name Description
Arc Generate a poly spline arc
BezierSegment Generate a 2D Bézier spline from the given control points and handles
BoundingBox Calculate the limits of a geometry’s positions and generate a box mesh with those dimensions
Cone Generate a cone mesh
ConvexHull Create a mesh that encloses all points in the input geometry with the smallest number of points
Cube Generate a cuboid mesh with variable side lengths and subdivisions
CurveCircle Generate a poly spline circle
CurveLength Retrieve the length of all splines added together
CurveLine Generate a poly spline line with two points
CurveToMesh Convert curves into a mesh, optionally with a custom profile shape defined by curves
CurveToPoints Generate a point cloud by sampling positions along curves
CurvesToGreasePencil Convert the curves in each top-level instance into Grease Pencil layer
Cylinder Generate a cylinder mesh
DeformCurvesOnSurface Translate and rotate curves based on changes between the object’s original and evaluated surface mesh
DeleteGeometry Remove selected elements of a geometry
DistributePointsOnFaces Generate points spread out on the surface of a mesh
DualMesh Convert Faces into vertices and vertices into faces
DuplicateElements Generate an arbitrary number copies of each selected input element
EdgePathsToCurves Output curves following paths across mesh edges
ExtrudeMesh Generate new vertices, edges, or faces from selected elements and move them based on an offset while keeping them connected by their boundary
FillCurve Generate a mesh on the XY plane with faces on the inside of input curves
FilletCurve Round corners by generating circular arcs on each control point
FlipFaces Reverse the order of the vertices and edges of selected faces, flipping their normal direction
GeometryProximity Compute the closest location on the target geometry
GreasePencilToCurves Convert Grease Pencil layers into curve instances
Grid Generate a planar mesh on the XY plane
IcoSphere Generate a spherical mesh that consists of equally sized triangles
InstanceOnPoints Generate a reference to geometry at each of the input points, without duplicating its underlying data
InstancesToPoints Generate points at the origins of instances.
InterpolateCurves Generate new curves on points by interpolating between existing curves
MaterialSelection Provide a selection of faces that use the specified material
MergeByDistance Merge vertices or points within a given distance
MergeLayers Join groups of Grease Pencil layers into one
MeshBoolean Cut, subtract, or join multiple mesh inputs
MeshCircle Generate a circular ring of edges
MeshLine Generate vertices in a line and connect them with edges
MeshToCurve Generate a curve from a mesh
MeshToPoints Generate a point cloud from a mesh’s vertices
Points Generate a point cloud with positions and radii defined by fields
PointsToCurves Split all points to curve by its group ID and reorder by weight
PointsToVertices Generate a mesh vertex for each point cloud point
QuadraticBezier Generate a poly spline in a parabola shape with control points positions
Quadrilateral Generate a polygon with four points
Raycast Cast rays from the context geometry onto a target geometry, and retrieve information from each hit point
RealizeInstances Convert instances into real geometry data
ReplaceMaterial Swap one material with another
ResampleCurve Generate a poly spline for each input spline
ReverseCurve Change the direction of curves by swapping their start and end data
RotateInstances Rotate geometry instances in local or global space
SampleCurve Retrieve data from a point on a curve at a certain distance from its start
SampleIndex Retrieve values from specific geometry elements
SampleNearest Find the element of a geometry closest to a position. Similar to the “Index of Nearest” node
SampleNearestSurface Calculate the interpolated value of a mesh attribute on the closest point of its surface
SampleUVSurface Calculate the interpolated values of a mesh attribute at a UV coordinate
ScaleElements Scale groups of connected edges and faces
ScaleInstances Scale geometry instances in local or global space
SeparateComponents Split a geometry into a separate output for each type of data in the geometry
SeparateGeometry Split a geometry into two geometry outputs based on a selection
SetCurveNormal Set the evaluation mode for curve normals
SetCurveRadius Set the radius of the curve at each control point
SetCurveTilt Set the tilt angle at each curve control point
SetFaceSet Set sculpt face set values for faces
SetGeometryName Set the name of a geometry for easier debugging
SetGreasePencilColor Set color and opacity attributes on Grease Pencil geometry
SetGreasePencilDepth Set the Grease Pencil depth order to use
SetGreasePencilSoftness Set softness attribute on Grease Pencil geometry
SetHandlePositions Set the positions for the handles of Bézier curves
SetID Set the id attribute on the input geometry, mainly used internally for randomizing
SetInstanceTransform Set the transformation matrix of every instance
SetMaterial Assign a material to geometry elements
SetMaterialIndex Set the material index for each selected geometry element
SetMeshNormal Store a normal vector for each mesh element
SetPointRadius Set the display size of point cloud points
SetPosition Set the location of each point
SetSelection Set selection of the edited geometry, for tool execution
SetShadeSmooth Control the smoothness of mesh normals around each face by changing the “shade smooth” attribute
SetSplineCyclic Control whether each spline loops back on itself by changing the “cyclic” attribute
SetSplineResolution Control how many evaluated points should be generated on every curve segment
SetSplineType Change the type of curves
SortElements Rearrange geometry elements, changing their indices
Spiral Generate a poly spline in a spiral shape
SplitEdges Duplicate mesh edges and break connections with the surrounding faces
SplitToInstances Create separate geometries containing the elements from the same group
Star Generate a poly spline in a star pattern by connecting alternating points of two circles
StringToCurves Generate a paragraph of text with a specific font, using a curve instance to store each character
SubdivideCurve Dividing each curve segment into a specified number of pieces
SubdivideMesh Divide mesh faces into smaller ones without changing the shape or volume, using linear interpolation to place the new vertices
SubdivisionSurface Divide mesh faces to form a smooth surface, using the Catmull-Clark subdivision method
TransformGeometry Translate, rotate or scale the geometry
TranslateInstances Move top-level geometry instances in local or global space
Triangulate Convert all faces in a mesh to triangular faces
TrimCurve Shorten curves by removing portions at the start or end
UVSphere Generate a spherical mesh with quads, except for triangles at the top and bottom

Arc

nodes.geometry.geometry.Arc(
    resolution=16,
    start=None,
    middle=None,
    end=None,
    radius=1.0,
    start_angle=0.0,
    sweep_angle=5.4978,
    offset_angle=0.0,
    connect_center=False,
    invert_arc=False,
    *,
    mode='RADIUS',
)

Generate a poly spline arc

Attributes

Name Description
i_connect_center Input socket: Connect Center
i_end Input socket: End
i_invert_arc Input socket: Invert Arc
i_middle Input socket: Middle
i_offset_angle Input socket: Offset Angle
i_radius Input socket: Radius
i_resolution Input socket: Resolution
i_start Input socket: Start
i_start_angle Input socket: Start Angle
i_sweep_angle Input socket: Sweep Angle
mode
name
node
o_center Output socket: Center
o_curve Output socket: Curve
o_normal Output socket: Normal
o_radius Output socket: Radius
tree
type

BezierSegment

nodes.geometry.geometry.BezierSegment(
    resolution=16,
    start=None,
    start_handle=None,
    end_handle=None,
    end=None,
    *,
    mode='POSITION',
)

Generate a 2D Bézier spline from the given control points and handles

Attributes

Name Description
i_end Input socket: End
i_end_handle Input socket: End Handle
i_resolution Input socket: Resolution
i_start Input socket: Start
i_start_handle Input socket: Start Handle
mode
name
node
o_curve Output socket: Curve
tree
type

BoundingBox

nodes.geometry.geometry.BoundingBox(geometry=None, use_radius=True)

Calculate the limits of a geometry’s positions and generate a box mesh with those dimensions

Attributes

Name Description
i_geometry Input socket: Geometry
i_use_radius Input socket: Use Radius
name
node
o_bounding_box Output socket: Bounding Box
o_max Output socket: Max
o_min Output socket: Min
tree
type

Cone

nodes.geometry.geometry.Cone(
    vertices=32,
    side_segments=1,
    fill_segments=1,
    radius_top=0.0,
    radius_bottom=1.0,
    depth=2.0,
    *,
    fill_type='NGON',
)

Generate a cone mesh

Attributes

Name Description
fill_type
i_depth Input socket: Depth
i_fill_segments Input socket: Fill Segments
i_radius_bottom Input socket: Radius Bottom
i_radius_top Input socket: Radius Top
i_side_segments Input socket: Side Segments
i_vertices Input socket: Vertices
name
node
o_bottom Output socket: Bottom
o_mesh Output socket: Mesh
o_side Output socket: Side
o_top Output socket: Top
o_uv_map Output socket: UV Map
tree
type

ConvexHull

nodes.geometry.geometry.ConvexHull(geometry=None)

Create a mesh that encloses all points in the input geometry with the smallest number of points

Attributes

Name Description
i_geometry Input socket: Geometry
name
node
o_convex_hull Output socket: Convex Hull
tree
type

Cube

nodes.geometry.geometry.Cube(
    size=None,
    vertices_x=2,
    vertices_y=2,
    vertices_z=2,
)

Generate a cuboid mesh with variable side lengths and subdivisions

Attributes

Name Description
i_size Input socket: Size
i_vertices_x Input socket: Vertices X
i_vertices_y Input socket: Vertices Y
i_vertices_z Input socket: Vertices Z
name
node
o_mesh Output socket: Mesh
o_uv_map Output socket: UV Map
tree
type

CurveCircle

nodes.geometry.geometry.CurveCircle(
    resolution=32,
    point_1=None,
    point_2=None,
    point_3=None,
    radius=1.0,
    *,
    mode='RADIUS',
)

Generate a poly spline circle

Attributes

Name Description
i_point_1 Input socket: Point 1
i_point_2 Input socket: Point 2
i_point_3 Input socket: Point 3
i_radius Input socket: Radius
i_resolution Input socket: Resolution
mode
name
node
o_center Output socket: Center
o_curve Output socket: Curve
tree
type

CurveLength

nodes.geometry.geometry.CurveLength(curve=None)

Retrieve the length of all splines added together

Attributes

Name Description
i_curve Input socket: Curve
name
node
o_length Output socket: Length
tree
type

CurveLine

nodes.geometry.geometry.CurveLine(
    start=None,
    end=None,
    direction=None,
    length=1.0,
    *,
    mode='POINTS',
)

Generate a poly spline line with two points

Attributes

Name Description
i_direction Input socket: Direction
i_end Input socket: End
i_length Input socket: Length
i_start Input socket: Start
mode
name
node
o_curve Output socket: Curve
tree
type

CurveToMesh

nodes.geometry.geometry.CurveToMesh(
    curve=None,
    profile_curve=None,
    scale=1.0,
    fill_caps=False,
)

Convert curves into a mesh, optionally with a custom profile shape defined by curves

Attributes

Name Description
i_curve Input socket: Curve
i_fill_caps Input socket: Fill Caps
i_profile_curve Input socket: Profile Curve
i_scale Input socket: Scale
name
node
o_mesh Output socket: Mesh
tree
type

CurveToPoints

nodes.geometry.geometry.CurveToPoints(
    curve=None,
    count=10,
    length=0.1,
    *,
    mode='COUNT',
)

Generate a point cloud by sampling positions along curves

Attributes

Name Description
i_count Input socket: Count
i_curve Input socket: Curve
i_length Input socket: Length
mode
name
node
o_normal Output socket: Normal
o_points Output socket: Points
o_rotation Output socket: Rotation
o_tangent Output socket: Tangent
tree
type

CurvesToGreasePencil

nodes.geometry.geometry.CurvesToGreasePencil(
    curves=None,
    selection=True,
    instances_as_layers=True,
)

Convert the curves in each top-level instance into Grease Pencil layer

Attributes

Name Description
i_curves Input socket: Curves
i_instances_as_layers Input socket: Instances as Layers
i_selection Input socket: Selection
name
node
o_grease_pencil Output socket: Grease Pencil
tree
type

Cylinder

nodes.geometry.geometry.Cylinder(
    vertices=32,
    side_segments=1,
    fill_segments=1,
    radius=1.0,
    depth=2.0,
    *,
    fill_type='NGON',
)

Generate a cylinder mesh

Attributes

Name Description
fill_type
i_depth Input socket: Depth
i_fill_segments Input socket: Fill Segments
i_radius Input socket: Radius
i_side_segments Input socket: Side Segments
i_vertices Input socket: Vertices
name
node
o_bottom Output socket: Bottom
o_mesh Output socket: Mesh
o_side Output socket: Side
o_top Output socket: Top
o_uv_map Output socket: UV Map
tree
type

DeformCurvesOnSurface

nodes.geometry.geometry.DeformCurvesOnSurface(curves=None)

Translate and rotate curves based on changes between the object’s original and evaluated surface mesh

Attributes

Name Description
i_curves Input socket: Curves
name
node
o_curves Output socket: Curves
tree
type

DeleteGeometry

nodes.geometry.geometry.DeleteGeometry(
    geometry=None,
    selection=True,
    *,
    mode='ALL',
    domain='POINT',
)

Remove selected elements of a geometry

Attributes

Name Description
domain
i_geometry Input socket: Geometry
i_selection Input socket: Selection
mode
name
node
o_geometry Output socket: Geometry
tree
type

Methods

Name Description
edge Create Delete Geometry with operation ‘Edge’.
face Create Delete Geometry with operation ‘Face’.
instance Create Delete Geometry with operation ‘Instance’.
layer Create Delete Geometry with operation ‘Layer’.
point Create Delete Geometry with operation ‘Point’.
spline Create Delete Geometry with operation ‘Spline’.
edge
nodes.geometry.geometry.DeleteGeometry.edge(geometry=None, selection=True)

Create Delete Geometry with operation ‘Edge’.

face
nodes.geometry.geometry.DeleteGeometry.face(geometry=None, selection=True)

Create Delete Geometry with operation ‘Face’.

instance
nodes.geometry.geometry.DeleteGeometry.instance(geometry=None, selection=True)

Create Delete Geometry with operation ‘Instance’.

layer
nodes.geometry.geometry.DeleteGeometry.layer(geometry=None, selection=True)

Create Delete Geometry with operation ‘Layer’.

point
nodes.geometry.geometry.DeleteGeometry.point(geometry=None, selection=True)

Create Delete Geometry with operation ‘Point’.

spline
nodes.geometry.geometry.DeleteGeometry.spline(geometry=None, selection=True)

Create Delete Geometry with operation ‘Spline’.

DistributePointsOnFaces

nodes.geometry.geometry.DistributePointsOnFaces(
    mesh=None,
    selection=True,
    distance_min=0.0,
    density_max=10.0,
    density=10.0,
    density_factor=1.0,
    seed=0,
    *,
    distribute_method='RANDOM',
    use_legacy_normal=False,
)

Generate points spread out on the surface of a mesh

Attributes

Name Description
distribute_method
i_density Input socket: Density
i_density_factor Input socket: Density Factor
i_density_max Input socket: Density Max
i_distance_min Input socket: Distance Min
i_mesh Input socket: Mesh
i_seed Input socket: Seed
i_selection Input socket: Selection
name
node
o_normal Output socket: Normal
o_points Output socket: Points
o_rotation Output socket: Rotation
tree
type
use_legacy_normal

DualMesh

nodes.geometry.geometry.DualMesh(mesh=None, keep_boundaries=False)

Convert Faces into vertices and vertices into faces

Attributes

Name Description
i_keep_boundaries Input socket: Keep Boundaries
i_mesh Input socket: Mesh
name
node
o_dual_mesh Output socket: Dual Mesh
tree
type

DuplicateElements

nodes.geometry.geometry.DuplicateElements(
    geometry=None,
    selection=True,
    amount=1,
    *,
    domain='POINT',
)

Generate an arbitrary number copies of each selected input element

Attributes

Name Description
domain
i_amount Input socket: Amount
i_geometry Input socket: Geometry
i_selection Input socket: Selection
name
node
o_duplicate_index Output socket: Duplicate Index
o_geometry Output socket: Geometry
tree
type

Methods

Name Description
edge Create Duplicate Elements with operation ‘Edge’.
face Create Duplicate Elements with operation ‘Face’.
instance Create Duplicate Elements with operation ‘Instance’.
layer Create Duplicate Elements with operation ‘Layer’.
point Create Duplicate Elements with operation ‘Point’.
spline Create Duplicate Elements with operation ‘Spline’.
edge
nodes.geometry.geometry.DuplicateElements.edge(
    geometry=None,
    selection=True,
    amount=1,
)

Create Duplicate Elements with operation ‘Edge’.

face
nodes.geometry.geometry.DuplicateElements.face(
    geometry=None,
    selection=True,
    amount=1,
)

Create Duplicate Elements with operation ‘Face’.

instance
nodes.geometry.geometry.DuplicateElements.instance(
    geometry=None,
    selection=True,
    amount=1,
)

Create Duplicate Elements with operation ‘Instance’.

layer
nodes.geometry.geometry.DuplicateElements.layer(
    geometry=None,
    selection=True,
    amount=1,
)

Create Duplicate Elements with operation ‘Layer’.

point
nodes.geometry.geometry.DuplicateElements.point(
    geometry=None,
    selection=True,
    amount=1,
)

Create Duplicate Elements with operation ‘Point’.

spline
nodes.geometry.geometry.DuplicateElements.spline(
    geometry=None,
    selection=True,
    amount=1,
)

Create Duplicate Elements with operation ‘Spline’.

EdgePathsToCurves

nodes.geometry.geometry.EdgePathsToCurves(
    mesh=None,
    start_vertices=True,
    next_vertex_index=-1,
)

Output curves following paths across mesh edges

Attributes

Name Description
i_mesh Input socket: Mesh
i_next_vertex_index Input socket: Next Vertex Index
i_start_vertices Input socket: Start Vertices
name
node
o_curves Output socket: Curves
tree
type

ExtrudeMesh

nodes.geometry.geometry.ExtrudeMesh(
    mesh=None,
    selection=True,
    offset=None,
    offset_scale=1.0,
    individual=True,
    *,
    mode='FACES',
)

Generate new vertices, edges, or faces from selected elements and move them based on an offset while keeping them connected by their boundary

Attributes

Name Description
i_individual Input socket: Individual
i_mesh Input socket: Mesh
i_offset Input socket: Offset
i_offset_scale Input socket: Offset Scale
i_selection Input socket: Selection
mode
name
node
o_mesh Output socket: Mesh
o_side Output socket: Side
o_top Output socket: Top
tree
type

FillCurve

nodes.geometry.geometry.FillCurve(curve=None, group_id=0, mode='Triangles')

Generate a mesh on the XY plane with faces on the inside of input curves

Attributes

Name Description
i_curve Input socket: Curve
i_group_id Input socket: Group ID
i_mode Input socket: Mode
name
node
o_mesh Output socket: Mesh
tree
type

FilletCurve

nodes.geometry.geometry.FilletCurve(
    curve=None,
    radius=0.25,
    limit_radius=False,
    mode='Bézier',
    count=1,
)

Round corners by generating circular arcs on each control point

Attributes

Name Description
i_count Input socket: Count
i_curve Input socket: Curve
i_limit_radius Input socket: Limit Radius
i_mode Input socket: Mode
i_radius Input socket: Radius
name
node
o_curve Output socket: Curve
tree
type

FlipFaces

nodes.geometry.geometry.FlipFaces(mesh=None, selection=True)

Reverse the order of the vertices and edges of selected faces, flipping their normal direction

Attributes

Name Description
i_mesh Input socket: Mesh
i_selection Input socket: Selection
name
node
o_mesh Output socket: Mesh
tree
type

GeometryProximity

nodes.geometry.geometry.GeometryProximity(
    target=None,
    group_id=0,
    source_position=None,
    sample_group_id=0,
    *,
    target_element='FACES',
)

Compute the closest location on the target geometry

Attributes

Name Description
i_group_id Input socket: Group ID
i_sample_group_id Input socket: Sample Group ID
i_source_position Input socket: Sample Position
i_target Input socket: Geometry
name
node
o_distance Output socket: Distance
o_is_valid Output socket: Is Valid
o_position Output socket: Position
target_element
tree
type

GreasePencilToCurves

nodes.geometry.geometry.GreasePencilToCurves(
    grease_pencil=None,
    selection=True,
    layers_as_instances=True,
)

Convert Grease Pencil layers into curve instances

Attributes

Name Description
i_grease_pencil Input socket: Grease Pencil
i_layers_as_instances Input socket: Layers as Instances
i_selection Input socket: Selection
name
node
o_curves Output socket: Curves
tree
type

Grid

nodes.geometry.geometry.Grid(size_x=1.0, size_y=1.0, vertices_x=3, vertices_y=3)

Generate a planar mesh on the XY plane

Attributes

Name Description
i_size_x Input socket: Size X
i_size_y Input socket: Size Y
i_vertices_x Input socket: Vertices X
i_vertices_y Input socket: Vertices Y
name
node
o_mesh Output socket: Mesh
o_uv_map Output socket: UV Map
tree
type

IcoSphere

nodes.geometry.geometry.IcoSphere(radius=1.0, subdivisions=1)

Generate a spherical mesh that consists of equally sized triangles

Attributes

Name Description
i_radius Input socket: Radius
i_subdivisions Input socket: Subdivisions
name
node
o_mesh Output socket: Mesh
o_uv_map Output socket: UV Map
tree
type

InstanceOnPoints

nodes.geometry.geometry.InstanceOnPoints(
    points=None,
    selection=True,
    instance=None,
    pick_instance=False,
    instance_index=0,
    rotation=None,
    scale=None,
)

Generate a reference to geometry at each of the input points, without duplicating its underlying data

Attributes

Name Description
i_instance Input socket: Instance
i_instance_index Input socket: Instance Index
i_pick_instance Input socket: Pick Instance
i_points Input socket: Points
i_rotation Input socket: Rotation
i_scale Input socket: Scale
i_selection Input socket: Selection
name
node
o_instances Output socket: Instances
tree
type

InstancesToPoints

nodes.geometry.geometry.InstancesToPoints(
    instances=None,
    selection=True,
    position=None,
    radius=0.05,
)
Generate points at the origins of instances.

Note: Nested instances are not affected by this node

Attributes

Name Description
i_instances Input socket: Instances
i_position Input socket: Position
i_radius Input socket: Radius
i_selection Input socket: Selection
name
node
o_points Output socket: Points
tree
type

InterpolateCurves

nodes.geometry.geometry.InterpolateCurves(
    guide_curves=None,
    guide_up=None,
    guide_group_id=0,
    points=None,
    point_up=None,
    point_group_id=0,
    max_neighbors=4,
)

Generate new curves on points by interpolating between existing curves

Attributes

Name Description
i_guide_curves Input socket: Guide Curves
i_guide_group_id Input socket: Guide Group ID
i_guide_up Input socket: Guide Up
i_max_neighbors Input socket: Max Neighbors
i_point_group_id Input socket: Point Group ID
i_point_up Input socket: Point Up
i_points Input socket: Points
name
node
o_closest_index Output socket: Closest Index
o_closest_weight Output socket: Closest Weight
o_curves Output socket: Curves
tree
type

MaterialSelection

nodes.geometry.geometry.MaterialSelection(material=None)

Provide a selection of faces that use the specified material

Attributes

Name Description
i_material Input socket: Material
name
node
o_selection Output socket: Selection
tree
type

MergeByDistance

nodes.geometry.geometry.MergeByDistance(
    geometry=None,
    selection=True,
    mode='All',
    distance=0.001,
)

Merge vertices or points within a given distance

Attributes

Name Description
i_distance Input socket: Distance
i_geometry Input socket: Geometry
i_mode Input socket: Mode
i_selection Input socket: Selection
name
node
o_geometry Output socket: Geometry
tree
type

MergeLayers

nodes.geometry.geometry.MergeLayers(
    grease_pencil=None,
    selection=True,
    group_id=0,
    *,
    mode='MERGE_BY_NAME',
)

Join groups of Grease Pencil layers into one

Attributes

Name Description
i_grease_pencil Input socket: Grease Pencil
i_group_id Input socket: Group ID
i_selection Input socket: Selection
mode
name
node
o_grease_pencil Output socket: Grease Pencil
tree
type

MeshBoolean

nodes.geometry.geometry.MeshBoolean(
    mesh_1=None,
    mesh_2=None,
    self_intersection=False,
    hole_tolerant=False,
    *,
    operation='DIFFERENCE',
    solver='FLOAT',
)

Cut, subtract, or join multiple mesh inputs

Attributes

Name Description
i_hole_tolerant Input socket: Hole Tolerant
i_mesh_1 Input socket: Mesh 1
i_mesh_2 Input socket: Mesh 2
i_self_intersection Input socket: Self Intersection
name
node
o_intersecting_edges Output socket: Intersecting Edges
o_mesh Output socket: Mesh
operation
solver
tree
type

Methods

Name Description
difference Create Mesh Boolean with operation ‘Difference’.
intersect Create Mesh Boolean with operation ‘Intersect’.
union Create Mesh Boolean with operation ‘Union’.
difference
nodes.geometry.geometry.MeshBoolean.difference(mesh_1=None, mesh_2=None)

Create Mesh Boolean with operation ‘Difference’.

intersect
nodes.geometry.geometry.MeshBoolean.intersect(mesh_2=None)

Create Mesh Boolean with operation ‘Intersect’.

union
nodes.geometry.geometry.MeshBoolean.union(mesh_2=None)

Create Mesh Boolean with operation ‘Union’.

MeshCircle

nodes.geometry.geometry.MeshCircle(vertices=32, radius=1.0, *, fill_type='NONE')

Generate a circular ring of edges

Attributes

Name Description
fill_type
i_radius Input socket: Radius
i_vertices Input socket: Vertices
name
node
o_mesh Output socket: Mesh
tree
type

MeshLine

nodes.geometry.geometry.MeshLine(
    count=10,
    resolution=1.0,
    start_location=None,
    offset=None,
    *,
    mode='OFFSET',
    count_mode='TOTAL',
)

Generate vertices in a line and connect them with edges

Attributes

Name Description
count_mode
i_count Input socket: Count
i_offset Input socket: Offset
i_resolution Input socket: Resolution
i_start_location Input socket: Start Location
mode
name
node
o_mesh Output socket: Mesh
tree
type

MeshToCurve

nodes.geometry.geometry.MeshToCurve(mesh=None, selection=True, *, mode='EDGES')

Generate a curve from a mesh

Attributes

Name Description
i_mesh Input socket: Mesh
i_selection Input socket: Selection
mode
name
node
o_curve Output socket: Curve
tree
type

MeshToPoints

nodes.geometry.geometry.MeshToPoints(
    mesh=None,
    selection=True,
    position=None,
    radius=0.05,
    *,
    mode='VERTICES',
)

Generate a point cloud from a mesh’s vertices

Attributes

Name Description
i_mesh Input socket: Mesh
i_position Input socket: Position
i_radius Input socket: Radius
i_selection Input socket: Selection
mode
name
node
o_points Output socket: Points
tree
type

Points

nodes.geometry.geometry.Points(count=1, position=None, radius=0.1)

Generate a point cloud with positions and radii defined by fields

Attributes

Name Description
i_count Input socket: Count
i_position Input socket: Position
i_radius Input socket: Radius
name
node
o_geometry Output socket: Points
tree
type

PointsToCurves

nodes.geometry.geometry.PointsToCurves(
    points=None,
    curve_group_id=0,
    weight=0.0,
)

Split all points to curve by its group ID and reorder by weight

Attributes

Name Description
i_curve_group_id Input socket: Curve Group ID
i_points Input socket: Points
i_weight Input socket: Weight
name
node
o_curves Output socket: Curves
tree
type

PointsToVertices

nodes.geometry.geometry.PointsToVertices(points=None, selection=True)

Generate a mesh vertex for each point cloud point

Attributes

Name Description
i_points Input socket: Points
i_selection Input socket: Selection
name
node
o_mesh Output socket: Mesh
tree
type

QuadraticBezier

nodes.geometry.geometry.QuadraticBezier(
    resolution=16,
    start=None,
    middle=None,
    end=None,
)

Generate a poly spline in a parabola shape with control points positions

Attributes

Name Description
i_end Input socket: End
i_middle Input socket: Middle
i_resolution Input socket: Resolution
i_start Input socket: Start
name
node
o_curve Output socket: Curve
tree
type

Quadrilateral

nodes.geometry.geometry.Quadrilateral(
    width=2.0,
    height=2.0,
    bottom_width=4.0,
    top_width=2.0,
    offset=1.0,
    bottom_height=3.0,
    top_height=1.0,
    point_1=None,
    point_2=None,
    point_3=None,
    point_4=None,
    *,
    mode='RECTANGLE',
)

Generate a polygon with four points

Attributes

Name Description
i_bottom_height Input socket: Bottom Height
i_bottom_width Input socket: Bottom Width
i_height Input socket: Height
i_offset Input socket: Offset
i_point_1 Input socket: Point 1
i_point_2 Input socket: Point 2
i_point_3 Input socket: Point 3
i_point_4 Input socket: Point 4
i_top_height Input socket: Top Height
i_top_width Input socket: Top Width
i_width Input socket: Width
mode
name
node
o_curve Output socket: Curve
tree
type

Raycast

nodes.geometry.geometry.Raycast(
    target_geometry=None,
    attribute=0.0,
    interpolation='Interpolated',
    source_position=None,
    ray_direction=None,
    ray_length=100.0,
    *,
    data_type='FLOAT',
)

Cast rays from the context geometry onto a target geometry, and retrieve information from each hit point

Attributes

Name Description
data_type
i_attribute Input socket: Attribute
i_interpolation Input socket: Interpolation
i_ray_direction Input socket: Ray Direction
i_ray_length Input socket: Ray Length
i_source_position Input socket: Source Position
i_target_geometry Input socket: Target Geometry
name
node
o_attribute Output socket: Attribute
o_hit_distance Output socket: Hit Distance
o_hit_normal Output socket: Hit Normal
o_hit_position Output socket: Hit Position
o_is_hit Output socket: Is Hit
tree
type

Methods

Name Description
boolean Create Raycast with operation ‘Boolean’.
color Create Raycast with operation ‘Color’.
float Create Raycast with operation ‘Float’.
integer Create Raycast with operation ‘Integer’.
matrix Create Raycast with operation ‘4x4 Matrix’.
quaternion Create Raycast with operation ‘Quaternion’.
vector Create Raycast with operation ‘Vector’.
boolean
nodes.geometry.geometry.Raycast.boolean(
    target_geometry=None,
    attribute=False,
    interpolation='Interpolated',
    source_position=None,
    ray_direction=None,
    ray_length=100.0,
)

Create Raycast with operation ‘Boolean’.

color
nodes.geometry.geometry.Raycast.color(
    target_geometry=None,
    attribute=None,
    interpolation='Interpolated',
    source_position=None,
    ray_direction=None,
    ray_length=100.0,
)

Create Raycast with operation ‘Color’.

float
nodes.geometry.geometry.Raycast.float(
    target_geometry=None,
    attribute=0.0,
    interpolation='Interpolated',
    source_position=None,
    ray_direction=None,
    ray_length=100.0,
)

Create Raycast with operation ‘Float’.

integer
nodes.geometry.geometry.Raycast.integer(
    target_geometry=None,
    attribute=0,
    interpolation='Interpolated',
    source_position=None,
    ray_direction=None,
    ray_length=100.0,
)

Create Raycast with operation ‘Integer’.

matrix
nodes.geometry.geometry.Raycast.matrix(
    target_geometry=None,
    attribute=None,
    interpolation='Interpolated',
    source_position=None,
    ray_direction=None,
    ray_length=100.0,
)

Create Raycast with operation ‘4x4 Matrix’.

quaternion
nodes.geometry.geometry.Raycast.quaternion(
    target_geometry=None,
    attribute=None,
    interpolation='Interpolated',
    source_position=None,
    ray_direction=None,
    ray_length=100.0,
)

Create Raycast with operation ‘Quaternion’.

vector
nodes.geometry.geometry.Raycast.vector(
    target_geometry=None,
    attribute=None,
    interpolation='Interpolated',
    source_position=None,
    ray_direction=None,
    ray_length=100.0,
)

Create Raycast with operation ‘Vector’.

RealizeInstances

nodes.geometry.geometry.RealizeInstances(
    geometry=None,
    selection=True,
    realize_all=True,
    depth=0,
)

Convert instances into real geometry data

Attributes

Name Description
i_depth Input socket: Depth
i_geometry Input socket: Geometry
i_realize_all Input socket: Realize All
i_selection Input socket: Selection
name
node
o_geometry Output socket: Geometry
tree
type

ReplaceMaterial

nodes.geometry.geometry.ReplaceMaterial(geometry=None, old=None, new=None)

Swap one material with another

Attributes

Name Description
i_geometry Input socket: Geometry
i_new Input socket: New
i_old Input socket: Old
name
node
o_geometry Output socket: Geometry
tree
type

ResampleCurve

nodes.geometry.geometry.ResampleCurve(
    curve=None,
    selection=True,
    mode='Count',
    count=10,
    length=0.1,
    *,
    keep_last_segment=False,
)

Generate a poly spline for each input spline

Attributes

Name Description
i_count Input socket: Count
i_curve Input socket: Curve
i_length Input socket: Length
i_mode Input socket: Mode
i_selection Input socket: Selection
keep_last_segment
name
node
o_curve Output socket: Curve
tree
type

ReverseCurve

nodes.geometry.geometry.ReverseCurve(curve=None, selection=True)

Change the direction of curves by swapping their start and end data

Attributes

Name Description
i_curve Input socket: Curve
i_selection Input socket: Selection
name
node
o_curve Output socket: Curve
tree
type

RotateInstances

nodes.geometry.geometry.RotateInstances(
    instances=None,
    selection=True,
    rotation=None,
    pivot_point=None,
    local_space=True,
)

Rotate geometry instances in local or global space

Attributes

Name Description
i_instances Input socket: Instances
i_local_space Input socket: Local Space
i_pivot_point Input socket: Pivot Point
i_rotation Input socket: Rotation
i_selection Input socket: Selection
name
node
o_instances Output socket: Instances
tree
type

SampleCurve

nodes.geometry.geometry.SampleCurve(
    curves=None,
    value=0.0,
    factor=0.0,
    length=0.0,
    curve_index=0,
    *,
    mode='FACTOR',
    use_all_curves=False,
    data_type='FLOAT',
)

Retrieve data from a point on a curve at a certain distance from its start

Attributes

Name Description
data_type
i_curve_index Input socket: Curve Index
i_curves Input socket: Curves
i_factor Input socket: Factor
i_length Input socket: Length
i_value Input socket: Value
mode
name
node
o_normal Output socket: Normal
o_position Output socket: Position
o_tangent Output socket: Tangent
o_value Output socket: Value
tree
type
use_all_curves

Methods

Name Description
boolean Create Sample Curve with operation ‘Boolean’.
color Create Sample Curve with operation ‘Color’.
float Create Sample Curve with operation ‘Float’.
integer Create Sample Curve with operation ‘Integer’.
matrix Create Sample Curve with operation ‘4x4 Matrix’.
quaternion Create Sample Curve with operation ‘Quaternion’.
vector Create Sample Curve with operation ‘Vector’.
boolean
nodes.geometry.geometry.SampleCurve.boolean(
    curves=None,
    value=False,
    factor=0.0,
    curve_index=0,
)

Create Sample Curve with operation ‘Boolean’.

color
nodes.geometry.geometry.SampleCurve.color(
    curves=None,
    value=None,
    factor=0.0,
    curve_index=0,
)

Create Sample Curve with operation ‘Color’.

float
nodes.geometry.geometry.SampleCurve.float(
    curves=None,
    value=0.0,
    factor=0.0,
    curve_index=0,
)

Create Sample Curve with operation ‘Float’.

integer
nodes.geometry.geometry.SampleCurve.integer(
    curves=None,
    value=0,
    factor=0.0,
    curve_index=0,
)

Create Sample Curve with operation ‘Integer’.

matrix
nodes.geometry.geometry.SampleCurve.matrix(
    curves=None,
    value=None,
    factor=0.0,
    curve_index=0,
)

Create Sample Curve with operation ‘4x4 Matrix’.

quaternion
nodes.geometry.geometry.SampleCurve.quaternion(
    curves=None,
    value=None,
    factor=0.0,
    curve_index=0,
)

Create Sample Curve with operation ‘Quaternion’.

vector
nodes.geometry.geometry.SampleCurve.vector(
    curves=None,
    value=None,
    factor=0.0,
    curve_index=0,
)

Create Sample Curve with operation ‘Vector’.

SampleIndex

nodes.geometry.geometry.SampleIndex(
    geometry=None,
    value=0.0,
    index=0,
    *,
    data_type='FLOAT',
    domain='POINT',
    clamp=False,
)

Retrieve values from specific geometry elements

Attributes

Name Description
clamp
data_type
domain
i_geometry Input socket: Geometry
i_index Input socket: Index
i_value Input socket: Value
name
node
o_value Output socket: Value
tree
type

Methods

Name Description
boolean Create Sample Index with operation ‘Boolean’.
color Create Sample Index with operation ‘Color’.
edge Create Sample Index with operation ‘Edge’.
face Create Sample Index with operation ‘Face’.
face_corner Create Sample Index with operation ‘Face Corner’.
float Create Sample Index with operation ‘Float’.
instance Create Sample Index with operation ‘Instance’.
integer Create Sample Index with operation ‘Integer’.
layer Create Sample Index with operation ‘Layer’.
matrix Create Sample Index with operation ‘4x4 Matrix’.
point Create Sample Index with operation ‘Point’.
quaternion Create Sample Index with operation ‘Quaternion’.
spline Create Sample Index with operation ‘Spline’.
vector Create Sample Index with operation ‘Vector’.
boolean
nodes.geometry.geometry.SampleIndex.boolean(geometry=None, value=False, index=0)

Create Sample Index with operation ‘Boolean’.

color
nodes.geometry.geometry.SampleIndex.color(geometry=None, value=None, index=0)

Create Sample Index with operation ‘Color’.

edge
nodes.geometry.geometry.SampleIndex.edge(geometry=None, value=0.0, index=0)

Create Sample Index with operation ‘Edge’.

face
nodes.geometry.geometry.SampleIndex.face(geometry=None, value=0.0, index=0)

Create Sample Index with operation ‘Face’.

face_corner
nodes.geometry.geometry.SampleIndex.face_corner(
    geometry=None,
    value=0.0,
    index=0,
)

Create Sample Index with operation ‘Face Corner’.

float
nodes.geometry.geometry.SampleIndex.float(geometry=None, value=0.0, index=0)

Create Sample Index with operation ‘Float’.

instance
nodes.geometry.geometry.SampleIndex.instance(geometry=None, value=0.0, index=0)

Create Sample Index with operation ‘Instance’.

integer
nodes.geometry.geometry.SampleIndex.integer(geometry=None, value=0, index=0)

Create Sample Index with operation ‘Integer’.

layer
nodes.geometry.geometry.SampleIndex.layer(geometry=None, value=0.0, index=0)

Create Sample Index with operation ‘Layer’.

matrix
nodes.geometry.geometry.SampleIndex.matrix(geometry=None, value=None, index=0)

Create Sample Index with operation ‘4x4 Matrix’.

point
nodes.geometry.geometry.SampleIndex.point(geometry=None, value=0.0, index=0)

Create Sample Index with operation ‘Point’.

quaternion
nodes.geometry.geometry.SampleIndex.quaternion(
    geometry=None,
    value=None,
    index=0,
)

Create Sample Index with operation ‘Quaternion’.

spline
nodes.geometry.geometry.SampleIndex.spline(geometry=None, value=0.0, index=0)

Create Sample Index with operation ‘Spline’.

vector
nodes.geometry.geometry.SampleIndex.vector(geometry=None, value=None, index=0)

Create Sample Index with operation ‘Vector’.

SampleNearest

nodes.geometry.geometry.SampleNearest(
    geometry=None,
    sample_position=None,
    *,
    domain='POINT',
)

Find the element of a geometry closest to a position. Similar to the “Index of Nearest” node

Attributes

Name Description
domain
i_geometry Input socket: Geometry
i_sample_position Input socket: Sample Position
name
node
o_index Output socket: Index
tree
type

Methods

Name Description
edge Create Sample Nearest with operation ‘Edge’.
face Create Sample Nearest with operation ‘Face’.
face_corner Create Sample Nearest with operation ‘Face Corner’.
point Create Sample Nearest with operation ‘Point’.
edge
nodes.geometry.geometry.SampleNearest.edge(geometry=None, sample_position=None)

Create Sample Nearest with operation ‘Edge’.

face
nodes.geometry.geometry.SampleNearest.face(geometry=None, sample_position=None)

Create Sample Nearest with operation ‘Face’.

face_corner
nodes.geometry.geometry.SampleNearest.face_corner(
    geometry=None,
    sample_position=None,
)

Create Sample Nearest with operation ‘Face Corner’.

point
nodes.geometry.geometry.SampleNearest.point(geometry=None, sample_position=None)

Create Sample Nearest with operation ‘Point’.

SampleNearestSurface

nodes.geometry.geometry.SampleNearestSurface(
    mesh=None,
    value=0.0,
    group_id=0,
    sample_position=None,
    sample_group_id=0,
    *,
    data_type='FLOAT',
)

Calculate the interpolated value of a mesh attribute on the closest point of its surface

Attributes

Name Description
data_type
i_group_id Input socket: Group ID
i_mesh Input socket: Mesh
i_sample_group_id Input socket: Sample Group ID
i_sample_position Input socket: Sample Position
i_value Input socket: Value
name
node
o_is_valid Output socket: Is Valid
o_value Output socket: Value
tree
type

Methods

Name Description
boolean Create Sample Nearest Surface with operation ‘Boolean’.
color Create Sample Nearest Surface with operation ‘Color’.
float Create Sample Nearest Surface with operation ‘Float’.
integer Create Sample Nearest Surface with operation ‘Integer’.
matrix Create Sample Nearest Surface with operation ‘4x4 Matrix’.
quaternion Create Sample Nearest Surface with operation ‘Quaternion’.
vector Create Sample Nearest Surface with operation ‘Vector’.
boolean
nodes.geometry.geometry.SampleNearestSurface.boolean(
    mesh=None,
    value=False,
    group_id=0,
    sample_position=None,
    sample_group_id=0,
)

Create Sample Nearest Surface with operation ‘Boolean’.

color
nodes.geometry.geometry.SampleNearestSurface.color(
    mesh=None,
    value=None,
    group_id=0,
    sample_position=None,
    sample_group_id=0,
)

Create Sample Nearest Surface with operation ‘Color’.

float
nodes.geometry.geometry.SampleNearestSurface.float(
    mesh=None,
    value=0.0,
    group_id=0,
    sample_position=None,
    sample_group_id=0,
)

Create Sample Nearest Surface with operation ‘Float’.

integer
nodes.geometry.geometry.SampleNearestSurface.integer(
    mesh=None,
    value=0,
    group_id=0,
    sample_position=None,
    sample_group_id=0,
)

Create Sample Nearest Surface with operation ‘Integer’.

matrix
nodes.geometry.geometry.SampleNearestSurface.matrix(
    mesh=None,
    value=None,
    group_id=0,
    sample_position=None,
    sample_group_id=0,
)

Create Sample Nearest Surface with operation ‘4x4 Matrix’.

quaternion
nodes.geometry.geometry.SampleNearestSurface.quaternion(
    mesh=None,
    value=None,
    group_id=0,
    sample_position=None,
    sample_group_id=0,
)

Create Sample Nearest Surface with operation ‘Quaternion’.

vector
nodes.geometry.geometry.SampleNearestSurface.vector(
    mesh=None,
    value=None,
    group_id=0,
    sample_position=None,
    sample_group_id=0,
)

Create Sample Nearest Surface with operation ‘Vector’.

SampleUVSurface

nodes.geometry.geometry.SampleUVSurface(
    mesh=None,
    value=0.0,
    source_uv_map=None,
    sample_uv=None,
    *,
    data_type='FLOAT',
)

Calculate the interpolated values of a mesh attribute at a UV coordinate

Attributes

Name Description
data_type
i_mesh Input socket: Mesh
i_sample_uv Input socket: Sample UV
i_source_uv_map Input socket: UV Map
i_value Input socket: Value
name
node
o_is_valid Output socket: Is Valid
o_value Output socket: Value
tree
type

Methods

Name Description
boolean Create Sample UV Surface with operation ‘Boolean’.
color Create Sample UV Surface with operation ‘Color’.
float Create Sample UV Surface with operation ‘Float’.
integer Create Sample UV Surface with operation ‘Integer’.
matrix Create Sample UV Surface with operation ‘4x4 Matrix’.
quaternion Create Sample UV Surface with operation ‘Quaternion’.
vector Create Sample UV Surface with operation ‘Vector’.
boolean
nodes.geometry.geometry.SampleUVSurface.boolean(
    mesh=None,
    value=False,
    source_uv_map=None,
    sample_uv=None,
)

Create Sample UV Surface with operation ‘Boolean’.

color
nodes.geometry.geometry.SampleUVSurface.color(
    mesh=None,
    value=None,
    source_uv_map=None,
    sample_uv=None,
)

Create Sample UV Surface with operation ‘Color’.

float
nodes.geometry.geometry.SampleUVSurface.float(
    mesh=None,
    value=0.0,
    source_uv_map=None,
    sample_uv=None,
)

Create Sample UV Surface with operation ‘Float’.

integer
nodes.geometry.geometry.SampleUVSurface.integer(
    mesh=None,
    value=0,
    source_uv_map=None,
    sample_uv=None,
)

Create Sample UV Surface with operation ‘Integer’.

matrix
nodes.geometry.geometry.SampleUVSurface.matrix(
    mesh=None,
    value=None,
    source_uv_map=None,
    sample_uv=None,
)

Create Sample UV Surface with operation ‘4x4 Matrix’.

quaternion
nodes.geometry.geometry.SampleUVSurface.quaternion(
    mesh=None,
    value=None,
    source_uv_map=None,
    sample_uv=None,
)

Create Sample UV Surface with operation ‘Quaternion’.

vector
nodes.geometry.geometry.SampleUVSurface.vector(
    mesh=None,
    value=None,
    source_uv_map=None,
    sample_uv=None,
)

Create Sample UV Surface with operation ‘Vector’.

ScaleElements

nodes.geometry.geometry.ScaleElements(
    geometry=None,
    selection=True,
    scale=1.0,
    center=None,
    scale_mode='Uniform',
    axis=None,
    *,
    domain='FACE',
)

Scale groups of connected edges and faces

Attributes

Name Description
domain
i_axis Input socket: Axis
i_center Input socket: Center
i_geometry Input socket: Geometry
i_scale Input socket: Scale
i_scale_mode Input socket: Scale Mode
i_selection Input socket: Selection
name
node
o_geometry Output socket: Geometry
tree
type

Methods

Name Description
edge Create Scale Elements with operation ‘Edge’.
face Create Scale Elements with operation ‘Face’.
edge
nodes.geometry.geometry.ScaleElements.edge(
    geometry=None,
    selection=True,
    scale=1.0,
    center=None,
    scale_mode='Uniform',
)

Create Scale Elements with operation ‘Edge’.

face
nodes.geometry.geometry.ScaleElements.face(
    geometry=None,
    selection=True,
    scale=1.0,
    center=None,
    scale_mode='Uniform',
)

Create Scale Elements with operation ‘Face’.

ScaleInstances

nodes.geometry.geometry.ScaleInstances(
    instances=None,
    selection=True,
    scale=None,
    center=None,
    local_space=True,
)

Scale geometry instances in local or global space

Attributes

Name Description
i_center Input socket: Center
i_instances Input socket: Instances
i_local_space Input socket: Local Space
i_scale Input socket: Scale
i_selection Input socket: Selection
name
node
o_instances Output socket: Instances
tree
type

SeparateComponents

nodes.geometry.geometry.SeparateComponents(geometry=None)

Split a geometry into a separate output for each type of data in the geometry

Attributes

Name Description
i_geometry Input socket: Geometry
name
node
o_curve Output socket: Curve
o_grease_pencil Output socket: Grease Pencil
o_instances Output socket: Instances
o_mesh Output socket: Mesh
o_point_cloud Output socket: Point Cloud
o_volume Output socket: Volume
tree
type

SeparateGeometry

nodes.geometry.geometry.SeparateGeometry(
    geometry=None,
    selection=True,
    *,
    domain='POINT',
)

Split a geometry into two geometry outputs based on a selection

Attributes

Name Description
domain
i_geometry Input socket: Geometry
i_selection Input socket: Selection
name
node
o_inverted Output socket: Inverted
o_selection Output socket: Selection
tree
type

Methods

Name Description
edge Create Separate Geometry with operation ‘Edge’.
face Create Separate Geometry with operation ‘Face’.
instance Create Separate Geometry with operation ‘Instance’.
layer Create Separate Geometry with operation ‘Layer’.
point Create Separate Geometry with operation ‘Point’.
spline Create Separate Geometry with operation ‘Spline’.
edge
nodes.geometry.geometry.SeparateGeometry.edge(geometry=None, selection=True)

Create Separate Geometry with operation ‘Edge’.

face
nodes.geometry.geometry.SeparateGeometry.face(geometry=None, selection=True)

Create Separate Geometry with operation ‘Face’.

instance
nodes.geometry.geometry.SeparateGeometry.instance(geometry=None, selection=True)

Create Separate Geometry with operation ‘Instance’.

layer
nodes.geometry.geometry.SeparateGeometry.layer(geometry=None, selection=True)

Create Separate Geometry with operation ‘Layer’.

point
nodes.geometry.geometry.SeparateGeometry.point(geometry=None, selection=True)

Create Separate Geometry with operation ‘Point’.

spline
nodes.geometry.geometry.SeparateGeometry.spline(geometry=None, selection=True)

Create Separate Geometry with operation ‘Spline’.

SetCurveNormal

nodes.geometry.geometry.SetCurveNormal(
    curve=None,
    selection=True,
    mode='Minimum Twist',
    normal=None,
)

Set the evaluation mode for curve normals

Attributes

Name Description
i_curve Input socket: Curve
i_mode Input socket: Mode
i_normal Input socket: Normal
i_selection Input socket: Selection
name
node
o_curve Output socket: Curve
tree
type

SetCurveRadius

nodes.geometry.geometry.SetCurveRadius(curve=None, selection=True, radius=0.005)

Set the radius of the curve at each control point

Attributes

Name Description
i_curve Input socket: Curve
i_radius Input socket: Radius
i_selection Input socket: Selection
name
node
o_curve Output socket: Curve
tree
type

SetCurveTilt

nodes.geometry.geometry.SetCurveTilt(curve=None, selection=True, tilt=0.0)

Set the tilt angle at each curve control point

Attributes

Name Description
i_curve Input socket: Curve
i_selection Input socket: Selection
i_tilt Input socket: Tilt
name
node
o_curve Output socket: Curve
tree
type

SetFaceSet

nodes.geometry.geometry.SetFaceSet(mesh=None, selection=True, face_set=0)

Set sculpt face set values for faces

Attributes

Name Description
i_face_set Input socket: Face Set
i_mesh Input socket: Mesh
i_selection Input socket: Selection
name
node
o_mesh Output socket: Mesh
tree
type

SetGeometryName

nodes.geometry.geometry.SetGeometryName(geometry=None, name='')

Set the name of a geometry for easier debugging

Attributes

Name Description
i_geometry Input socket: Geometry
i_name Input socket: Name
name
node
o_geometry Output socket: Geometry
tree
type

SetGreasePencilColor

nodes.geometry.geometry.SetGreasePencilColor(
    grease_pencil=None,
    selection=True,
    color=None,
    opacity=1.0,
    *,
    mode='STROKE',
)

Set color and opacity attributes on Grease Pencil geometry

Attributes

Name Description
i_color Input socket: Color
i_grease_pencil Input socket: Grease Pencil
i_opacity Input socket: Opacity
i_selection Input socket: Selection
mode
name
node
o_grease_pencil Output socket: Grease Pencil
tree
type

SetGreasePencilDepth

nodes.geometry.geometry.SetGreasePencilDepth(
    grease_pencil=None,
    *,
    depth_order='2D',
)

Set the Grease Pencil depth order to use

Attributes

Name Description
depth_order
i_grease_pencil Input socket: Grease Pencil
name
node
o_grease_pencil Output socket: Grease Pencil
tree
type

SetGreasePencilSoftness

nodes.geometry.geometry.SetGreasePencilSoftness(
    grease_pencil=None,
    selection=True,
    softness=0.0,
)

Set softness attribute on Grease Pencil geometry

Attributes

Name Description
i_grease_pencil Input socket: Grease Pencil
i_selection Input socket: Selection
i_softness Input socket: Softness
name
node
o_grease_pencil Output socket: Grease Pencil
tree
type

SetHandlePositions

nodes.geometry.geometry.SetHandlePositions(
    curve=None,
    selection=True,
    position=None,
    offset=None,
    *,
    mode='LEFT',
)

Set the positions for the handles of Bézier curves

Attributes

Name Description
i_curve Input socket: Curve
i_offset Input socket: Offset
i_position Input socket: Position
i_selection Input socket: Selection
mode
name
node
o_curve Output socket: Curve
tree
type

SetID

nodes.geometry.geometry.SetID(geometry=None, selection=True, id=0)

Set the id attribute on the input geometry, mainly used internally for randomizing

Attributes

Name Description
i_geometry Input socket: Geometry
i_id Input socket: ID
i_selection Input socket: Selection
name
node
o_geometry Output socket: Geometry
tree
type

SetInstanceTransform

nodes.geometry.geometry.SetInstanceTransform(
    instances=None,
    selection=True,
    transform=None,
)

Set the transformation matrix of every instance

Attributes

Name Description
i_instances Input socket: Instances
i_selection Input socket: Selection
i_transform Input socket: Transform
name
node
o_instances Output socket: Instances
tree
type

SetMaterial

nodes.geometry.geometry.SetMaterial(
    geometry=None,
    selection=True,
    material=None,
)

Assign a material to geometry elements

Attributes

Name Description
i_geometry Input socket: Geometry
i_material Input socket: Material
i_selection Input socket: Selection
name
node
o_geometry Output socket: Geometry
tree
type

SetMaterialIndex

nodes.geometry.geometry.SetMaterialIndex(
    geometry=None,
    selection=True,
    material_index=0,
)

Set the material index for each selected geometry element

Attributes

Name Description
i_geometry Input socket: Geometry
i_material_index Input socket: Material Index
i_selection Input socket: Selection
name
node
o_geometry Output socket: Geometry
tree
type

SetMeshNormal

nodes.geometry.geometry.SetMeshNormal(
    mesh=None,
    remove_custom=True,
    edge_sharpness=False,
    face_sharpness=False,
    *,
    mode='SHARPNESS',
    domain='POINT',
)

Store a normal vector for each mesh element

Attributes

Name Description
domain
i_edge_sharpness Input socket: Edge Sharpness
i_face_sharpness Input socket: Face Sharpness
i_mesh Input socket: Mesh
i_remove_custom Input socket: Remove Custom
mode
name
node
o_mesh Output socket: Mesh
tree
type

Methods

Name Description
face Create Set Mesh Normal with operation ‘Face’.
face_corner Create Set Mesh Normal with operation ‘Face Corner’.
point Create Set Mesh Normal with operation ‘Point’.
face
nodes.geometry.geometry.SetMeshNormal.face(
    mesh=None,
    remove_custom=True,
    edge_sharpness=False,
    face_sharpness=False,
)

Create Set Mesh Normal with operation ‘Face’.

face_corner
nodes.geometry.geometry.SetMeshNormal.face_corner(
    mesh=None,
    remove_custom=True,
    edge_sharpness=False,
    face_sharpness=False,
)

Create Set Mesh Normal with operation ‘Face Corner’.

point
nodes.geometry.geometry.SetMeshNormal.point(
    mesh=None,
    remove_custom=True,
    edge_sharpness=False,
    face_sharpness=False,
)

Create Set Mesh Normal with operation ‘Point’.

SetPointRadius

nodes.geometry.geometry.SetPointRadius(points=None, selection=True, radius=0.05)

Set the display size of point cloud points

Attributes

Name Description
i_points Input socket: Points
i_radius Input socket: Radius
i_selection Input socket: Selection
name
node
o_points Output socket: Points
tree
type

SetPosition

nodes.geometry.geometry.SetPosition(
    geometry=None,
    selection=True,
    position=None,
    offset=None,
)

Set the location of each point

Attributes

Name Description
i_geometry Input socket: Geometry
i_offset Input socket: Offset
i_position Input socket: Position
i_selection Input socket: Selection
name
node
o_geometry Output socket: Geometry
tree
type

SetSelection

nodes.geometry.geometry.SetSelection(
    geometry=None,
    selection=True,
    *,
    domain='POINT',
    selection_type='BOOLEAN',
)

Set selection of the edited geometry, for tool execution

Attributes

Name Description
domain
i_geometry Input socket: Geometry
i_selection Input socket: Selection
name
node
o_geometry Output socket: Geometry
selection_type
tree
type

Methods

Name Description
edge Create Set Selection with operation ‘Edge’.
face Create Set Selection with operation ‘Face’.
point Create Set Selection with operation ‘Point’.
spline Create Set Selection with operation ‘Spline’.
edge
nodes.geometry.geometry.SetSelection.edge(geometry=None, selection=True)

Create Set Selection with operation ‘Edge’.

face
nodes.geometry.geometry.SetSelection.face(geometry=None, selection=True)

Create Set Selection with operation ‘Face’.

point
nodes.geometry.geometry.SetSelection.point(geometry=None, selection=True)

Create Set Selection with operation ‘Point’.

spline
nodes.geometry.geometry.SetSelection.spline(geometry=None, selection=True)

Create Set Selection with operation ‘Spline’.

SetShadeSmooth

nodes.geometry.geometry.SetShadeSmooth(
    geometry=None,
    selection=True,
    shade_smooth=True,
    *,
    domain='FACE',
)

Control the smoothness of mesh normals around each face by changing the “shade smooth” attribute

Attributes

Name Description
domain
i_geometry Input socket: Mesh
i_selection Input socket: Selection
i_shade_smooth Input socket: Shade Smooth
name
node
o_geometry Output socket: Mesh
tree
type

Methods

Name Description
edge Create Set Shade Smooth with operation ‘Edge’.
face Create Set Shade Smooth with operation ‘Face’.
edge
nodes.geometry.geometry.SetShadeSmooth.edge(
    geometry=None,
    selection=True,
    shade_smooth=True,
)

Create Set Shade Smooth with operation ‘Edge’.

face
nodes.geometry.geometry.SetShadeSmooth.face(
    geometry=None,
    selection=True,
    shade_smooth=True,
)

Create Set Shade Smooth with operation ‘Face’.

SetSplineCyclic

nodes.geometry.geometry.SetSplineCyclic(
    geometry=None,
    selection=True,
    cyclic=False,
)

Control whether each spline loops back on itself by changing the “cyclic” attribute

Attributes

Name Description
i_cyclic Input socket: Cyclic
i_geometry Input socket: Curve
i_selection Input socket: Selection
name
node
o_geometry Output socket: Curve
tree
type

SetSplineResolution

nodes.geometry.geometry.SetSplineResolution(
    geometry=None,
    selection=True,
    resolution=12,
)

Control how many evaluated points should be generated on every curve segment

Attributes

Name Description
i_geometry Input socket: Curve
i_resolution Input socket: Resolution
i_selection Input socket: Selection
name
node
o_geometry Output socket: Curve
tree
type

SetSplineType

nodes.geometry.geometry.SetSplineType(
    curve=None,
    selection=True,
    *,
    spline_type='POLY',
)

Change the type of curves

Attributes

Name Description
i_curve Input socket: Curve
i_selection Input socket: Selection
name
node
o_curve Output socket: Curve
spline_type
tree
type

SortElements

nodes.geometry.geometry.SortElements(
    geometry=None,
    selection=True,
    group_id=0,
    sort_weight=0.0,
    *,
    domain='POINT',
)

Rearrange geometry elements, changing their indices

Attributes

Name Description
domain
i_geometry Input socket: Geometry
i_group_id Input socket: Group ID
i_selection Input socket: Selection
i_sort_weight Input socket: Sort Weight
name
node
o_geometry Output socket: Geometry
tree
type

Methods

Name Description
edge Create Sort Elements with operation ‘Edge’.
face Create Sort Elements with operation ‘Face’.
instance Create Sort Elements with operation ‘Instance’.
point Create Sort Elements with operation ‘Point’.
spline Create Sort Elements with operation ‘Spline’.
edge
nodes.geometry.geometry.SortElements.edge(
    geometry=None,
    selection=True,
    group_id=0,
    sort_weight=0.0,
)

Create Sort Elements with operation ‘Edge’.

face
nodes.geometry.geometry.SortElements.face(
    geometry=None,
    selection=True,
    group_id=0,
    sort_weight=0.0,
)

Create Sort Elements with operation ‘Face’.

instance
nodes.geometry.geometry.SortElements.instance(
    geometry=None,
    selection=True,
    group_id=0,
    sort_weight=0.0,
)

Create Sort Elements with operation ‘Instance’.

point
nodes.geometry.geometry.SortElements.point(
    geometry=None,
    selection=True,
    group_id=0,
    sort_weight=0.0,
)

Create Sort Elements with operation ‘Point’.

spline
nodes.geometry.geometry.SortElements.spline(
    geometry=None,
    selection=True,
    group_id=0,
    sort_weight=0.0,
)

Create Sort Elements with operation ‘Spline’.

Spiral

nodes.geometry.geometry.Spiral(
    resolution=32,
    rotations=2.0,
    start_radius=1.0,
    end_radius=2.0,
    height=2.0,
    reverse=False,
)

Generate a poly spline in a spiral shape

Attributes

Name Description
i_end_radius Input socket: End Radius
i_height Input socket: Height
i_resolution Input socket: Resolution
i_reverse Input socket: Reverse
i_rotations Input socket: Rotations
i_start_radius Input socket: Start Radius
name
node
o_curve Output socket: Curve
tree
type

SplitEdges

nodes.geometry.geometry.SplitEdges(mesh=None, selection=True)

Duplicate mesh edges and break connections with the surrounding faces

Attributes

Name Description
i_mesh Input socket: Mesh
i_selection Input socket: Selection
name
node
o_mesh Output socket: Mesh
tree
type

SplitToInstances

nodes.geometry.geometry.SplitToInstances(
    geometry=None,
    selection=True,
    group_id=0,
    *,
    domain='POINT',
)

Create separate geometries containing the elements from the same group

Attributes

Name Description
domain
i_geometry Input socket: Geometry
i_group_id Input socket: Group ID
i_selection Input socket: Selection
name
node
o_group_id Output socket: Group ID
o_instances Output socket: Instances
tree
type

Methods

Name Description
edge Create Split to Instances with operation ‘Edge’.
face Create Split to Instances with operation ‘Face’.
instance Create Split to Instances with operation ‘Instance’.
layer Create Split to Instances with operation ‘Layer’.
point Create Split to Instances with operation ‘Point’.
spline Create Split to Instances with operation ‘Spline’.
edge
nodes.geometry.geometry.SplitToInstances.edge(
    geometry=None,
    selection=True,
    group_id=0,
)

Create Split to Instances with operation ‘Edge’.

face
nodes.geometry.geometry.SplitToInstances.face(
    geometry=None,
    selection=True,
    group_id=0,
)

Create Split to Instances with operation ‘Face’.

instance
nodes.geometry.geometry.SplitToInstances.instance(
    geometry=None,
    selection=True,
    group_id=0,
)

Create Split to Instances with operation ‘Instance’.

layer
nodes.geometry.geometry.SplitToInstances.layer(
    geometry=None,
    selection=True,
    group_id=0,
)

Create Split to Instances with operation ‘Layer’.

point
nodes.geometry.geometry.SplitToInstances.point(
    geometry=None,
    selection=True,
    group_id=0,
)

Create Split to Instances with operation ‘Point’.

spline
nodes.geometry.geometry.SplitToInstances.spline(
    geometry=None,
    selection=True,
    group_id=0,
)

Create Split to Instances with operation ‘Spline’.

Star

nodes.geometry.geometry.Star(
    points=8,
    inner_radius=1.0,
    outer_radius=2.0,
    twist=0.0,
)

Generate a poly spline in a star pattern by connecting alternating points of two circles

Attributes

Name Description
i_inner_radius Input socket: Inner Radius
i_outer_radius Input socket: Outer Radius
i_points Input socket: Points
i_twist Input socket: Twist
name
node
o_curve Output socket: Curve
o_outer_points Output socket: Outer Points
tree
type

StringToCurves

nodes.geometry.geometry.StringToCurves(
    string='',
    size=1.0,
    character_spacing=1.0,
    word_spacing=1.0,
    line_spacing=1.0,
    text_box_width=0.0,
    text_box_height=0.0,
    *,
    overflow='OVERFLOW',
    align_x='LEFT',
    align_y='TOP_BASELINE',
    pivot_mode='BOTTOM_LEFT',
)

Generate a paragraph of text with a specific font, using a curve instance to store each character

Attributes

Name Description
align_x
align_y
i_character_spacing Input socket: Character Spacing
i_line_spacing Input socket: Line Spacing
i_size Input socket: Size
i_string Input socket: String
i_text_box_height Input socket: Text Box Height
i_text_box_width Input socket: Text Box Width
i_word_spacing Input socket: Word Spacing
name
node
o_curve_instances Output socket: Curve Instances
o_line Output socket: Line
o_pivot_point Output socket: Pivot Point
o_remainder Output socket: Remainder
overflow
pivot_mode
tree
type

SubdivideCurve

nodes.geometry.geometry.SubdivideCurve(curve=None, cuts=1)

Dividing each curve segment into a specified number of pieces

Attributes

Name Description
i_curve Input socket: Curve
i_cuts Input socket: Cuts
name
node
o_curve Output socket: Curve
tree
type

SubdivideMesh

nodes.geometry.geometry.SubdivideMesh(mesh=None, level=1)

Divide mesh faces into smaller ones without changing the shape or volume, using linear interpolation to place the new vertices

Attributes

Name Description
i_level Input socket: Level
i_mesh Input socket: Mesh
name
node
o_mesh Output socket: Mesh
tree
type

SubdivisionSurface

nodes.geometry.geometry.SubdivisionSurface(
    mesh=None,
    level=1,
    edge_crease=0.0,
    vertex_crease=0.0,
    limit_surface=True,
    uv_smooth='Keep Boundaries',
    boundary_smooth='All',
)

Divide mesh faces to form a smooth surface, using the Catmull-Clark subdivision method

Attributes

Name Description
i_boundary_smooth Input socket: Boundary Smooth
i_edge_crease Input socket: Edge Crease
i_level Input socket: Level
i_limit_surface Input socket: Limit Surface
i_mesh Input socket: Mesh
i_uv_smooth Input socket: UV Smooth
i_vertex_crease Input socket: Vertex Crease
name
node
o_mesh Output socket: Mesh
tree
type

TransformGeometry

nodes.geometry.geometry.TransformGeometry(
    geometry=None,
    mode='Components',
    translation=None,
    rotation=None,
    scale=None,
    transform=None,
)

Translate, rotate or scale the geometry

Attributes

Name Description
i_geometry Input socket: Geometry
i_mode Input socket: Mode
i_rotation Input socket: Rotation
i_scale Input socket: Scale
i_transform Input socket: Transform
i_translation Input socket: Translation
name
node
o_geometry Output socket: Geometry
tree
type

TranslateInstances

nodes.geometry.geometry.TranslateInstances(
    instances=None,
    selection=True,
    translation=None,
    local_space=True,
)

Move top-level geometry instances in local or global space

Attributes

Name Description
i_instances Input socket: Instances
i_local_space Input socket: Local Space
i_selection Input socket: Selection
i_translation Input socket: Translation
name
node
o_instances Output socket: Instances
tree
type

Triangulate

nodes.geometry.geometry.Triangulate(
    mesh=None,
    selection=True,
    quad_method='Shortest Diagonal',
    n_gon_method='Beauty',
)

Convert all faces in a mesh to triangular faces

Attributes

Name Description
i_mesh Input socket: Mesh
i_n_gon_method Input socket: N-gon Method
i_quad_method Input socket: Quad Method
i_selection Input socket: Selection
name
node
o_mesh Output socket: Mesh
tree
type

TrimCurve

nodes.geometry.geometry.TrimCurve(
    curve=None,
    selection=True,
    start=0.0,
    end=1.0,
    start_001=0.0,
    end_001=1.0,
    *,
    mode='FACTOR',
)

Shorten curves by removing portions at the start or end

Attributes

Name Description
i_curve Input socket: Curve
i_end Input socket: End
i_end_001 Input socket: End
i_selection Input socket: Selection
i_start Input socket: Start
i_start_001 Input socket: Start
mode
name
node
o_curve Output socket: Curve
tree
type

UVSphere

nodes.geometry.geometry.UVSphere(segments=32, rings=16, radius=1.0)

Generate a spherical mesh with quads, except for triangles at the top and bottom

Attributes

Name Description
i_radius Input socket: Radius
i_rings Input socket: Rings
i_segments Input socket: Segments
name
node
o_mesh Output socket: Mesh
o_uv_map Output socket: UV Map
tree
type