Class: Sketchup::Drawingelement

Inherits:
Entity
  • Object
show all

Overview

Drawingelement is a base class for an item in the model that can be displayed. These items include edges, construction points, construction lines, and images. Arc curves and arcs are not included because they are not drawing elements by themselves, but are a composition of edges.

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

#boundsGeom::BoundingBox

The #bounds method is used to retrieve the Geom::BoundingBox bounding a Sketchup::Drawingelement.

For a Edge, ComponentInstance and most other Sketchup::Drawingelements, the boundingbox follows the coordinate system the drawing element is placed in. For ComponentDefinition, the box bounds the contents of the component and follows the component's own internal coordinate system.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
# Remember, anything that can be displayed, such as a face, is also
# a Drawingelement. So I can call bounds on a face because Face
# is a sub-class of Drawingelement.
boundingbox = face.bounds

Returns:

Version:

  • SketchUp 6.0

#casts_shadows=(casts) ⇒ Boolean

The casts_shadows= method is used to set the Drawingelement to cast shadows.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 100]
pts[1] = [width, 0, 100]
pts[2] = [width, depth, 100]
pts[3] = [0, depth, 100]
# Add the face to the entities in the model.
face = entities.add_face pts

# Make the face not cast shadows.
status = face.casts_shadows = false
UI.messagebox status.to_s

Parameters:

  • casts (Boolean)

    true if you want the Drawingelement object to cast shadows, false if you do not want the Drawingelement object to cast shadows.

Returns:

  • (Boolean)

    true if successful, false if unsuccessful.

Version:

  • SketchUp 6.0

#casts_shadows?Boolean

The casts_shadows? method is used to determine if the Drawingelement is casting shadows.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
status = face.casts_shadows?
UI.messagebox status.to_s

Returns:

  • (Boolean)

Version:

  • SketchUp 6.0

#erase!nil

Note:

When erasing multiple elements, it's faster to use Entities#erase_entities and erase in bulk than to iterate individual drawing elements calling #erase!.

The #erase! method is used to erase an element from the model.

Erasing an Edge also erases all of the Face objects that use the Edge.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
status = face.erase!

Returns:

  • (nil)

Raises:

  • (ArgumentError)

    if the drawing element is an instance used by Model#active_path.

Version:

  • SketchUp 6.0

Known Bugs:

  • Prior to SketchUp 2023.0 this could crash SketchUp if you erased an instance used by the active edit path.

#hidden=(hidden) ⇒ Boolean

The hidden= method is used to set the hidden status for an element.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
UI.messagebox "Click OK to Hide the Box"
status = face.hidden = true

Parameters:

  • hidden (Boolean)

    true if you want to hide the element, false if you do not want to hide the element.

Returns:

  • (Boolean)

    true if the element has been hidden, false if the element has not been hidden.

Version:

  • SketchUp 6.0

#hidden?Boolean

The hidden? method is used to determine if the element is hidden.

Hidden elements are still in the model, but they are not displayed.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
status = face.hidden?
UI.messagebox "hidden? " + status.to_s

Returns:

  • (Boolean)

Version:

  • SketchUp 6.0

#layerSketchup::Layer

The layer method is used to retrieve the Layer object of the drawing element.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
layer = face.layer

Returns:

Version:

  • SketchUp 6.0

#layer=(layer) ⇒ Sketchup::Layer, String

The layer= method is used to set the layer for the drawing element.

An exception is raised if you give a string that doesn't match any layer name.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
# Add a layer
layer = Sketchup.active_model.layers.add "joe"
# Put the face on the joe layer (instead of layer 0)
newlayer = face.layer = layer

Parameters:

Returns:

Version:

  • SketchUp 6.0

#materialSketchup::Material

The material method is used to retrieve the material for the drawing element.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
material = face.material

Returns:

Version:

  • SketchUp 6.0

#material=(material) ⇒ Sketchup::Material, ...

The material= method is used to set the material for the drawing element.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
m = model.materials.add "Joe"
begin
  # Returns nil if not successful, path if successful.
  # Should return a texture object.
  m.texture = "c:\\My Textures\\Carpet.jpg"
rescue
  UI.messagebox $!.message
end
# You will see the material applied when you reverse the box's faces
material = face.material = m

Parameters:

Returns:

Version:

  • SketchUp 6.0

#receives_shadows=(receive) ⇒ Boolean

The receive_shadows= method is used to set the Drawingelement to receive shadows.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 100]
pts[1] = [width, 0, 100]
pts[2] = [width, depth, 100]
pts[3] = [0, depth, 100]
# Add the face to the entities in the model.
face = entities.add_face pts

# Make the face not receive shadows.
status = face.receives_shadows = false
UI.messagebox status.to_s

Parameters:

  • receive (Boolean)

    true if you want the Drawingelement object to receive shadows, false if not.

Returns:

  • (Boolean)

    true if successful, false if unsuccessful.

Version:

  • SketchUp 6.0

#receives_shadows?Boolean

The receive_shadows? method is used to determine if the Drawingelement is receiving shadows.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
status = face.receives_shadows?
UI.messagebox status.to_s

Returns:

  • (Boolean)

Version:

  • SketchUp 6.0

#visible=(visibility) ⇒ Boolean

The visible= method is used to set the visible status for an element. This method performs an opposite function to the hidden= method.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
UI.messagebox "Click OK to Hide the Box"
status = face.visible = false

Parameters:

  • visibility (Boolean)

    true if you want to hide the element, false if not

Returns:

  • (Boolean)

    true if the element has been hidden, false if the element has not been hidden.

Version:

  • SketchUp 6.0

#visible?Boolean

The visible? method is used to get the visible status for an element.

Examples:

depth = 100
width = 100
model = Sketchup.active_model
entities = model.active_entities
pts = []
pts[0] = [0, 0, 0]
pts[1] = [width, 0, 0]
pts[2] = [width, depth, 0]
pts[3] = [0, depth, 0]
# Add the face to the entities in the model
face = entities.add_face pts
UI.messagebox "Click OK to Hide the Box"
face.visible = false
UI.messagebox "Is the face visible? " + face.visible?.to_s

Returns:

  • (Boolean)

Version:

  • SketchUp 6.0