Class: Sketchup::Behavior

Inherits:
Entity
  • Object
show all
Defined in:
SketchUp/Sketchup/Behavior.rb

Overview

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.

Examples:

# Grab the Behavior object from the first component definition.
model = Sketchup.active_model
definition = model.definitions[0]
behavior = definition.behavior

Version:

  • SketchUp 6.0

Instance Method Summary collapse

Methods inherited from Entity

#add_observer, #attribute_dictionaries, #attribute_dictionary, #delete_attribute, #deleted?, #entityID, #get_attribute, #inspect, #model, #parent, #persistent_id, #remove_observer, #set_attribute, #to_s, #typename, #valid?

Instance Method Details

#always_face_camera=(setting) ⇒ Object

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.

Examples:

model = Sketchup.active_model
behavior = model.definitions[0].behavior
status = behavior.always_face_camera = false

Version:

  • SketchUp 6.0



40
41
# File 'SketchUp/Sketchup/Behavior.rb', line 40

def always_face_camera=(setting)
end

#always_face_camera?Boolean

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.

Examples:

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

Version:

  • SketchUp 6.0



84
85
# File 'SketchUp/Sketchup/Behavior.rb', line 84

def always_face_camera?
end

#cuts_opening=(setting) ⇒ Object

The cuts_opening= method is used to set the cut opening behavior for a component.

Examples:

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

Version:

  • SketchUp 6.0



108
109
# File 'SketchUp/Sketchup/Behavior.rb', line 108

def cuts_opening=(setting)
end

#cuts_opening?Boolean

The cuts_opening? method is used to get the status of a component’s cut opening behavior.

Examples:

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

Version:

  • SketchUp 6.0



130
131
# File 'SketchUp/Sketchup/Behavior.rb', line 130

def cuts_opening?
end

#is2d=(setting) ⇒ Object

The is2d= method is used to set the 2D behavior for a component: whether it can be glued or aligned to a face.

Examples:

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

Version:

  • SketchUp 6.0



153
154
# File 'SketchUp/Sketchup/Behavior.rb', line 153

def is2d=(setting)
end

#is2d?Boolean

The is2d? method is used to get the 2D behavior for a component: whether it can be glued or aligned to a face.

Examples:

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

Version:

  • SketchUp 6.0



175
176
# File 'SketchUp/Sketchup/Behavior.rb', line 175

def is2d?
end

#no_scale_mask=(scale_mask) ⇒ Object

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.

  • Bit0: disable scale along red (X),

  • Bit1: disable scale along green (Y),

  • Bit2: disable scale along blue (Z),

  • Bit3: disable scale in red/blue plane (X+Z),

  • Bit4: disable scale in green/blue plane (Y+Z),

  • Bit5: disable scale in red/green plane (X+Y),

  • Bit6: disable scale uniform (from corners) (XYZ).

Note that for 2-dimensional components (such as face-me components), not all of the handles in the list above are even used. Also, if the component you are modifying is already selected with the scale tool, then you or your user must deactivate and reactivate the scale tool for your new behavior to take effect.

Examples:

# 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)

Version:

  • SketchUp 7.0



212
213
# File 'SketchUp/Sketchup/Behavior.rb', line 212

def no_scale_mask=(scale_mask)
end

#no_scale_mask?Boolean

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.

Examples:

definition = Sketchup.active_model.definitions[0]
behavior = definition.behavior
no_scale_mask = behavior.no_scale_mask?

Version:

  • SketchUp 7.0



231
232
# File 'SketchUp/Sketchup/Behavior.rb', line 231

def no_scale_mask?
end

#shadows_face_sun=(status) ⇒ Object

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.

Examples:

model = Sketchup.active_model
behavior = model.definitions[0].behavior
behavior = behavior.shadows_face_sun = true

Version:

  • SketchUp 6.0



253
254
# File 'SketchUp/Sketchup/Behavior.rb', line 253

def shadows_face_sun=(status)
end

#shadows_face_sun?Boolean

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.

Examples:

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

Version:

  • SketchUp 6.0



281
282
# File 'SketchUp/Sketchup/Behavior.rb', line 281

def shadows_face_sun?
end

#snaptoObject

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:

  • SnapTo_Arbitrary => Snap to any aribrary face,

  • SnapTo_Horizontal => Snap to horizontal face like floors,

  • SnapTo_Vertical => Snap to vertical face like walls,

  • SnapTo_Sloped => Snap to sloped face like sloping roofs.

Examples:

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

Version:

  • SketchUp 6.0



310
311
# File 'SketchUp/Sketchup/Behavior.rb', line 310

def snapto
end

#snapto=(snapto) ⇒ Object

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:

  • SnapTo_Arbitrary => Snap to any aribrary face,

  • SnapTo_Horizontal => Snap to horizontal face like floors,

  • SnapTo_Vertical => Snap to vertical face like walls,

  • SnapTo_Sloped => Snap to sloped face like sloping roofs.

Examples:

model = Sketchup.active_model
behavior = model.definitions[0].behavior
behavior.snapto = SnapTo_Horizontal

Version:

  • SketchUp 6.0



335
336
# File 'SketchUp/Sketchup/Behavior.rb', line 335

def snapto=(snapto)
end