Skip to content

ToolCloneStamp3d

ToolCloneStamp3d#

(Clone Stamp 3d)

  • Category: Create
  • Default object name: clone_stamp_3d
  • Inherits from: Tool

Go to User page.

Description#

Stamp Scene Objects on other scene objects. Creates objects references with localized attributes.

Public Attributes#

Type Name Visual Hint Description
double opacity_threshold VISUAL_HINT_PERCENTAGE Set the threshold value under which the object is considered transparent therefore not selectable.
reference (Group) groups VISUAL_HINT_DEFAULT List of groups of scene items to be used as stamp. The chosen group feeds the 'sources' list below.
reference (SceneItem) sources VISUAL_HINT_DEFAULT List of scene items to be used as stamp. Items are randomly chosen from the list.
reference (Group) geometry_group VISUAL_HINT_GROUP Group of scene objects we can apply stamp on.
long cloning_mode VISUAL_HINT_DEFAULT Define what kind of items clone stamp 3d will create.
long clone_path VISUAL_HINT_DEFAULT Define the location of the clone items.
string clone_context VISUAL_HINT_CONTEXT Location of the clone items when in User mode.
bool constrain_to_surface VISUAL_HINT_DEFAULT Constrain the clone to stay on hit surface (create a ConstraintSurface fo each clone).
bool align_to_normal VISUAL_HINT_DEFAULT Cloned item rotation depends on the normal at the clicked object intersection point.
long snap_default_plane VISUAL_HINT_DEFAULT Snap plane when no surface is hit.
double[3] rotation_variance VISUAL_HINT_ANGLE Random rotation value applied to pasted instances.
double[3] rotation_step VISUAL_HINT_ANGLE Rotation step applied to the random rotation. All rotation are multiples of the step.
double[3] scaling_variance VISUAL_HINT_PERCENTAGE Random scale value applied to pasted instances.
double uniform_scaling_variance VISUAL_HINT_PERCENTAGE Random scale value applied to pasted instances (same in all XYZ directions).
double[3] translation_variance VISUAL_HINT_DEFAULT Random translate value applied to pasted instances.

CID#

class "ToolCloneStamp3d" "Tool" {
    #version 0.9
    icon "../icons/object_icons/tool_clone_stamp_3d.iconrc"
    category "Create"
    doc "Stamp Scene Objects on other scene objects. Creates objects references with localized attributes."
    ui_weight 50
    attribute_group "picking" {
        percentage "opacity_threshold" {
            doc "Set the threshold value under which the object is considered transparent therefore not selectable."
            slider yes
            ui_range yes 0.0 1
            value 0.5
        }
    }
    attribute_group "clone_stamp_tool" {
        list<reference> "groups" {
            doc "List of groups of scene items to be used as stamp. The chosen group feeds the \'sources\' list below."
            filter "Group"
            value <empty>
        }
        long "group_index" {
            null_label "(none)"
            null_value "-1"
            hidden yes
            ui_range yes 0.0 2147483647
            value -1
        }
        list<reference> "sources" {
            doc "List of scene items to be used as stamp. Items are randomly chosen from the list."
            filter "SceneItem"
            value <empty>
        }
        group "geometry_group" {
            doc "Group of scene objects we can apply stamp on."
            filter "SceneObject"
            value ""
        }
        long "cloning_mode" {
            doc "Define what kind of items clone stamp 3d will create."
            preset "Create Instances" "0"
            preset "Create Copies" "1"
            value 0
        }
        long "clone_path" {
            doc "Define the location of the clone items."
            preset "Current Context" "0"
            preset "User Context" "1"
            preset "Source Context" "2"
            preset "Target Context" "3"
            value 0
        }
        context "clone_context" {
            doc "Location of the clone items when in User mode."
            read_only yes
            value ""
        }
        long "paint_mode" {
            doc "Define mouse interaction: either Stamp (one clone created on mouse down, modified while mouse is dragged, validated on mouse up) or Sketch (one clone on mouse down then other occurences while mouse is dragged)."
            hidden yes
            preset "Stamp" "0"
            preset "Sketch" "1"
            value 0
        }
        double "spacing" {
            doc "Distance between 2 consecutive occurences in Sketch mode."
            hidden yes
            numeric_range yes 0.0 1.79769313486232e+308
            read_only yes
            value 1
        }
        long "spacing_unit" {
            doc "In Sketch mode, spacing considered in screen or world space."
            hidden yes
            read_only yes
            preset "Screen" "0"
            preset "World" "1"
            value 0
        }
        bool "constrain_to_surface" {
            doc "Constrain the clone to stay on hit surface (create a ConstraintSurface fo each clone)."
            value no
        }
        reference "constraint" {
            filter "Constraint"
            hidden yes
            value ""
        }
    }
    attribute_group "surface_snapping" {
        bool "align_to_normal" {
            doc "Cloned item rotation depends on the normal at the clicked object intersection point."
            value no
        }
        bool "align_along_path" {
            doc "Cloned item rotation depends on the path direction (previous clone location). Sketch mode only."
            hidden yes
            read_only yes
            value no
        }
        long "snap_default_plane" {
            doc "Snap plane when no surface is hit."
            preset "YZ" "0"
            preset "XZ" "1"
            preset "YX" "2"
            preset "None" "3"
            value 1
        }
    }
    attribute_group "transformation variance" {
        angle[3] "rotation_variance" {
            doc "Random rotation value applied to pasted instances."
            value 0.0 0.0 0.0
        }
        angle[3] "rotation_step" {
            doc "Rotation step applied to the random rotation. All rotation are multiples of the step."
            value 0.0 0.0 0.0
        }
        percentage[3] "scaling_variance" {
            doc "Random scale value applied to pasted instances."
            value 0.0 0.0 0.0
        }
        percentage "uniform_scaling_variance" {
            doc "Random scale value applied to pasted instances (same in all XYZ directions)."
            value 0.0
        }
        double[3] "translation_variance" {
            doc "Random translate value applied to pasted instances."
            value 0.0 0.0 0.0
        }
    }
}