PGCRYPT/OpenBlender_Train huggingface dataset:
user: What is Brush Types and how is it used in Blender Python scripting?

assistant: ### Draw Brushes

Draw brushes are the special type of brushes that uses Grease Pencil for drawing tools.
The brush can be changed in the Tool Settings.
The different draw brushes (pencil, Ink, marker, etc.) are settings variations of the same *Draw Brush*.
You can create many brushes, each with unique settings to get different artistic result while drawing.

### Fill Brushes

Fill brushes are the special type of brushes that uses Grease Pencil for the *Fill* tools.
The brush can be changed in the Tool Settings.
The different fill brushes are settings variations of the same *Fill Brush*.
You can create many brushes, each with unique settings to get different result when filling areas.

### Erase Brushes

Erase brushes are the special types of brushes that uses Grease Pencil for *Erase* tools.
The brush can be changed in the Tool Settings.
Soft and hard eraser brushes are settings variations of the same *Erase Brush*.
You can create many brushes, each with unique settings to get different effects while erasing.
The *Erase Brush* has also other two special eraser types: point and stroke.
user: Explain Header in complete detail according to the official Blender documentation.

assistant: [image reference removed]

The header of the Properties editor.

Display Filter `Ctrl`-`F`
:   Use this to search for properties by name. Matching properties remain visible; others are grayed out.
    The editor also highlights the first match and switches to the relevant tab automatically.

    Start a search with `Ctrl`-`F`, and clear it with `Alt`-`F`.

Data Context Path
:   Displays the name and icon of the current data-block (e.g. Object, Material, Scene), along with its hierarchical
    path within the data structure.
    Example: *Cube* (Object) –> *Mesh* –> *Material*

Toggle Pin ID
:   Click the pin icon to lock the editor to the current data-block, preventing it from changing when the selection
    updates. Click again to unlock and return to context-based display.

### Options

These options are accessible from the Options popover in the top-right corner of the editor.

Sync with Outliner
:   Controls whether clicking icons in the [Outliner](outliner/introduction.html) changes the active tab.

    Always:
    :   Always follow the clicked Outliner icon.

    Never:
    :   Ignore Outliner interaction.

    Auto:
    :   Only follow when the Properties editor shares a border with the Outliner.

Visible Tabs
:   Allows hiding specific tabs in the Properties editor.

    This is especially useful for tailoring the editor to specific workflows. For example:
    - In the *Video Editing* workspace, you may hide object and shading tabs to reduce clutter.
    - In the *Modeling* workspace, you may hide strip-related tabs that are not relevant.

    Hidden tabs can be restored at any time using this filter list.
user: Show practical ways to work with FunctionNodeCompare(FunctionNode) in a Blender add-on or script – include code.

assistant: # FunctionNodeCompare(FunctionNode)

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"), [`FunctionNode`](bpy.types.FunctionNode.html#bpy.types.FunctionNode "bpy.types.FunctionNode")

*class* bpy.types.FunctionNodeCompare(*FunctionNode*)
:   Perform a comparison operation on the two given inputs

    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'`

    mode
    :   - `ELEMENT`
          Element-Wise – Compare each element of the input vectors.
        - `LENGTH`
          Length – Compare the length of the input vectors.
        - `AVERAGE`
          Average – Compare the average of the input vectors elements.
        - `DOT_PRODUCT`
          Dot Product – Compare the dot products of the input vectors.
        - `DIRECTION`
          Direction – Compare the direction of the input vectors.

        Type:
        :   enum in [`'ELEMENT'`, `'LENGTH'`, `'AVERAGE'`, `'DOT_PRODUCT'`, `'DIRECTION'`], default `'ELEMENT'`

    operation
    :   Type:
        :   enum in [Node Compare Operation Items](bpy_types_enum_items/node_compare_operation_items.html#rna-enum-node-compare-operation-items), default `'EQUAL'`

    *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 Raycast Node: syntax, arguments, return values, common patterns.

assistant: # Raycast Node

[image reference removed]

The *Raycast* node intersects rays from one geometry onto another. The source geometry is defined by
the context of the node that the *Raycast* node is connected to.
Each ray computes hit points on the target mesh and outputs normals, distances
and any surface attribute specified.
user: Show practical ways to work with Preparations in a Blender add-on or script – include code.

assistant: If the language you want to translate has not been started by someone else already and you wish to create a set of new
files for the desired language, say ‘fr’ (French), then you must first use the environment you have created, as guided
in [Getting Started](../manual/index.html#about-getting-started), in particular
[Installing Dependencies](../manual/getting_started/local_editing/install/index.html) and
[Building the Manual](../manual/getting_started/local_editing/build.html) sections.

This will give you a foundation environment for:

- Creating a new set of translation language from English source.
- Perform `make` command to turn translated texts in po files into html files for testing locally.
- Update changes in English texts which have been added by other contributors.

Below examples show the process to create a new set of files for French, language code `fr`, on Linux platform.
Other platforms might vary slightly but should be mainly the same.

1. [Create a Blender ID](https://id.blender.org/register/) if you have not done so already.
2. Log into [projects.blender.org](https://projects.blender.org/) and
   [Create an Issue](https://projects.blender.org/blender/documentation/issues/new)
   requesting for commit access in order to transfer changes to the central repository of the translation team.
3. Open an instance of a console application.
4. Change the current working directory to the directory of `blender-manual`, where the instance of `Makefile`
   resides.
user: Show practical ways to work with Inputs in a Blender add-on or script – include code.

assistant: Curve
:   Standard geometry input, containing curves.

Selection
:   Whether or not to change the value on each control point. True values mean the value will be changed,
    false values mean the value will remain the same.

Tilt
:   The tilt angle for each control point.
user: How do I use Drivers in Blender? Include parameters, examples, warnings and best practices.

assistant: Upgrading to the latest graphics drivers often solves problems. Newer drivers have bug fixes that help Blender
function correctly.

On Windows, drivers are provided by the graphics card manufacturer (AMD). Windows Update automatically installs
graphics drivers, or your computer manufacturer may provide its own version of the graphics drivers.

However, these are not always the latest version or may have been corrupted in some way. We recommend always using
the official drivers.

[Download Latest AMD Drivers](https://www.amd.com/en/support)
user: Give a detailed overview of Studio Lights: syntax, arguments, return values, common patterns.

assistant: Studio Lights are used to illuminate the 3D Viewport during *Solid View* and will not be rendered.
Unlike lights in the scene, the lighting direction follows the viewport orientation.

### Editor

There are up to four virtual light sources.

The Light toggles allow you to enable or disable individual lights.
At least one of the four lights must remain enabled for the 3D Viewport.
The lights are equal, except for their direction and color.
You can control the direction of the lights, as well as their diffuse and specular colors.

Use Light
:   Toggles the specific light.

Diffuse
:   This is the constant color of the light.

Specular
:   This is the highlight color of the light.

Smooth
:   Smooth the shading from this light.

    *This has the effect of lighting to be less direct.*

Direction
:   The direction of the light, (see [Direction Buttons](../../interface/controls/buttons/buttons.html#ui-direction-button)).

    The direction of the light will be the same as shown at the sphere surface.

Ambient Color
:   The color of unlit areas.
user: Describe Hints from the Blender manual or Python API, including usage steps and snippets.

assistant: ### Offset Calculation

The transformation applied from one copy to the next is calculated as the sum of the three
different components (*Relative*, *Constant* and *Object*),
each of which can be enabled/disabled independently of the others. This allows, for example,
a relative offset of (1.0, 0.0, 0.0) and a constant offset of (0.1, 0.0, 0.0),
giving an array of objects neatly spaced along the X axis with a constant 0.1
unit between them, whatever the original object’s size.
user: Give a detailed overview of Volume Coefficients: syntax, arguments, return values, common patterns.

assistant: # Volume Coefficients

[image reference removed]

The *Volume Coefficients* node models three physical processes in a volume:
Absorption, Scattering and Emission, represented by their coefficients.
Typical usage is to plug in values from real-world measurements.
user: What is Weight Paint Brushes and how is it used in Blender Python scripting?

assistant: # Weight Paint Brushes

Brushes for Grease Pencil *Weight Paint* mode bundled in the *Essentials* library.

Paint Point Weight
:   Paints a specified weight over the strokes.

Blur Point Weight
:   Smooths out the weighting of adjacent points. In this mode the Weight
    Value is ignored. The strength defines how much the smoothing is applied.

Average Point Weight
:   Smooths weights by painting the average resulting weight from all weights under the brush.

Smear Point Weight
:   Smudges weights by grabbing the weights under the brush and “dragging” them.
    This can be imagined as a finger painting tool.
user: Provide the full official documentation entry for Property Weights, preserving all code examples.

assistant: # Property Weights

This panel is used to constrain certain cloth properties to a certain vertex group.
The properties that they control can be found in a combination of the *Physical Properties* and *Shape* panels.

Structural Group
:   Defines a vertex group to control over structural stiffness.

Max Tension
:   Maximum tension stiffness value.

Max Compression
:   Maximum Compression stiffness value.

Shear Group
:   Vertex group for fine control over shear stiffness.

Max Shearing
:   Maximum shear scaling value.

Bending Group
:   Vertex group for fine control over bending stiffness.

Max Bending
:   Maximum bending stiffness value.

Shrinking Group
:   Vertex group for shrinking cloth.

Max Shrinking
:   Max amount to shrink cloth by, specifying a negative value controls the max amount for the cloth to grow.
user: Show practical ways to work with Adaptive Resolution in a Blender add-on or script – include code.

assistant: # Adaptive Resolution

In order for sculpting to give accurate and predictable results, Blender needs enough geometry.
Instead of starting out with a highly subdivided mesh, add geometry dynamically
by using either of the following adaptive sculpting methods.
user: Explain Pose Library in complete detail according to the official Blender documentation.

assistant: # Pose Library

This section describes the pose library, which is based on the [Asset Browser](../../../../editors/asset_browser.html).
For an overview of the asset system, see the [Asset Libraries](../../../../files/asset_libraries/index.html) section.
The pose library is meant to be used in Pose Mode. In other words, it only works
when posing an armature, and not for general object animation.
user: Give a detailed overview of Make Instances Real: syntax, arguments, return values, common patterns.

assistant: *Make Instances Real* creates a new object for each
[instance](../properties/instancing/index.xhtml) generated by the selected ones,
and removes any direct instancing from those.

In the end, each instance becomes a real object.

### Options

By default, new objects will be added to the same collection as the one containing their instancer,
without keeping any hierarchy relationships. This behavior can be altered with the following options.

Parent
:   If *Keep Hierarchy* is not set, parents all the generated objects to the former instancer.

    Otherwise, parents all the generated objects *which are not already parented* to their respective instancer,
    or its matching new copy (this is important in case of recursive instancing, see the note below).

Keep Hierarchy
:   Preserves internal hierarchies (i.e. parent relationships) in the newly generated objects.
user: Give a detailed overview of References: syntax, arguments, return values, common patterns.

assistant: |  |  |
| --- | --- |
| - [`KeyingSetInfo.generate`](bpy.types.KeyingSetInfo.html#bpy.types.KeyingSetInfo.generate "bpy.types.KeyingSetInfo.generate") - [`KeyingSetInfo.iterator`](bpy.types.KeyingSetInfo.html#bpy.types.KeyingSetInfo.iterator "bpy.types.KeyingSetInfo.iterator") - [`KeyingSets.active`](bpy.types.KeyingSets.html#bpy.types.KeyingSets.active "bpy.types.KeyingSets.active") - [`KeyingSets.new`](bpy.types.KeyingSets.html#bpy.types.KeyingSets.new "bpy.types.KeyingSets.new") | - [`KeyingSetsAll.active`](bpy.types.KeyingSetsAll.html#bpy.types.KeyingSetsAll.active "bpy.types.KeyingSetsAll.active") - [`Scene.keying_sets`](bpy.types.Scene.html#bpy.types.Scene.keying_sets "bpy.types.Scene.keying_sets") - [`Scene.keying_sets_all`](bpy.types.Scene.html#bpy.types.Scene.keying_sets_all "bpy.types.Scene.keying_sets_all") |
user: Give a detailed overview of Shape: syntax, arguments, return values, common patterns.

assistant: # Shape

These settings control the shape of hair curves for rendering.

Strand Shape
:   A shape parameter that controls the transition in thickness between the root and tip.
    Negative values make the primitive rounded more towards the top,
    the value of zero makes the primitive linear,
    and positive values make the primitive rounded more towards the bottom.

Diameter Root
:   Multiplier of the hair width at the root.

Tip
:   Multiplier of the hair width at the tip.

Radius Scale
:   Multiplier for the *Root* and *Tip* values. This can be used to change the thickness of the hair.

Close Tip
:   Sets the thickness at the tip to zero, even when using a nonzero tip multiplier.
user: Show practical ways to work with Light Probes in a Blender add-on or script – include code.

assistant: - EEVEE supports up to 128 active light probe spheres.
- EEVEE supports up to 16 active light probe planes inside the view frustum.
- Active light probe volumes must fit inside the
  [Light Probes Volume Memory Pool](../render_settings/performance.html#bpy-types-sceneeevee-gi-irradiance-pool-size).
user: Provide the full official documentation entry for Intersections, preserving all code examples.

assistant: Another common cause of problems for printing are intersections between surfaces,
where the inside/outside of a model cannot be reliably detected.

Unlike other display modes, intersections have no variance and are either on or off.

[[image reference removed]](../../_images/modeling_meshes_mesh-analysis_intersections.png)

Intersecting faces.
user: Describe UV Overlays from the Blender manual or Python API, including usage steps and snippets.

assistant: # UV Overlays

[image reference removed]

The Overlays pop-over.

In the header, there is a button to turn off all overlays for the UV Editor.
This option also toggles the visibility of [UDIM](../../modeling/meshes/uv/workflows/udims.xhtml)
tile information.

The drop-down button opens a pop-over with more detailed settings.
The following categories are available:
user: Provide the full official documentation entry for MovieTrackingDopesheet(bpy_struct), preserving all code examples.

assistant: # MovieTrackingDopesheet(bpy_struct)

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

*class* bpy.types.MovieTrackingDopesheet(*bpy_struct*)
:   Match-moving dopesheet data

    show_hidden
    :   Include channels from objects/bone that are not visible

        Type:
        :   boolean, default False

    show_only_selected
    :   Only include channels relating to selected objects and data

        Type:
        :   boolean, default False

    sort_method
    :   Method to be used to sort channels in dopesheet view

        - `NAME`
          Name – Sort channels by their names.
        - `LONGEST`
          Longest – Sort channels by longest tracked segment.
        - `TOTAL`
          Total – Sort channels by overall amount of tracked segments.
        - `AVERAGE_ERROR`
          Average Error – Sort channels by average reprojection error of tracks after solve.
        - `START`
          Start Frame – Sort channels by first frame number.
        - `END`
          End Frame – Sort channels by last frame number.

        Type:
        :   enum in [`'NAME'`, `'LONGEST'`, `'TOTAL'`, `'AVERAGE_ERROR'`, `'START'`, `'END'`], default `'NAME'`

    use_invert_sort
    :   Invert sort order of dopesheet channels

        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: What is Space File Browse Mode Items and how is it used in Blender Python scripting?

assistant: # Space File Browse Mode Items

FILES:
:   File Browser.

    Built-in file manager for opening, saving, and linking data.

ASSETS:
:   Asset Browser.

    Manage assets in the current file and access linked asset libraries.
user: What is Property Subtype Items and how is it used in Blender Python scripting?

assistant: # Property Subtype Items

NONE:
:   None.

FILE_PATH:
:   File Path.

DIR_PATH:
:   Directory Path.

FILE_NAME:
:   File Name.

BYTE_STRING:
:   Byte String.

PASSWORD:
:   Password.

    A string that is displayed hidden (’\*\*\*\*\*\*\*\*’).

PIXEL:
:   Pixel.

    A distance on screen.

PIXEL_DIAMETER:
:   Pixel.

    A distance on screen, specifically representing a diameter value.

UNSIGNED:
:   Unsigned.

PERCENTAGE:
:   Percentage.

    A percentage between 0 and 100.

FACTOR:
:   Factor.

    A factor between 0.0 and 1.0.

ANGLE:
:   Angle.

    A rotational value specified in radians.

TIME:
:   Time (Scene Relative).

    Time specified in frames, converted to seconds based on scene frame rate.

TIME_ABSOLUTE:
:   Time (Absolute).

    Time specified in seconds, independent of the scene.

DISTANCE:
:   Distance.

    A distance between two points.

DISTANCE_DIAMETER:
:   Distance.

    A distance between two points, specifically representing a diameter value.

DISTANCE_CAMERA:
:   Camera Distance.

POWER:
:   Power.

TEMPERATURE:
:   Temperature.

WAVELENGTH:
:   Wavelength.

COLOR_TEMPERATURE:
:   Color Temperature.

FREQUENCY:
:   Frequency.

COLOR:
:   Linear Color.

    Color in the scene linear working color space.

TRANSLATION:
:   Translation.

DIRECTION:
:   Direction.

VELOCITY:
:   Velocity.

ACCELERATION:
:   Acceleration.

MATRIX:
:   Matrix.

EULER:
:   Euler Angles.

    Euler rotation angles in radians.

QUATERNION:
:   Quaternion.

    Quaternion rotation (affects NLA blending).

AXISANGLE:
:   Axis-Angle.

    Angle and axis to rotate around.

XYZ:
:   XYZ.

XYZ_LENGTH:
:   XYZ Length.

COLOR_GAMMA:
:   sRGB Color.

    Color in sRGB color space (mainly for user interface colors).

COORDINATES:
:   Coordinates.

LAYER:
:   Layer.

LAYER_MEMBER:
:   Layer Member.
user: Give a detailed overview of Property Flag Items: syntax, arguments, return values, common patterns.

assistant: # Property Flag Items

READ_ONLY:
:   Read Only.

    When set, the property cannot be edited.

HIDDEN:
:   Hidden.

    For operators: hide from places in the user interface where Blender would add the property automatically, like Adjust Last Operation. Also this property is not written to presets..

SKIP_SAVE:
:   Skip Save.

    For operators: the value of this property will not be remembered between invocations of the operator; instead, each invocation will start by using the default value. Also this property is not written to presets..

SKIP_PRESET:
:   Skip Preset.

    Do not write in presets.

ANIMATABLE:
:   Animatable.

LIBRARY_EDITABLE:
:   Library Editable.

    This property can be edited, even when it is used on linked data (which normally is read-only). Note that edits to the property will not be saved to the blend file..

PROPORTIONAL:
:   Adjust values proportionally to each other.

TEXTEDIT_UPDATE:
:   Update on every keystroke in textedit ‘mode’.

OUTPUT_PATH:
:   Output Path.

PATH_SUPPORTS_BLEND_RELATIVE:
:   Relative Path Support.

    This path supports relative prefix “//” which is expanded the directory where the current “.blend” file is located..

SUPPORTS_TEMPLATES:
:   Variable expression support.

    This path supports the “{variable_name}” template syntax, which substitutes the value of the referenced variable in place of the template expression.
user: Give a detailed overview of Saving: syntax, arguments, return values, common patterns.

assistant: If the header menu item Image has an asterisk next to it
means that the image has been changed, but not saved.
Use [Save Image](../../editors/image/editing.xhtml#bpy-ops-image-save) or [Save Image As](../../editors/image/editing.xhtml#bpy-ops-image-save-as)
to save your work with a different name or overwrite the original image.

The image format for saving is independent of the format for rendering.
The format for saving a UV image is selected in the header of the File Browser,
and defaults to `PNG` (`.png`).

If Packing is enabled in the File Browser’s header, or if you [manually pack](../../editors/image/editing.xhtml#bpy-ops-image-pack),
saving your images to a separate file is not necessary.
user: Provide the full official documentation entry for Options, preserving all code examples.

assistant: Distance Metric
:   This procedural texture has seven Distance Metric options.
    These determine the algorithm to find the distance between cells of the texture. These options are:

    - Minkowski
    - Minkowski 4
    - Minkowski 1/2
    - Chebychev
    - Manhattan
    - Distance Squared
    - Actual Distance

    The *Minkowski* setting has a user definable value (the *Exponent* button)
    which determines the Minkowski exponent *e* of the distance function:

    > (*x*e + *y*e + *z*e)1/e

    A value of one produces the *Manhattan* distance metric, a value less than one produces stars
    (at 0.5, it gives a *Minkowski 1/2*), and higher values produce square cells
    (at 4.0, it gives a *Minkowski 4*, at 10.0, a *Chebychev*).
    So nearly all Distance Settings are basically the same – a variation of *Minkowski*.

    You can get irregularly-shaped rounded cells with
    the *Actual Distance* / *Distance Squared* options.

|  |  |  |
| --- | --- | --- |
| ../../../../_images/render_materials_legacy-textures_types_voronoi_minkowski0-5.jpg   Minkowski Exponent: 0.5 (Minkowski 1/2). | ../../../../_images/render_materials_legacy-textures_types_voronoi_minkowski1.jpg   Minkowski Exponent: 1 (Manhattan). | ../../../../_images/render_materials_legacy-textures_types_voronoi_minkowski2.jpg   Minkowski Exponent: 2 (Actual Distance). |
| ../../../../_images/render_materials_legacy-textures_types_voronoi_minkowski4.jpg   Minkowski Exponent: 4 (Minkowski 4). | ../../../../_images/render_materials_legacy-textures_types_voronoi_minkowski10.jpg   Minkowski Exponent: 10 (Chebychev). | ../../../../_images/render_materials_legacy-textures_types_voronoi_distancesquared.jpg   Distance Squared (more contrast than Actual Distance). |

Feature Weights
:   These four sliders at the bottom of the Voronoi panel represent the values of the four Worley constants,
    which are used to calculate the distances between each cell in the texture based on the distance metric.
    Adjusting these values can have some interesting effects on the end result…

Coloring
:   Four settings (*Intensity*, *Position*, *Position and Outline*, and *Position, Outline, and Intensity*)
    that can use four different noise basis as methods to calculate color and intensity of the texture output.
    This gives the Voronoi texture you create with the “Worley Sliders”
    a completely different appearance and is the equivalent of the noise basis setting found on the other textures.
user: Give a detailed overview of GeometryNodeImportPLY(GeometryNode): syntax, arguments, return values, common patterns.

assistant: # GeometryNodeImportPLY(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.GeometryNodeImportPLY(*GeometryNode*)
:   Import a point cloud from a PLY file

    *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 References and how is it used in Blender Python scripting?

assistant: |  |  |
| --- | --- |
| - [`bpy.context.asset`](bpy.context.html#bpy.context.asset "bpy.context.asset") - [`bpy.context.selected_assets`](bpy.context.html#bpy.context.selected_assets "bpy.context.selected_assets") - [`AssetShelf.asset_poll`](bpy.types.AssetShelf.html#bpy.types.AssetShelf.asset_poll "bpy.types.AssetShelf.asset_poll") | - [`AssetShelf.draw_context_menu`](bpy.types.AssetShelf.html#bpy.types.AssetShelf.draw_context_menu "bpy.types.AssetShelf.draw_context_menu") - [`Context.asset`](bpy.types.Context.html#bpy.types.Context.asset "bpy.types.Context.asset") |
user: Give a detailed overview of ShaderNodeMath(ShaderNode): syntax, arguments, return values, common patterns.

assistant: # ShaderNodeMath(ShaderNode)

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"), [`ShaderNode`](bpy.types.ShaderNode.html#bpy.types.ShaderNode "bpy.types.ShaderNode")

*class* bpy.types.ShaderNodeMath(*ShaderNode*)
:   Perform math operations

    operation
    :   Type:
        :   enum in [Node Math Items](bpy_types_enum_items/node_math_items.html#rna-enum-node-math-items), default `'ADD'`

    use_clamp
    :   Clamp result of the node to 0.0 to 1.0 range

        Type:
        :   boolean, default False

    *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: Provide the full official documentation entry for VolumeRender(bpy_struct), preserving all code examples.

assistant: # VolumeRender(bpy_struct)

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

*class* bpy.types.VolumeRender(*bpy_struct*)
:   Volume object render settings

    clipping
    :   Value under which voxels are considered empty space to optimize rendering

        Type:
        :   float in [0, 1], default 0.0

    precision
    :   Specify volume data precision. Lower values reduce memory consumption at the cost of detail.

        - `FULL`
          Full – Use 32-bit floating-point numbers for all data.
        - `HALF`
          Half – Use 16-bit floating-point numbers for all data.
        - `VARIABLE`
          Variable – Use variable bit quantization.

        Type:
        :   enum in [`'FULL'`, `'HALF'`, `'VARIABLE'`], default `'HALF'`

    space
    :   Specify volume density and step size in object or world space

        - `OBJECT`
          Object – Keep volume opacity and detail the same regardless of object scale.
        - `WORLD`
          World – Specify volume step size and density in world space.

        Type:
        :   enum in [`'OBJECT'`, `'WORLD'`], default `'OBJECT'`

    step_size
    :   Distance between volume samples. Lower values render more detail at the cost of performance. If set to zero, the step size is automatically determined based on voxel size.

        Type:
        :   float in [0, inf], default 0.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: How do I use Placement in Blender? Include parameters, examples, warnings and best practices.

assistant: If Backface Culling is not enabled, snapping the light probe plane to the planar surface
will effectively capture the underside of the surface.

You can manually move the light probe plane above the surface enough for it to not appear in the capture.
Alternatively you can disable the light probe visibility in the object visibility panel.
user: Show practical ways to work with Recalculate Handles in a Blender add-on or script – include code.

assistant: The *Recalculate Handles* operator rotates the selected control point’s handle to be tangential to the curve.
This can be used to make curves smoother and more consistent looking.

Length
:   Recalculates the length of the handles so they are all the same length.
user: Provide the full official documentation entry for Inputs, preserving all code examples.

assistant: Mode
:   Which marker position to use for output.

    Absolute:
    :   Outputs an absolute position of a marker.

    Relative Start:
    :   Outputs the positions of a marker relative to the first marker of a track.

    Relative Frame:
    :   Outputs the positions of a marker relative to the markers of the given *Frame*.

    Absolute Frame:
    :   Outputs the absolute positions of a marker at the given *Frame*.
user: Provide the full official documentation entry for Outputs, preserving all code examples.

assistant: Geometry
:   The input geometry with two additions:

    - A `guide_curve_index` attribute that stores, for every curve,
      the index of its assigned guide curve.
    - A [anonymous attribute](../../attributes_reference.xhtml#anonymous-attributes) representing the guide
      selection.
      The resulting geometry still contains both normal curves and the chosen guide curves.

Guide Curves
:   A geometry output that includes only the curves selected as guides.

Guide Index
:   An integer attribute giving, for each curve, the index of the closest guide curve
    with the same *Group ID*.

Guide Selection
:   A boolean selection attribute that is true only for curves that were chosen
    as guides.
    This can be used to isolate, visualize, or further process the guide curves.
user: Give a detailed overview of Switch Direction: syntax, arguments, return values, common patterns.

assistant: The *Switch Direction* operator reverses the direction of a selected curve.
The start point of the curve becomes the end point, and vice versa.
This operation does not change the visual appearance of the curve,
but affects its behavior when used as a path or with options like beveling and tapering.
user: Show practical ways to work with Poles by Count in a Blender add-on or script – include code.

assistant: Finds vertices that are a [pole](../../../glossary/index.xhtml#term-Pole), namely vertices that are connected to an irregular
number of edges. Then, selects either those poles (in vertex selection mode) or the
edges/faces connected to them (in edge/face selection mode).

|  |  |
| --- | --- |
| ../../../_images/modeling_meshes_editing_face_select_by_pole_count_before.webp   Before selecting poles. | ../../../_images/modeling_meshes_editing_face_select_by_pole_count_after.webp   After selecting poles. |

Pole Count
:   Specifies the number of edges a vertex must (not) have to be considered a pole.

Type
:   Defines the comparison method for determining poles:

    Less Than:
    :   Find vertices that have fewer edges than *Pole Count*.

    Equal To:
    :   Find vertices that have exactly *Pole Count* edges.

    Greater Than:
    :   Find vertices that have more edges than *Pole Count*.

    Not Equal To:
    :   Find vertices that have more or fewer edges than *Pole Count*.

Extend
:   Adds to the existing selection rather than replacing it.

Exclude Non Manifold
:   Skips poles that are part of [non-manifold](../../../glossary/index.xhtml#term-Non-manifold) geometry.
user: Provide the full official documentation entry for BlendDataBrushes(bpy_struct), preserving all code examples.

assistant: # BlendDataBrushes(bpy_struct)

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

*class* bpy.types.BlendDataBrushes(*bpy_struct*)
:   Collection of brushes

    new(*name*, *\**, *mode='TEXTURE_PAINT'*)
    :   Add a new brush to the main database

        Parameters:
        :   - **name** (*string**,* *(**never None**)*) – New name for the data-block
            - **mode** (enum in [Object Mode Items](bpy_types_enum_items/object_mode_items.html#rna-enum-object-mode-items), (optional)) – Paint Mode for the new brush

        Returns:
        :   New brush data-block

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

    remove(*brush*, *\**, *do_unlink=True*, *do_id_user=True*, *do_ui_user=True*)
    :   Remove a brush from the current blendfile

        Parameters:
        :   - **brush** ([`Brush`](bpy.types.Brush.html#bpy.types.Brush "bpy.types.Brush"), (never None)) – Brush to remove
            - **do_unlink** (*boolean**,* *(**optional**)*) – Unlink all usages of this brush before deleting it
            - **do_id_user** (*boolean**,* *(**optional**)*) – Decrement user counter of all data-blocks used by this brush
            - **do_ui_user** (*boolean**,* *(**optional**)*) – Make sure interface does not reference this brush

    tag(*value*)
    :   tag

        Parameters:
        :   **value** (*boolean*) – Value

    create_gpencil_data(*brush*)
    :   Add Grease Pencil brush settings

        Parameters:
        :   **brush** ([`Brush`](bpy.types.Brush.html#bpy.types.Brush "bpy.types.Brush"), (never None)) – Brush

    *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 AnnotationFrames(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # AnnotationFrames(bpy_struct)

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

*class* bpy.types.AnnotationFrames(*bpy_struct*)
:   Collection of annotation frames

    new(*frame_number*, *\**, *active=False*)
    :   Add a new annotation frame

        Parameters:
        :   - **frame_number** (*int in* *[**-1048574**,* *1048574**]*) – Frame Number, The frame on which this sketch appears
            - **active** (*boolean**,* *(**optional**)*) – Active

        Returns:
        :   The newly created frame

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

    remove(*frame*)
    :   Remove an annotation frame

        Parameters:
        :   **frame** ([`AnnotationFrame`](bpy.types.AnnotationFrame.html#bpy.types.AnnotationFrame "bpy.types.AnnotationFrame"), (never None)) – Frame, The frame to remove

    copy(*source*)
    :   Copy an annotation frame

        Parameters:
        :   **source** ([`AnnotationFrame`](bpy.types.AnnotationFrame.html#bpy.types.AnnotationFrame "bpy.types.AnnotationFrame"), (never None)) – Source, The source frame

        Returns:
        :   The newly copied frame

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

    *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 Performance in a Blender add-on or script – include code.

assistant: # Performance

Properties that affect render speeds or memory consumption.
There are several presets available to help choose between different trade offs:

Default:
:   Balances memory saving and faster rendering settings.

Faster Render:
:   Uses settings to render faster at the cost of higher memory consumption.

Lower Memory:
:   Uses settings to decrease memory considered at the cost of slower renders.
user: How do I use Interface Tricks in Blender? Include parameters, examples, warnings and best practices.

assistant: ### Access Operator Commands

You may have noticed that the tooltip for menu items and buttons includes the `bpy.ops.[...]` command
to run that button, a handy (hidden) feature is that you can press `Ctrl`-`C` over
any menu item or button to copy this command into the clipboard.

### Access Data Path

To find the path from an `ID` data-block to its setting isn’t always so simple since it may be nested away.
To get this quickly open the context menu of the setting and select *Copy Data Path*,
if this can’t be generated, only the property name is copied.
user: Provide the full official documentation entry for Text Rendering, preserving all code examples.

assistant: Anti-Aliasing
:   Enable interface text [Anti-Aliasing](../../glossary/index.xhtml#term-Anti-Aliasing).
    When disabled, texts are rendered using straight text rendering (filling only absolute pixels).

Subpixel Anti-Aliasing
:   Render text for optimal horizontal placement.

Hinting
:   Adjust [font hinting](https://en.wikipedia.org/wiki/Font_hinting),
    controls the spacing and crispness of text display.

Interface Font
:   Replacement for the default user interface font.

Mono-space Font
:   Replacement for the default mono-space interface font
    *(used in the Text editor and Python Console)*.
user: Give a detailed overview of References: syntax, arguments, return values, common patterns.

assistant: |  |  |
| --- | --- |
| - [`Curves.curve_offset_data`](bpy.types.Curves.html#bpy.types.Curves.curve_offset_data "bpy.types.Curves.curve_offset_data") - [`GreasePencilDrawing.curve_offsets`](bpy.types.GreasePencilDrawing.html#bpy.types.GreasePencilDrawing.curve_offsets "bpy.types.GreasePencilDrawing.curve_offsets") | - [`IntAttribute.data`](bpy.types.IntAttribute.html#bpy.types.IntAttribute.data "bpy.types.IntAttribute.data") |
user: How do I use Features in Blender? Include parameters, examples, warnings and best practices.

assistant: - **Based on the 2D Animation Template:**
  Includes the familiar 2D drawing workspace with a *Grease Pencil* object for sketching.
- **Sequencer with Sync Scene Enabled:**
  The Sequencer editor is set to *Sync Scene*, allowing each strip in the timeline to automatically
  switch and display its corresponding scene when selected. This makes it easy to jump between
  shots during editing.
- **Preconfigured Scenes:**

  - **Edit Scene:** A master scene used in the Sequencer to assemble all shots.
  - **Shot.000 (Asset):** A pre-made *Scene Asset* that serves as a blueprint for new shots.
    Users can duplicate this asset in the Sequencer to create new shots quickly.
  - **Shot.001 and Shot.002:** Example shot scenes created from the *Shot.000* asset.
user: Describe Bpy.Types.Fluidflowsettings from the Blender manual or Python API, including usage steps and snippets.

assistant: h_from_module bpy_struct.path_resolve bpy_struct.pop bpy_struct.property_overridable_library_set bpy_struct.property_unset bpy_struct.rna_ancestors bpy_struct.type_recast bpy_struct.values References ¶ FluidModifier.flow_settings Next FluidModifier(Modifier) Previous FluidEffectorSettings(bpy_struct) Copyright &#169; Blender Authors Made with Furo Report issue on this page On this page FluidFlowSettings(bpy_struct) FluidFlowSettings FluidFlowSettings.density FluidFlowSettings.density_vertex_group FluidFlowSettings.flow_behavior FluidFlowSettings.flow_source FluidFlowSettings.flow_type FluidFlowSettings.fuel_amount FluidFlowSettings.noise_texture FluidFlowSettings.particle_size FluidFlowSettings.particle_system FluidFlowSettings.smoke_color FluidFlowSettings.subframes FluidFlowSettings.surface_distance FluidFlowSettings.temperature FluidFlowSettings.texture_map_type FluidFlowSettings.texture_offset FluidFlowSettings.texture_size FluidFlowSettings.use_absolute FluidFlowSettings.use_inflow FluidFlowSettings.use_initial_velocity FluidFlowSettings.use_particle_size FluidFlowSettings.use_plane_init FluidFlowSettings.use_texture FluidFlowSettings.uv_layer FluidFlowSettings.velocity_coord FluidFlowSettings.velocity_factor FluidFlowSettings.velocity_normal FluidFlowSettings.velocity_random FluidFlowSettings.volume_density FluidFlowSettings.bl_rna_get_subclass() FluidFlowSettings.bl_rna_get_subclass_py() Inherited Properties Inherited Functions References