The Behavior class is used to control the "behavior" of components, which
roughly correlates to the series of options that you see in the
Components dialog under the "edit" tab, such as whether it casts shadows,
glues to walls, etc.
A Behavior object is accessed from a ComponentDefinition object, not created
with a Behavior.new call.
# Grab the Behavior object from the first component definition.
model = Sketchup.active_model
definition = model.definitions[0]
behavior = definition.behavior
The always_face_camera= method is used to set the always_face_camera
behavior for a component.
If the always_face_camera behavior is true, a component will always try to
orient itself so that the Y axis of the component is facing the camera.
Arguments:
Returns:
model = Sketchup.active_model behavior = model.definitions[0].behavior status = behavior.always_face_camera = false
The always_face_camera? method is used to retrieve the always_face_camera
behavior for a component.
If the always_face_camera behavior is true, then a component will always try
to orient itself so that the -Y axis of the component is facing the camera.
Returns:
model = Sketchup.active_model # Returns a DefinitionList definitions = model.definitions path = Sketchup.find_support_file "Bed.skp", "Components/Components Sampler/" begin definition = definitions.load path rescue UI.messagebox $!.message end behavior = definition.behavior b = behavior.always_face_camera? if (b) UI.messagebox b else UI.messagebox "Always Face Camera is equal to false" end status = behavior.always_face_camera = true b = behavior.always_face_camera? if (b) UI.messagebox b else UI.messagebox "Failure" end
The cuts_opening= method is used to set the cut opening behavior for a component.
Arguments:
Returns:
model = Sketchup.active_model behavior = model.definitions[0].behavior status = behavior.cuts_opening = false if (status) # if status is true, print the status UI.messagebox status else # code to respond cuts_opening being false end
The cuts_opening? method is used to get the status of a component's cut opening behavior.
Returns:
model = Sketchup.active_model behavior = model.definitions[0].behavior status = behavior.cuts_opening? if (status) # if status is true, do something else # if status is false, do something else end
The is2d= method is used to set the 2D behavior for a component: whether it can be glued or aligned to a face.
Arguments:
Returns:
model = Sketchup.active_model behavior = model.definitions[0].behavior status = behavior.is2d = false if (status) # if status is true, print the status UI.messagebox status else # code to respond is2d behavior being false end
The is2d? method is used to get a component's 2D behavior.
Returns:
model = Sketchup.active_model behavior = model.definitions[0].behavior status = behavior.is2d? if (status) # if status is true, do something else # if status is false, do something else end
Sets an integer that is really a bit-by-bit description of which scale
tool handles are hidden on a given component. This is useful for creating
definitions that can only be scaled in particular ways. If a bit contains a
a 1, then a certain handle set will be hidden when the user selects the
component and activates the Scale tool. Here is the map of which bits
control which handles.
Arguments:
Returns:
# Disable the green and red-axes handles by setting bits 1 and 2 to 1. definition = Sketchup.active_model.definitions[0] behavior = definition.behavior behavior.no_scale_mask = (1 << 1) + (1 << 2)
The no_scale_mask? method returns an integer that is a bit-by-bit description of which scale tool handles are hidden when the user selects this single component with the scale tool. See the no_scale_mask= method for details on the bit encodings used.
Returns:
definition = Sketchup.active_model.definitions[0] behavior = definition.behavior no_scale_mask = behavior.no_scale_mask?
The shadows_face_sun= method is used to identify whether the component's shadow will be cast from the component's current position as though the component were facing the sun. See the Component entity within the SketchUp User's guide for more information on this feature.
Arguments:
Returns:
model = Sketchup.active_model behavior = model.definitions[0].behavior behavior = behavior.shadows_face_sun = true
The shadows_face_sun? method is used to determine whether the component's shadow is being cast from the component's current position (as though the component were facing the sun). See the Component entity within the SketchUp User's guide for more information on this feature.
Returns:
model = Sketchup.active_model # Returns a DefinitionList definitions = model.definitions path = Sketchup.find_support_file "Bed.skp", "Components/Components Sampler/" begin definition = definitions.load path rescue UI.messagebox $!.message end
The snapto method is used to verify the status of a component's "snap to"
behavior.
Returns a constant indicating the snapping behavior of the component
described by behavior. Snapping behavior is how the x-y plane of a component
instance will be snapped against a face. Possible values are:
Returns:
model = Sketchup.active_model behavior = model.definitions[0].behavior status = behavior.snapto if (status) # if status is true, do something else # if status is false, do something else end
The snapto= method sets a component's "snap to" behavior.
Snapping behavior is how the x-y plane of a component instance will be
snapped against a face. Possible constant values are:
Arguments:
Returns:
model = Sketchup.active_model behavior = model.definitions[0].behavior behavior.snapto = SnapTo_Horizontal