Class Points#
main - nodes - nodes menus
Points sub class of Geometry
Points is the class for Blender Cloud Points. It has one domain:
points
of type CloudPoint
Constructor#
Points(self, socket, node=None, label=None)
rom geonodes.nodes import domains
elf.points = Vertex(self) # Initialized before super().init which can override points
Content#
Properties
ID | bounding_box | bounding_box_min | convex_hull | curve_component | domain_size | index | instances_component | is_viewport | material_index | mesh_component | normal | points_component | position | radius | separate_components | volume_component
Inherited
bl_idname | bnode | is_multi_input | is_output | is_plugged | links | name | node_chain_label | socket_index
Class and static methods
Collection | FromCollection | Input | Points | capture_attribute_node | random_boolean | random_float | random_integer | random_vector
Inherited
get_bl_idname | get_class_name | gives_bsocket | is_socket | is_vector | python_type_to_socket | value_data_type
Methods
attribute_statistic | capture_attribute | delete | duplicate | field_at_index | instance_on_points | instantiate | interpolate_domain | join | material_selection | merge_by_distance | named_attribute | named_boolean | named_color | named_float | named_integer | named_vector | proximity | proximity_edges | proximity_faces | proximity_points | raycast | raycast_interpolated | raycast_nearest | remove_named_attribute | replace_material | sample_index | sample_nearest | separate | set_ID | set_material | set_material_index | set_point_radius | set_position | show_handles | store_named_attribute | store_named_boolean | store_named_color | store_named_float | store_named_integer | store_named_vector | switch | to_instance | to_vertices | to_volume | to_volume_amount | to_volume_size | transform | view | viewer
Inherited
connected_sockets | get_blender_socket | init_domains | init_socket | plug | reroute | reset_properties | stack | to_output
Properties#
ID#
Node: ID | Blender reference | api reference
Returns:#
socket
ID
Go to top - main - nodes - nodes menus
bounding_box#
Node: Bounding Box | Blender reference | api reference
Returns:#
socket
bounding_box
of class Mesh
Go to top - main - nodes - nodes menus
bounding_box_min#
Node: Bounding Box | Blender reference | api reference
Returns:#
socket
max
Go to top - main - nodes - nodes menus
convex_hull#
Node: Convex Hull | Blender reference | api reference
Returns:#
socket
convex_hull
of class Mesh
Go to top - main - nodes - nodes menus
curve_component#
Returns:#
socket
curve
of class Curve
Go to top - main - nodes - nodes menus
domain_size#
Node: Domain Size | Blender reference | api reference
Returns:#
socket
point_count
Go to top - main - nodes - nodes menus
index#
Node: Index | Blender reference | api reference
Returns:#
socket
index
Go to top - main - nodes - nodes menus
instances_component#
Returns:#
socket
instances
of class Instances
Go to top - main - nodes - nodes menus
is_viewport#
Node: Is Viewport | Blender reference | api reference
Returns:#
socket
is_viewport
Go to top - main - nodes - nodes menus
material_index#
Node: Material Index | Blender reference | api reference
Returns:#
socket
material_index
Go to top - main - nodes - nodes menus
mesh_component#
Returns:#
socket
mesh
of class Mesh
Go to top - main - nodes - nodes menus
normal#
Node: Normal | Blender reference | api reference
Returns:#
socket
normal
Go to top - main - nodes - nodes menus
points_component#
Returns:#
socket
point_cloud
of class Points
Go to top - main - nodes - nodes menus
position#
Node: Position | Blender reference | api reference
Returns:#
socket
position
Go to top - main - nodes - nodes menus
radius#
Node: Radius | Blender reference | api reference
Returns:#
socket
radius
Go to top - main - nodes - nodes menus
separate_components#
Returns:#
node with sockets [‘mesh’, ‘point_cloud’, ‘curve’, ‘volume’, ‘instances’]
Go to top - main - nodes - nodes menus
volume_component#
Returns:#
socket
volume
of class Volume
Go to top - main - nodes - nodes menus
Class and static methods#
Collection#
@classmethod
def Collection(cls, collection=None, separate_children=None, reset_children=None, transform_space='ORIGINAL')
Node: Collection Info | Blender reference | api reference
Args:#
collection: Collection
separate_children: Boolean
reset_children: Boolean
transform_space (str): ‘ORIGINAL’ in [ORIGINAL, RELATIVE]
Returns:#
socket
geometry
Go to top - main - nodes - nodes menus
FromCollection#
@classmethod
def FromCollection(cls, collection=None, separate_children
Get the geometry from a collection
Go to top - main - nodes - nodes menus
Input#
@classmethod
def Input(cls, name = None, description = "")
Create a Geometry input socket in the Group Input Node
Args:#
name: The socket name
description: User tip
Returns:#
Geometry: The Geometry data socket
Note: This method create a new input socket in the Group Input node. To get the default input geometry, use Tree.input_geometry property.
Go to top - main - nodes - nodes menus
Points#
@classmethod
def Points(cls, count=None, position=None, radius=None)
Node: Points | Blender reference | api reference
Args:#
count: Integer
position: Vector
radius: Float
Returns:#
socket
geometry
Go to top - main - nodes - nodes menus
capture_attribute_node#
@staticmethod
def capture_attribute_node(geometry=None, value=None, data_type='FLOAT', domain='POINT')
Node: Capture Attribute | Blender reference | api reference
Args:#
geometry: Geometry
value: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
data_type (str): ‘FLOAT’ in [FLOAT, INT, FLOAT_VECTOR, FLOAT_COLOR, BOOLEAN]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
node with sockets [‘geometry’, ‘attribute’]
Go to top - main - nodes - nodes menus
random_boolean#
@staticmethod
def random_boolean(probability=None, ID=None, seed=None)
Node: Random Value | Blender reference | api reference
Args:#
probability: Float
ID: Integer
seed: Integer
Returns:#
socket
value
Go to top - main - nodes - nodes menus
random_float#
@staticmethod
def random_float(min=None, max=None, ID=None, seed=None)
Node: Random Value | Blender reference | api reference
Args:#
min: [‘Vector’, ‘Float’, ‘Integer’]
max: [‘Vector’, ‘Float’, ‘Integer’]
ID: Integer
seed: Integer
Returns:#
socket
value
Go to top - main - nodes - nodes menus
random_integer#
@staticmethod
def random_integer(min=None, max=None, ID=None, seed=None)
Node: Random Value | Blender reference | api reference
Args:#
min: [‘Vector’, ‘Float’, ‘Integer’]
max: [‘Vector’, ‘Float’, ‘Integer’]
ID: Integer
seed: Integer
Returns:#
socket
value
Go to top - main - nodes - nodes menus
random_vector#
@staticmethod
def random_vector(min=None, max=None, ID=None, seed=None)
Node: Random Value | Blender reference | api reference
Args:#
min: [‘Vector’, ‘Float’, ‘Integer’]
max: [‘Vector’, ‘Float’, ‘Integer’]
ID: Integer
seed: Integer
Returns:#
socket
value
Go to top - main - nodes - nodes menus
Methods#
attribute_statistic#
def attribute_statistic(self, selection=None, attribute=None, domain='POINT')
Args:#
selection: Boolean
attribute: [‘Float’, ‘Vector’]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
node with sockets [‘mean’, ‘median’, ‘sum’, ‘min’, ‘max’, ‘range’, ‘standard_deviation’, ‘variance’]
Go to top - main - nodes - nodes menus
capture_attribute#
def capture_attribute(self, value=None, domain='POINT')
Node: Capture Attribute | Blender reference | api reference
Args:#
value: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
socket
attribute
Go to top - main - nodes - nodes menus
delete#
def delete(self, selection=None, domain='POINT', mode='ALL')
Node: Delete Geometry | Blender reference | api reference
Args:#
selection: Boolean
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CURVE, INSTANCE]
mode (str): ‘ALL’ in [ALL, EDGE_FACE, ONLY_FACE]
Returns:#
self
Go to top - main - nodes - nodes menus
duplicate#
def duplicate(self, selection=None, amount=None, domain='POINT')
Node: Duplicate Elements | Blender reference | api reference
Args:#
selection: Boolean
amount: Integer
domain (str): ‘POINT’ in [POINT, EDGE, FACE, SPLINE, INSTANCE]
Returns:#
socket
duplicate_index
Go to top - main - nodes - nodes menus
field_at_index#
def field_at_index(self, index=None, value=None, domain='POINT')
Node: Field at Index | Blender reference | api reference
Args:#
index: Integer
value: [‘Float’, ‘Integer’, ‘Vector’, ‘Color’, ‘Boolean’]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
socket
value
Go to top - main - nodes - nodes menus
instance_on_points#
def instance_on_points(self, selection=None, instance=None, pick_instance=None, instance_index=None, rotation=None, scale=None)
Node: Instance on Points | Blender reference | api reference
Args:#
selection: Boolean
instance: Geometry
pick_instance: Boolean
instance_index: Integer
rotation: Vector
scale: Vector
Returns:#
socket
instances
Go to top - main - nodes - nodes menus
instantiate#
def instantiate(self, count = 1, realize = False)
Instantiate the geometry
Args:#
count: Number of instances to create
realize: True to realize the instances
Returns:#
Instances or Geometry
The duplication is performed by instantiating the geometry along the vertices
of a Mesh Line initialized with count
points.
The operator *
can be used to operate this method with realize = False
:
curves = curve * 10
# is equivalent to
curves = curve.duplicate(10, realize=False)
Go to top - main - nodes - nodes menus
interpolate_domain#
def interpolate_domain(self, value=None, domain='POINT')
Node: Interpolate Domain | Blender reference | api reference
Args:#
value: [‘Float’, ‘Integer’, ‘Vector’, ‘Color’, ‘Boolean’]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
socket
value
Go to top - main - nodes - nodes menus
join#
def join(*geometry)
Node: Join Geometry | Blender reference | api reference
Args:#
geometry:
Geometry
Returns:#
socket
geometry
Go to top - main - nodes - nodes menus
material_selection#
def material_selection(self, material=None)
Node: Material Selection | Blender reference | api reference
Args:#
material: Material
Returns:#
socket
selection
Go to top - main - nodes - nodes menus
merge_by_distance#
def merge_by_distance(self, selection=None, distance=None, mode='ALL')
Node: Merge by Distance | Blender reference | api reference
Args:#
selection: Boolean
distance: Float
mode (str): ‘ALL’ in [ALL, CONNECTED]
Returns:#
self
Go to top - main - nodes - nodes menus
named_attribute#
def named_attribute(self, name=None, data_type='FLOAT')
Node: Named Attribute | Blender reference | api reference
Args:#
name: String
data_type (str): ‘FLOAT’ in [FLOAT, INT, FLOAT_VECTOR, FLOAT_COLOR, BOOLEAN]
Returns:#
socket
attribute
Go to top - main - nodes - nodes menus
named_boolean#
def named_boolean(self, name=None)
Node: Named Attribute | Blender reference | api reference
Args:#
name: String
Returns:#
socket
attribute
Go to top - main - nodes - nodes menus
named_color#
def named_color(self, name=None)
Node: Named Attribute | Blender reference | api reference
Args:#
name: String
Returns:#
socket
attribute
Go to top - main - nodes - nodes menus
named_float#
def named_float(self, name=None)
Node: Named Attribute | Blender reference | api reference
Args:#
name: String
Returns:#
socket
attribute
Go to top - main - nodes - nodes menus
named_integer#
def named_integer(self, name=None)
Node: Named Attribute | Blender reference | api reference
Args:#
name: String
Returns:#
socket
attribute
Go to top - main - nodes - nodes menus
named_vector#
def named_vector(self, name=None)
Node: Named Attribute | Blender reference | api reference
Args:#
name: String
Returns:#
socket
attribute
Go to top - main - nodes - nodes menus
proximity#
def proximity(self, target=None, source_position=None, target_element='FACES')
Node: Geometry Proximity | Blender reference | api reference
Args:#
target: Geometry
source_position: Vector
target_element (str): ‘FACES’ in [POINTS, EDGES, FACES]
Returns:#
socket
distance
Go to top - main - nodes - nodes menus
proximity_edges#
def proximity_edges(self, target=None, source_position=None)
Node: Geometry Proximity | Blender reference | api reference
Args:#
target: Geometry
source_position: Vector
Returns:#
socket
distance
Go to top - main - nodes - nodes menus
proximity_faces#
def proximity_faces(self, target=None, source_position=None)
Node: Geometry Proximity | Blender reference | api reference
Args:#
target: Geometry
source_position: Vector
Returns:#
socket
distance
Go to top - main - nodes - nodes menus
proximity_points#
def proximity_points(self, target=None, source_position=None)
Node: Geometry Proximity | Blender reference | api reference
Args:#
target: Geometry
source_position: Vector
Returns:#
socket
distance
Go to top - main - nodes - nodes menus
raycast#
def raycast(self, target_geometry=None, attribute=None, source_position=None, ray_direction=None, ray_length=None, mapping='INTERPOLATED')
Node: Raycast | Blender reference | api reference
Args:#
target_geometry: Geometry
attribute: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
source_position: Vector
ray_direction: Vector
ray_length: Float
mapping (str): ‘INTERPOLATED’ in [INTERPOLATED, NEAREST]
Returns:#
node with sockets [‘is_hit’, ‘hit_position’, ‘hit_normal’, ‘hit_distance’, ‘attribute’]
Go to top - main - nodes - nodes menus
raycast_interpolated#
def raycast_interpolated(self, target_geometry=None, attribute=None, source_position=None, ray_direction=None, ray_length=None)
Node: Raycast | Blender reference | api reference
Args:#
target_geometry: Geometry
attribute: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
source_position: Vector
ray_direction: Vector
ray_length: Float
Returns:#
node with sockets [‘is_hit’, ‘hit_position’, ‘hit_normal’, ‘hit_distance’, ‘attribute’]
Go to top - main - nodes - nodes menus
raycast_nearest#
def raycast_nearest(self, target_geometry=None, attribute=None, source_position=None, ray_direction=None, ray_length=None)
Node: Raycast | Blender reference | api reference
Args:#
target_geometry: Geometry
attribute: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
source_position: Vector
ray_direction: Vector
ray_length: Float
Returns:#
node with sockets [‘is_hit’, ‘hit_position’, ‘hit_normal’, ‘hit_distance’, ‘attribute’]
Go to top - main - nodes - nodes menus
remove_named_attribute#
def remove_named_attribute(self, name=None)
Args:#
name: String
Returns:#
self
Go to top - main - nodes - nodes menus
replace_material#
def replace_material(self, old=None, new=None)
Node: Replace Material | Blender reference | api reference
Args:#
old: Material
new: Material
Returns:#
self
Go to top - main - nodes - nodes menus
sample_index#
def sample_index(self, value=None, index=None, clamp=False, domain='POINT')
Node: Sample Index | Blender reference | api reference
Args:#
value: [‘Float’, ‘Integer’, ‘Vector’, ‘Color’, ‘Boolean’]
index: Integer
clamp (bool): False
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
socket
value
Go to top - main - nodes - nodes menus
sample_nearest#
def sample_nearest(self, sample_position=None, domain='POINT')
Node: Sample Nearest | Blender reference | api reference
Args:#
sample_position: Vector
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER]
Returns:#
socket
index
Go to top - main - nodes - nodes menus
separate#
def separate(self, selection=None, domain='POINT')
Node: Separate Geometry | Blender reference | api reference
Args:#
selection: Boolean
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CURVE, INSTANCE]
Returns:#
tuple (’
selection
’, ‘inverted
’)
Go to top - main - nodes - nodes menus
set_ID#
def set_ID(self, selection=None, ID=None)
Node: Set ID | Blender reference | api reference
Args:#
selection: Boolean
ID: Integer
Returns:#
self
Go to top - main - nodes - nodes menus
set_material#
def set_material(self, selection=None, material=None)
Node: Set Material | Blender reference | api reference
Args:#
selection: Boolean
material: Material
Returns:#
self
Go to top - main - nodes - nodes menus
set_material_index#
def set_material_index(self, selection=None, material_index=None)
Node: Set Material Index | Blender reference | api reference
Args:#
selection: Boolean
material_index: Integer
Returns:#
self
Go to top - main - nodes - nodes menus
set_point_radius#
def set_point_radius(self, selection=None, radius=None)
Node: Set Point Radius | Blender reference | api reference
Args:#
selection: Boolean
radius: Float
Returns:#
self
Go to top - main - nodes - nodes menus
set_position#
def set_position(self, selection=None, position=None, offset=None)
Node: Set Position | Blender reference | api reference
Args:#
selection: Boolean
position: Vector
offset: Vector
Returns:#
self
Go to top - main - nodes - nodes menus
show_handles#
def show_handles(self)
Generate a mesh and cloud points to visualize the control points and handles
Returns:#
Geometry: The geometry can be joined to the output
Example:
curve = ... # Curve initialization
visu = curve.show_handles()
tree.output_geometry = curve + visu
Go to top - main - nodes - nodes menus
store_named_attribute#
def store_named_attribute(self, name=None, value=None, domain='POINT')
Args:#
name: String
value: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
self
Go to top - main - nodes - nodes menus
store_named_boolean#
def store_named_boolean(self, name=None, value=None, domain='POINT')
Args:#
name: String
value: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
self
Go to top - main - nodes - nodes menus
store_named_color#
def store_named_color(self, name=None, value=None, domain='POINT')
Args:#
name: String
value: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
self
Go to top - main - nodes - nodes menus
store_named_float#
def store_named_float(self, name=None, value=None, domain='POINT')
Args:#
name: String
value: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
self
Go to top - main - nodes - nodes menus
store_named_integer#
def store_named_integer(self, name=None, value=None, domain='POINT')
Args:#
name: String
value: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
self
Go to top - main - nodes - nodes menus
store_named_vector#
def store_named_vector(self, name=None, value=None, domain='POINT')
Args:#
name: String
value: [‘Vector’, ‘Float’, ‘Color’, ‘Boolean’, ‘Integer’]
domain (str): ‘POINT’ in [POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
self
Go to top - main - nodes - nodes menus
switch#
def switch(self, switch=None, true=None)
Node: Switch | Blender reference | api reference
Args:#
switch: Boolean
true: Geometry
Returns:#
socket
output
Go to top - main - nodes - nodes menus
to_instance#
def to_instance(*geometry)
Args:#
geometry:
Geometry
Returns:#
socket
instances
of class Instances
Go to top - main - nodes - nodes menus
to_vertices#
def to_vertices(self, selection=None)
Node: Points to Vertices | Blender reference | api reference
Args:#
selection: Boolean
Returns:#
socket
mesh
of class Mesh
Go to top - main - nodes - nodes menus
to_volume#
def to_volume(self, density=None, voxel_size=None, voxel_amount=None, radius=None, resolution_mode='VOXEL_AMOUNT')
Node: Points to Volume | Blender reference | api reference
Args:#
density: Float
voxel_size: Float
voxel_amount: Float
radius: Float
resolution_mode (str): ‘VOXEL_AMOUNT’ in [VOXEL_AMOUNT, VOXEL_SIZE]
Returns:#
socket
volume
of class Volume
Go to top - main - nodes - nodes menus
to_volume_amount#
def to_volume_amount(self, density=None, voxel_amount=None, radius=None)
Node: Points to Volume | Blender reference | api reference
Args:#
density: Float
voxel_amount: Float
radius: Float
Returns:#
socket
volume
of class Volume
Go to top - main - nodes - nodes menus
to_volume_size#
def to_volume_size(self, density=None, voxel_size=None, radius=None)
Node: Points to Volume | Blender reference | api reference
Args:#
density: Float
voxel_size: Float
radius: Float
Returns:#
socket
volume
of class Volume
Go to top - main - nodes - nodes menus
transform#
def transform(self, translation=None, rotation=None, scale=None)
Node: Transform | Blender reference | api reference
Args:#
translation: Vector
rotation: Vector
scale: Vector
Returns:#
self
Go to top - main - nodes - nodes menus
view#
def view(self, value=None, domain='AUTO')
Node: Viewer | Blender reference | api reference
Args:#
value: [‘Float’, ‘Vector’, ‘Color’, ‘Integer’, ‘Boolean’]
domain (str): ‘AUTO’ in [AUTO, POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
node with sockets []
Go to top - main - nodes - nodes menus
viewer#
def viewer(self, value=None, domain='AUTO')
Node: Viewer | Blender reference | api reference
Args:#
value: [‘Float’, ‘Vector’, ‘Color’, ‘Integer’, ‘Boolean’]
domain (str): ‘AUTO’ in [AUTO, POINT, EDGE, FACE, CORNER, CURVE, INSTANCE]
Returns:#
node with sockets []
Go to top - main - nodes - nodes menus