PGCRYPT/OpenBlender_Train huggingface dataset:
user: Provide the full official documentation entry for LightProbePlane(LightProbe), preserving all code examples.

assistant: # LightProbePlane(LightProbe)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`ID`](bpy.types.ID.html#bpy.types.ID "bpy.types.ID"), [`LightProbe`](bpy.types.LightProbe.html#bpy.types.LightProbe "bpy.types.LightProbe")

*class* bpy.types.LightProbePlane(*LightProbe*)
:   Light probe that captures incoming light from a single direction on a plane

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: What is Interface and how is it used in Blender Python scripting?

assistant: [image reference removed]

Panel layout (Thickness modifier as an example).

Each modifier’s interface shares the same basic components like modifiers for meshes.

See [Modifiers Interface](../../modeling/modifiers/introduction.xhtml#bpy-types-modifier-show) for more information.

### Applying Modifiers

Applying a modifier makes the effects of the modifier “real”;
converts the strokes to match the applied modifier’s results, and deletes the modifier.

When applying a modifier to an object that shares Object Data between multiple objects,
the object must first be made a [Single User](../../files/data_blocks.xhtml#data-system-datablock-make-single-user)
which can be performed by confirming the pop-up message.

Apply (Active Keyframe) `Ctrl`-`A`
:   Applies the modifier for the current keyframe.

Apply (All Keyframes)
:   Applies the modifier for all keyframes.

### Influence Filters

Most Grease Pencil modifiers share a set of options that control where the modifier is applied.
These filters restrict the modifier’s effect to specific layers, materials, or geometry components.

For each filter, you can invert the selection by clicking
the  (Invert) icon next to the control.

Layer / Group
:   Restricts the effect to points or strokes of the specified [layer](../properties/layers.xhtml).
    Alternatively, to filter by layer groups, click the  icon.

Layer Pass
:   Restricts the effect to points or strokes in layers with a matching
    [Pass Index](../properties/layers.xhtml#bpy-types-greasepencillayer-pass-index).

Material
:   Restricts the effect to points or strokes using the specified material.

Material Pass
:   Restricts the effect to points or strokes whose material has a matching
    [Pass Index](../materials/properties.xhtml#bpy-types-materialgpencilstyle-pass-index).

Vertex Group
:   Restricts the effect to points or strokes assigned to a specific vertex group.

Custom Curve
:   When enabled, applies a custom falloff curve to control how the modifier’s influence varies
    along each stroke from start to end.
user: What is LimitScaleConstraint(Constraint) and how is it used in Blender Python scripting?

assistant: # LimitScaleConstraint(Constraint)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`Constraint`](bpy.types.Constraint.html#bpy.types.Constraint "bpy.types.Constraint")

*class* bpy.types.LimitScaleConstraint(*Constraint*)
:   Limit the scaling of the constrained object

    max_x
    :   Highest X value to allow

        Type:
        :   float in [-1000, 1000], default 0.0

    max_y
    :   Highest Y value to allow

        Type:
        :   float in [-1000, 1000], default 0.0

    max_z
    :   Highest Z value to allow

        Type:
        :   float in [-1000, 1000], default 0.0

    min_x
    :   Lowest X value to allow

        Type:
        :   float in [-1000, 1000], default 0.0

    min_y
    :   Lowest Y value to allow

        Type:
        :   float in [-1000, 1000], default 0.0

    min_z
    :   Lowest Z value to allow

        Type:
        :   float in [-1000, 1000], default 0.0

    use_max_x
    :   Use the maximum X value

        Type:
        :   boolean, default False

    use_max_y
    :   Use the maximum Y value

        Type:
        :   boolean, default False

    use_max_z
    :   Use the maximum Z value

        Type:
        :   boolean, default False

    use_min_x
    :   Use the minimum X value

        Type:
        :   boolean, default False

    use_min_y
    :   Use the minimum Y value

        Type:
        :   boolean, default False

    use_min_z
    :   Use the minimum Z value

        Type:
        :   boolean, default False

    use_transform_limit
    :   Transform tools are affected by this constraint as well

        Type:
        :   boolean, default False

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Show practical ways to work with Inherited Properties in a Blender add-on or script – include code.

assistant: |  |  |
| --- | --- |
| - [`bpy_struct.id_data`](bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data "bpy.types.bpy_struct.id_data") - [`GreasePencilTreeNode.name`](bpy.types.GreasePencilTreeNode.html#bpy.types.GreasePencilTreeNode.name "bpy.types.GreasePencilTreeNode.name") - [`GreasePencilTreeNode.hide`](bpy.types.GreasePencilTreeNode.html#bpy.types.GreasePencilTreeNode.hide "bpy.types.GreasePencilTreeNode.hide") - [`GreasePencilTreeNode.lock`](bpy.types.GreasePencilTreeNode.html#bpy.types.GreasePencilTreeNode.lock "bpy.types.GreasePencilTreeNode.lock") - [`GreasePencilTreeNode.select`](bpy.types.GreasePencilTreeNode.html#bpy.types.GreasePencilTreeNode.select "bpy.types.GreasePencilTreeNode.select") - [`GreasePencilTreeNode.use_onion_skinning`](bpy.types.GreasePencilTreeNode.html#bpy.types.GreasePencilTreeNode.use_onion_skinning "bpy.types.GreasePencilTreeNode.use_onion_skinning") | - [`GreasePencilTreeNode.use_masks`](bpy.types.GreasePencilTreeNode.html#bpy.types.GreasePencilTreeNode.use_masks "bpy.types.GreasePencilTreeNode.use_masks") - [`GreasePencilTreeNode.channel_color`](bpy.types.GreasePencilTreeNode.html#bpy.types.GreasePencilTreeNode.channel_color "bpy.types.GreasePencilTreeNode.channel_color") - [`GreasePencilTreeNode.next_node`](bpy.types.GreasePencilTreeNode.html#bpy.types.GreasePencilTreeNode.next_node "bpy.types.GreasePencilTreeNode.next_node") - [`GreasePencilTreeNode.prev_node`](bpy.types.GreasePencilTreeNode.html#bpy.types.GreasePencilTreeNode.prev_node "bpy.types.GreasePencilTreeNode.prev_node") - [`GreasePencilTreeNode.parent_group`](bpy.types.GreasePencilTreeNode.html#bpy.types.GreasePencilTreeNode.parent_group "bpy.types.GreasePencilTreeNode.parent_group") |
user: Provide the full official documentation entry for StripColorBalance(StripColorBalanceData), preserving all code examples.

assistant: # StripColorBalance(StripColorBalanceData)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`StripColorBalanceData`](bpy.types.StripColorBalanceData.html#bpy.types.StripColorBalanceData "bpy.types.StripColorBalanceData")

*class* bpy.types.StripColorBalance(*StripColorBalanceData*)
:   Color balance parameters for a sequence strip

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: What is Render As and how is it used in Blender Python scripting?

assistant: ### None

When set to *None*, particles are not rendered.
This is useful if you are using the particles to duplicate objects.

### Halo

Halos are rendered as glowing dots or a little cloud of light.
Although they are not really lights because they do not cast light into the scene like a light object.
They are called *Halos* because you can see them, but they do not have any substance.

### Path

[image reference removed]

The Visualization panel for Path visualization.

The *Path* visualization needs a [Hair](../hair/index.xhtml) particle system or
[Keyed](physics/keyed.xhtml) particles.

B-Spline
:   Interpolate hair using B-splines.
    This may be an option for you if you want to use low *Render* values.
    You loose a bit of control but gain smoother paths.

Steps
:   Set the number of subdivisions of the rendered paths (the value is a power of 2).
    You should set this value carefully,
    because if you increase the render value by two you need four times more memory to render.
    Also the rendering is faster if you use low render values (sometimes drastically).
    But how low you can go with this value depends on the waviness of the hair (the value is a power of 2).
    This means 0 steps give 1 subdivision,
    1 give 2 subdivisions, 2 → 4, 3 → 8, 4 → 16, … 𝓃 → 2𝓃.

### Timing

Absolute Path Time
:   Path timing is in absolute frames.

End
:   End time of the practical path.

Random
:   Give the path length a random variation.

### Object

Instance Object
:   The specified object is instanced in place of each particle.

Global Coordinates
:   Use object’s global coordinates for instancing.

Object Rotation
:   Use the rotation of the object.

Object Scale
:   Use the size of the object.

### Collection

Instance Collection
:   The objects that belong to a collection are instanced sequentially in the place of the particles.

Whole Collection
:   Use the whole group at once, instead of one of its elements, the group being displayed in place of each particle.

Pick Random
:   The objects in the group are selected in a random order, and only one object is displayed in place of a particle.

Global Coordinates
:   Use object’s global coordinates for instancing.

Object Rotation
:   Use the rotation of the objects.

Object Scale
:   Use the size of the objects.

#### Use Count

Use objects multiple times in the same groups.
Specify the order and number of times to repeat each object with the [list view](../../../interface/controls/templates/list_view.xhtml#ui-list-view) that appears.

Copy Particle Instance Object
:   Duplicates the selected object in the list.

Remove Particle Instance Object
:   Removes the selected object from the list.
user: Describe Direction Buttons from the Blender manual or Python API, including usage steps and snippets.

assistant: [image reference removed]

Direction buttons.

Clicking with `LMB` in the sphere and dragging the mouse cursor
lets the user change the direction by rotating the sphere.

### Shortcuts

- `LMB` (drag) rotates the direction.
- `Ctrl` (while dragging) snaps to vertical & diagonal directions.
user: Describe Color from the Blender manual or Python API, including usage steps and snippets.

assistant: # Color

Paint Mode
:   Controls the source of the stroke color.
    The mode can be pinned to the brush by enabling the Pin icon in the Tool Settings header.

    Material:
    :   Use the stroke/fill base color material.

    Color Attribute:
    :   Use Color Attribute.

Color Picker
:   Sets the primary brush color.

Color, Secondary Color
:   The color of the brush. See [Color Picker](../../../../interface/controls/templates/color_picker.xhtml#ui-color-picker).

Mode
:   The color transformation will be applied on the stroke and/or the fill color.

    Stroke:
    :   Only paint over strokes.

    Fill:
    :   Only paint over fill areas.

    Stroke & Fill:
    :   Paint over strokes and fill areas.

Mix Factor
:   Mixing factor between the selected color and the base material color.
user: Provide the full official documentation entry for Troubleshooting Windows – Intel, preserving all code examples.

assistant: # Troubleshooting Windows – Intel

Blender uses OpenGL for the 3D Viewport and user interface. The graphics processing unit (GPU) and driver have a big
impact on Blender’s behavior and performance.

This section lists possible solutions for graphics glitches, problems with EEVEE and Cycles, and crashes related to
your GPU.
user: Describe limbs.super_palm from the Blender manual or Python API, including usage steps and snippets.

assistant: Will create a palm system based on the distance between palm bones.

Requirement: At least two bones child of the same parent.
The property has to be set on the inner palm bones (think it as index’s metacarpus),
the rig control will appear on the last palm bone (think it as pinky’s metacarpus).

Both Sides
:   Generates controls on both sides of the palm, with influence on inner bones blended between them.

Primary Rotation Axis (X, Z)
:   Defines the automatic rotation axis to be used on the palm bones.
user: Give a detailed overview of CompositorNodeKuwahara(CompositorNode): syntax, arguments, return values, common patterns.

assistant: # CompositorNodeKuwahara(CompositorNode)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`Node`](bpy.types.Node.html#bpy.types.Node "bpy.types.Node"), [`NodeInternal`](bpy.types.NodeInternal.html#bpy.types.NodeInternal "bpy.types.NodeInternal"), [`CompositorNode`](bpy.types.CompositorNode.html#bpy.types.CompositorNode "bpy.types.CompositorNode")

*class* bpy.types.CompositorNodeKuwahara(*CompositorNode*)
:   Apply smoothing filter that preserves edges, for stylized and painterly effects

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

        Return type:
        :   [`NodeInternalSocketTemplate`](bpy.types.NodeInternalSocketTemplate.html#bpy.types.NodeInternalSocketTemplate "bpy.types.NodeInternalSocketTemplate")

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

        Return type:
        :   [`NodeInternalSocketTemplate`](bpy.types.NodeInternalSocketTemplate.html#bpy.types.NodeInternalSocketTemplate "bpy.types.NodeInternalSocketTemplate")

    update()

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Show practical ways to work with RepeatZoneViewerPathElem(ViewerPathElem) in a Blender add-on or script – include code.

assistant: # RepeatZoneViewerPathElem(ViewerPathElem)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`ViewerPathElem`](bpy.types.ViewerPathElem.html#bpy.types.ViewerPathElem "bpy.types.ViewerPathElem")

*class* bpy.types.RepeatZoneViewerPathElem(*ViewerPathElem*)
:   repeat_output_node_id
    :   Type:
        :   int in [-inf, inf], default 0

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Describe GeometryNodeSetPointRadius(GeometryNode) from the Blender manual or Python API, including usage steps and snippets.

assistant: # GeometryNodeSetPointRadius(GeometryNode)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`Node`](bpy.types.Node.html#bpy.types.Node "bpy.types.Node"), [`NodeInternal`](bpy.types.NodeInternal.html#bpy.types.NodeInternal "bpy.types.NodeInternal"), [`GeometryNode`](bpy.types.GeometryNode.html#bpy.types.GeometryNode "bpy.types.GeometryNode")

*class* bpy.types.GeometryNodeSetPointRadius(*GeometryNode*)
:   Set the display size of point cloud points

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

        Return type:
        :   [`NodeInternalSocketTemplate`](bpy.types.NodeInternalSocketTemplate.html#bpy.types.NodeInternalSocketTemplate "bpy.types.NodeInternalSocketTemplate")

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

        Return type:
        :   [`NodeInternalSocketTemplate`](bpy.types.NodeInternalSocketTemplate.html#bpy.types.NodeInternalSocketTemplate "bpy.types.NodeInternalSocketTemplate")

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: What is Tool Settings and how is it used in Blender Python scripting?

assistant: Offset
:   How far items are shifted from their original location.

Axis
:   Defines one axis of the imaginary shearing plane.

Axis Orthographic
:   Defines the other axis of the imaginary shearing plane.

Orientation
:   See [Transform Orientations](../../../../../editors/3dview/controls/orientation.html).

Proportional Editing
:   See [Proportional Editing](../../../../../editors/3dview/controls/proportional_editing.html).
user: Give a detailed overview of BSDF Parameters: syntax, arguments, return values, common patterns.

assistant: A major difference from non-physically-based renderers is that direct light reflection from
lights and indirect light reflection of other surfaces are not decoupled, but rather handled
using a single BSDF.
This limits the possibilities a bit, but we believe overall it is helpful in creating
consistent-looking renders with fewer parameters to tune.

Roughness
:   For the glossy BSDFs,
    the *roughness* parameter controls the sharpness of the reflection, from 0.0 (perfectly sharp)
    to 1.0 (very soft).
user: Give a detailed overview of Color Filter: syntax, arguments, return values, common patterns.

assistant: # Color Filter

Apply color corrections or effects on the active color attribute
on all vertices in the mesh at the same time.

To use this tool, click and drag away from left to right
or from right to left for a negative effect.
user: Show practical ways to work with Point Cloud in a Blender add-on or script – include code.

assistant: # Point Cloud

[Point clouds](../../glossary/index.xhtml#term-Point-Cloud) are a type of object used to represent
large numbers of individual points in 3D space.
They are particularly useful for visualizing 3D scan data, particle simulations,
or sparse datasets where a surface mesh is unnecessary or impractical.

Each point in a point cloud can store data using *Attributes*
that define properties such as position, color, and more.
Future updates may expand support to include simulation systems like particles.

[image reference removed]

Example of a monkey object represented as a point cloud.
user: Describe References from the Blender manual or Python API, including usage steps and snippets.

assistant: |  |  |
| --- | --- |
| - [`CompositorNodeConvertToDisplay.view_settings`](bpy.types.CompositorNodeConvertToDisplay.html#bpy.types.CompositorNodeConvertToDisplay.view_settings "bpy.types.CompositorNodeConvertToDisplay.view_settings") - [`ImageFormatSettings.view_settings`](bpy.types.ImageFormatSettings.html#bpy.types.ImageFormatSettings.view_settings "bpy.types.ImageFormatSettings.view_settings") | - [`Scene.view_settings`](bpy.types.Scene.html#bpy.types.Scene.view_settings "bpy.types.Scene.view_settings") |
user: Show practical ways to work with Compare Node in a Blender add-on or script – include code.

assistant: # Compare Node

[image reference removed]

The *Compare* node takes two inputs and does an operation to determine whether they are similar.
The node can work on all generic data types, and has modes for vectors that contain more complex
comparisons, which can help to reduce the number of necessary nodes, and make a node tree more readable.
user: Give a detailed overview of GPU Platform Utilities (gpu.platform): syntax, arguments, return values, common patterns.

assistant: # GPU Platform Utilities (gpu.platform)

This module provides access to GPU Platform definitions.

gpu.platform.backend_type_get()
:   Get actuve GPU backend.

    Returns:
    :   Backend type (‘OPENGL’, ‘VULKAN’, ‘METAL’, ‘NONE’, ‘UNKNOWN’).

    Return type:
    :   str

gpu.platform.device_type_get()
:   Get GPU device type.

    Returns:
    :   Device type (‘APPLE’, ‘NVIDIA’, ‘AMD’, ‘INTEL’, ‘SOFTWARE’, ‘QUALCOMM’, ‘UNKNOWN’).

    Return type:
    :   str

gpu.platform.renderer_get()
:   Get GPU to be used for rendering.

    Returns:
    :   GPU name.

    Return type:
    :   str

gpu.platform.vendor_get()
:   Get GPU vendor.

    Returns:
    :   Vendor name.

    Return type:
    :   str

gpu.platform.version_get()
:   Get GPU driver version.

    Returns:
    :   Driver version.

    Return type:
    :   str
user: Show practical ways to work with Images and Video in a Blender add-on or script – include code.

assistant: When working with image and video files, Blender will automatically try to guess the right color space.
If this is not correct, the color space of the image file can be configured in the image settings.

A common situation where manual changes are needed is when working with or baking normal maps and
displacement maps. Such maps do not actually store colors, just data encoded as colors.
Those images should be marked as *Non-Color Data*.

For intermediate image files in production, it is recommended to use *OpenEXR* files.
These are always stored in scene linear color spaces, with high precision to avoid data loss.
That makes them suitable to store renders that can later be composited, color graded and
converted to different output formats.
user: Show practical ways to work with FileSelectEntry(bpy_struct) in a Blender add-on or script – include code.

assistant: # FileSelectEntry(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.FileSelectEntry(*bpy_struct*)
:   A file viewable in the File Browser

    asset_data
    :   Asset data, valid if the file represents an asset

        Type:
        :   [`AssetMetaData`](bpy.types.AssetMetaData.html#bpy.types.AssetMetaData "bpy.types.AssetMetaData"), (readonly)

    name
    :   Type:
        :   string, default “”, (readonly, never None)

    preview_icon_id
    :   Unique integer identifying the preview of this file as an icon (zero means invalid)

        Type:
        :   int in [-inf, inf], default 0, (readonly)

    relative_path
    :   Path relative to the directory currently displayed in the File Browser (includes the file name)

        Type:
        :   string, default “”, (readonly, never None)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Provide the full official documentation entry for Grid Fill, preserving all code examples.

assistant: # Grid Fill

*Grid Fill* fills a selected region with a quad grid, using either edge loops or selected faces
as input to determine the boundary.

It supports two main use cases:

- **Edge Loops**: A pair of open edge loops, or a single closed edge loop.
- **Selected Faces**: A connected selection of faces with a clear outer boundary.

The operator attempts to fit a grid of quads within the defined boundary using a predictable and structured pattern.

Span
:   Specifies the number of columns in the grid.

Offset
:   Defines the vertex that is considered to be the corner of the grid.
    By default, this is the active vertex. Use this to rotate the grid layout.

Simple Blending
:   Use a simpler interpolation algorithm for generating grid geometry from boundary loops.
    This method is better suited for flat surfaces or cases where preserving curvature gives undesirable results.

|  |  |
| --- | --- |
| ../../../../_images/modeling_meshes_editing_face_grid-fill_before.png   Input. | ../../../../_images/modeling_meshes_editing_face_grid-fill_after.png   Grid Fill result. |
user: Describe Limitations from the Blender manual or Python API, including usage steps and snippets.

assistant: - [Path Guiding](render_settings/sampling.html#bpy-types-cyclesrendersettings-use-guiding) is not supported on any GPU.
- [Open Shading Language](osl/index.html) is only supported for OptiX, with some limitations listed in the documentation.
user: What is Bpy.Types.Imagetexture and how is it used in Blender Python scripting?

assistant: _generate_preview ID.override_create ID.override_hierarchy_create ID.user_clear ID.user_remap ID.make_local ID.user_of_id ID.animation_data_create ID.animation_data_clear ID.update_tag ID.preview_ensure ID.bl_rna_get_subclass ID.bl_rna_get_subclass_py Texture.evaluate Texture.bl_rna_get_subclass Texture.bl_rna_get_subclass_py Next ImageUser(bpy_struct) Previous ImageStrip(Strip) Copyright &#169; Blender Authors Made with Furo Report issue on this page On this page ImageTexture(Texture) ImageTexture ImageTexture.checker_distance ImageTexture.crop_max_x ImageTexture.crop_max_y ImageTexture.crop_min_x ImageTexture.crop_min_y ImageTexture.extension ImageTexture.filter_size ImageTexture.image ImageTexture.image_user ImageTexture.invert_alpha ImageTexture.repeat_x ImageTexture.repeat_y ImageTexture.use_alpha ImageTexture.use_calculate_alpha ImageTexture.use_checker_even ImageTexture.use_checker_odd ImageTexture.use_flip_axis ImageTexture.use_interpolation ImageTexture.use_mirror_x ImageTexture.use_mirror_y ImageTexture.use_normal_map ImageTexture.users_material ImageTexture.users_object_modifier ImageTexture.bl_rna_get_subclass() ImageTexture.bl_rna_get_subclass_py() Inherited Properties Inherited Functions
user: Explain GeometryNodeSetGreasePencilColor(GeometryNode) in complete detail according to the official Blender documentation.

assistant: # GeometryNodeSetGreasePencilColor(GeometryNode)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`Node`](bpy.types.Node.html#bpy.types.Node "bpy.types.Node"), [`NodeInternal`](bpy.types.NodeInternal.html#bpy.types.NodeInternal "bpy.types.NodeInternal"), [`GeometryNode`](bpy.types.GeometryNode.html#bpy.types.GeometryNode "bpy.types.GeometryNode")

*class* bpy.types.GeometryNodeSetGreasePencilColor(*GeometryNode*)
:   Set color and opacity attributes on Grease Pencil geometry

    mode
    :   - `STROKE`
          Stroke – Set the color and opacity for the points of the stroke.
        - `FILL`
          Fill – Set the color and opacity for the stroke fills.

        Type:
        :   enum in [`'STROKE'`, `'FILL'`], default `'STROKE'`

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

        Return type:
        :   [`NodeInternalSocketTemplate`](bpy.types.NodeInternalSocketTemplate.html#bpy.types.NodeInternalSocketTemplate "bpy.types.NodeInternalSocketTemplate")

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

        Return type:
        :   [`NodeInternalSocketTemplate`](bpy.types.NodeInternalSocketTemplate.html#bpy.types.NodeInternalSocketTemplate "bpy.types.NodeInternalSocketTemplate")

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Explain Move to Layer in complete detail according to the official Blender documentation.

assistant: A pop-up menu to move the stroke to a different layer.
You can choose the layer to move the selected strokes to
from a list of layers of the current Grease Pencil object.
You can also add a new layer to move the selected stroke to.
When creating a new layer, there is another pop-up to type in the name of the new layer.
user: Give a detailed overview of Clear Parent: syntax, arguments, return values, common patterns.

assistant: You can *remove* a parent-child relationship via `Alt`-`P`.

Clear Parent
:   If the parent in the group is selected, nothing is done.
    If a child or children are selected, they are disassociated from the parent,
    or freed, and they return to their *original* location, rotation, and size.

Clear and Keep Transformation
:   Frees the children from the parent, and *keeps* the location, rotation, and size given to them by the parent.

    See [Non-Uniform Scale](#non-uniform-scale) which may apply here.

Clear Parent Inverse
:   Instead of removing the hierarchical parent-child relationship, this clears
    the [Parent Inverse](#parent-inverse) matrix from the selected objects. With an empty matrix,
    the location, rotation and scale properties of the children are interpreted
    in the coordinate space of the parent.
user: Explain Color Picker in complete detail according to the official Blender documentation.

assistant: Color

Brushes have two colors that can be set using the [Color Picker](../../interface/controls/templates/color_picker.html#ui-color-picker):

- **Primary Color**: The active color used for painting by default.
- **Secondary Color**: An alternate color that can be quickly accessed.

By default, painting uses the primary color. The secondary color can be used temporarily by holding `Ctrl` while
painting. The two colors can also be swapped at any time using
[Swap Colors](#bpy-ops-paint-brush-colors-flip).

(Swap Colors) `X`
:   Swaps the primary and secondary colors.

(Use Unified Color)
:   Use the same brush color across all brushes.

Gradient

A gradient can be used as a color source.

Gradient Colors
:   The [Color Ramp Widget](../../interface/controls/templates/color_ramp.html#ui-color-ramp-widget) to define the gradient colors.

Mode
:   Pressure:
    :   Will choose a color from the color ramp according to the stylus pressure.

    Clamp:
    :   Will alter the color along the stroke and as specified by *Gradient Spacing* option.
        With *Clamp* it uses the last color of the color ramp after the specified gradient.

    Repeat:
    :   Similar to *Clamp*. After the last color it resets the color to the first color in the color ramp and
        repeats the pattern.

### Randomize Color

Applies random variation to the brush color for more natural and varied strokes.
Useful for hand-painting textures or adding subtle irregularities.

The randomness can affect hue, saturation, and value independently.
Each channel also supports pressure sensitivity and stroke-based randomness.

Hue
:   Amount of random variation applied to the hue of the brush color.

    (Stroke Random)
    :   Apply a single random hue per stroke instead of varying continuously during the stroke.

    (Use Pressure)
    :   Modulate hue variation based on pen pressure.

Saturation
:   Amount of random variation applied to the saturation of the brush color.

    (Stroke Random)
    :   Apply a single random saturation per stroke instead of varying continuously during the stroke.

    (Use Pressure)
    :   Modulate saturation variation based on pen pressure.

Value
:   Amount of random variation applied to the value (brightness) of the brush color.

    (Stroke Random)
    :   Apply a single random value per stroke instead of varying continuously during the stroke.

    (Use Pressure)
    :   Modulate value variation based on pen pressure.
user: Describe Options from the Blender manual or Python API, including usage steps and snippets.

assistant: # Options

Backface Culling
:   Use backface culling to hide backsides of faces.

X-Ray
:   Render the scene transparent. With the slider you can control how
    transparent the scene should appear.

Shadow
:   Renders a sharp shadow in the scene.

    Darkness
    :   Defines how dark the shadow should be rendered. This slider can be adjusted
        between 0 (shadow not visible) and 1 (shadow is black).

    Light Direction
    :   Controls the direction of the light source that casts the shadows.

    Shadow Shift
    :   Controls the Shadow termination angle. It can be used to limit self shadowing artifacts.

    Shadow Focus
    :   Controls the falloff near the edge of the shadow.

Depth of Field
:   Use the Depth of Field settings of the active camera in the viewport.
    Only visible when looking through the camera.

    The settings are located on Properties ‣ Camera ‣ Depth of Field panel.

Outline
:   Render the outline of objects in the viewport. The color of the outline can be adjusted.

Specular Highlighting
:   Render specular highlights.

Cavity
:   Highlight ridges and valleys in the scene geometry.

    Type
    :   How to calculate cavities.

        World:
        :   More precise but is slower to calculate.

        Screen:
        :   Fast but does not take the size of the ridges and valleys into account.

        Both:
        :   Use both methods.

    Ridge
    :   Control the visibility of ridges.

    Valley
    :   Control the visibility of valleys.
user: Explain Examples in complete detail according to the official Blender documentation.

assistant: Three examples of how the size input may be used follow.

An [ID masked](../../mask/id_mask.xhtml)
alpha image can be used so that a background is blurred while foreground objects remain in focus.
To prevent strange edges the [Dilate Node](../dilate_erode.xhtml) should be used.

The Z pass can be visualized using a [Map Range](../../utilities/math/map_range.xhtml) node
and a [Color Ramp](../../color/color_ramp.xhtml) node
as described in [Render Layers](../../input/scene/render_layers.xhtml).
A *multiply* [Math](../../utilities/math/math.xhtml) node can be used following the color ramp
so that a blur value greater than one is used for objects outside the focal range.

[image reference removed]

Z pass used.

A manually created grayscale image can be used to define the sharp and blurry areas of a preexisting image.
Again, a Multiply Node can be used so that a blur value greater than one is used.

[image reference removed]

Image used.

|  |  |
| --- | --- |
| ../../../../_images/compositing_types_filter_bokeh-blur_example-1-render.jpg   Z pass used. | ../../../../_images/compositing_types_filter_bokeh-blur_example-2-render.jpg   Image used. |
user: How do I use Triangulate Modifier in Blender? Include parameters, examples, warnings and best practices.

assistant: # Triangulate Modifier

The *Triangulate* modifier converts all faces in a mesh (quads and n-gons) to triangular faces.
It fulfills the exact same function as the [Triangulate](../../meshes/editing/face/triangulate_faces.xhtml#bpy-ops-mesh-quads-convert-to-tris) tool in Edit Mode.

|  |  |
| --- | --- |
| ../../../_images/modeling_modifiers_generate_triangulate_before.png   Mesh before Triangulate modifier. | ../../../_images/modeling_modifiers_generate_triangulate_after.png   Mesh after Triangulate modifier. |
user: Explain GeometryNodeOffsetCornerInFace(GeometryNode) in complete detail according to the official Blender documentation.

assistant: # GeometryNodeOffsetCornerInFace(GeometryNode)

base classes — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct"), [`Node`](bpy.types.Node.html#bpy.types.Node "bpy.types.Node"), [`NodeInternal`](bpy.types.NodeInternal.html#bpy.types.NodeInternal "bpy.types.NodeInternal"), [`GeometryNode`](bpy.types.GeometryNode.html#bpy.types.GeometryNode "bpy.types.GeometryNode")

*class* bpy.types.GeometryNodeOffsetCornerInFace(*GeometryNode*)
:   Retrieve corners in the same face as another

    *classmethod* is_registered_node_type()
    :   True if a registered node type

        Returns:
        :   Result

        Return type:
        :   boolean

    *classmethod* input_template(*index*)
    :   Input socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

        Return type:
        :   [`NodeInternalSocketTemplate`](bpy.types.NodeInternalSocketTemplate.html#bpy.types.NodeInternalSocketTemplate "bpy.types.NodeInternalSocketTemplate")

    *classmethod* output_template(*index*)
    :   Output socket template

        Parameters:
        :   **index** (*int in* *[**0**,* *inf**]*) – Index

        Returns:
        :   result

        Return type:
        :   [`NodeInternalSocketTemplate`](bpy.types.NodeInternalSocketTemplate.html#bpy.types.NodeInternalSocketTemplate "bpy.types.NodeInternalSocketTemplate")

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Give a detailed overview of GeometryNodeFieldToGridItem(bpy_struct): syntax, arguments, return values, common patterns.

assistant: # GeometryNodeFieldToGridItem(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.GeometryNodeFieldToGridItem(*bpy_struct*)
:   color
    :   Color of the corresponding socket type in the node editor

        Type:
        :   float array of 4 items in [0, inf], default (0.0, 0.0, 0.0, 0.0), (readonly)

    data_type
    :   Type:
        :   enum in [Node Socket Data Type Items](bpy_types_enum_items/node_socket_data_type_items.html#rna-enum-node-socket-data-type-items), default `'FLOAT'`

    identifier
    :   Type:
        :   int in [-inf, inf], default 0, (readonly)

    name
    :   Type:
        :   string, default “”, (never None)

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: How do I use Example in Blender? Include parameters, examples, warnings and best practices.

assistant: [image reference removed]

An example of the Corner Pin node.

[image reference removed]

An example of the distorted image.

In the example above, the image of the bird is distorted by the vectors specified by the Corner Pin node.
user: Show practical ways to work with Particle System Panel in a Blender add-on or script – include code.

assistant: # Particle System Panel

[image reference removed]

Particle System panel.

These are the basic settings.

Active Particle System
:   The [List View](../../interface/controls/templates/list_view.html#ui-list-view) of the objects Particle Modifier(s).

    Specials
    :   Copy Active to Selected Objects
        :   Copies the active particle system to all selected objects.

        Copy All to Selected Objects
        :   Copies all particle systems from the active object to all selected objects.

        Duplicate Particle Systems
        :   Duplicates the particle system within the active object.
            The *Duplicate Settings* option (in the [Adjust Last Operation](../../interface/undo_redo.html#bpy-ops-screen-redo-last) panel) will duplicate
            settings as well, so the new particle system uses its own settings.

        Remove All Particle Systems
        :   Remove all particle system within the active object.

Particle Settings
:   The [Data-Block menu](../../interface/controls/templates/data_block.html#ui-data-block) for settings.

Type
:   Main selector of the system type.

    Emitter
    :   In such a system, particles are [emitted](emitter/index.html) from the object.

    Hair
    :   Use [Hair](hair/index.html) type, rendered as strands.

        Regrow
        :   Regrows the hair for each frame. This is useful when you are animating properties.

        Advanced
        :   Enables advanced settings which reflect the same ones as working in Emitter mode.

        Segments
        :   Controls the number of parts a hair is made of.
            Increasing this value will improve the quality of animations.
user: Show practical ways to work with Solve Camera/Object Motion in a Blender add-on or script – include code.

assistant: The *Solve Camera/Object Motion* operator solves the motion of the camera or the
selected [tracked object](../sidebar/track/objects.xhtml),
using all tracks placed on the footage and two keyframes specified on this panel.
There are some requirements:

- There should be at least eight common tracks on the both of the selected keyframes.
- There should be noticeable parallax effects between these two keyframes.

If everything goes smoothly during the solve, the average reprojection error is reported to
the information space and to the Clip editor header. Reprojection error means the average
distance between reconstructed 3D position of tracks projected back to footage and
original position of tracks. Basically, reprojection error below 0.3 means accurate reprojection,
(0.3 - 3.0) means quite nice solving which still can be used.
Values above 3 means some tracks should be tracked more accurately,
or that values for focal length or distortion coefficients were set incorrectly.
user: Explain Custom Properties in complete detail according to the official Blender documentation.

assistant: Custom properties can also be assigned to point cloud objects themselves.
These properties are stored at the object level and not per point.

See the [Custom Properties](../../files/custom_properties.html#files-data-blocks-custom-properties)
documentation for more information on how to add and use them.
user: Show practical ways to work with Pixelate Node in a Blender add-on or script – include code.

assistant: # Pixelate Node

[image reference removed]

The Pixelate node reduces the detail in an image by making individual pixels more prominent.
It results in a blocky or mosaic-like appearance, where the fine details of the image are obscured,
and the overall image is represented using larger, more noticeable pixels.
user: Give a detailed overview of NodeSeparateBundleItems(bpy_struct): syntax, arguments, return values, common patterns.

assistant: # NodeSeparateBundleItems(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.NodeSeparateBundleItems(*bpy_struct*)
:   Collection of separate bundle items

    new(*socket_type*, *name*)
    :   Add an item at the end

        Parameters:
        :   - **socket_type** (enum in [Node Socket Data Type Items](bpy_types_enum_items/node_socket_data_type_items.html#rna-enum-node-socket-data-type-items)) – Socket Type, Socket type of the item
            - **name** (*string**,* *(**never None**)*) – Name

        Returns:
        :   Item, New item

        Return type:
        :   [`NodeSeparateBundleItem`](bpy.types.NodeSeparateBundleItem.html#bpy.types.NodeSeparateBundleItem "bpy.types.NodeSeparateBundleItem")

    remove(*item*)
    :   Remove an item

        Parameters:
        :   **item** ([`NodeSeparateBundleItem`](bpy.types.NodeSeparateBundleItem.html#bpy.types.NodeSeparateBundleItem "bpy.types.NodeSeparateBundleItem"), (never None)) – Item, The item to remove

    clear()
    :   Remove all items

    move(*from_index*, *to_index*)
    :   Move an item to another position

        Parameters:
        :   - **from_index** (*int in* *[**0**,* *inf**]*) – From Index, Index of the item to move
            - **to_index** (*int in* *[**0**,* *inf**]*) – To Index, Target index for the item

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type
user: Explain FBX in complete detail according to the official Blender documentation.

assistant: # FBX

The *FBX* (Filmbox) format is widely used for exchanging 3D data between applications,
especially for animated characters and complex scene data. It is supported by software
such as Autodesk Maya, 3ds Max, Cinema 4D, and game engines like Unity and Unreal Engine.

Blender’s FBX importer supports a broad range of FBX features and is designed to be
fast, memory-efficient, and highly compatible with both modern and legacy FBX files.