Class: Sketchup::ComponentInstance
- Inherits:
-
Drawingelement
- Object
- Entity
- Drawingelement
- Sketchup::ComponentInstance
Overview
The ComponentInstance class is used to represent component instances of a component definition or components that have been dragged from the Component Browser and placed (thus, instanced) within the Model. Therefore, the ComponentInstance class contains a reference to a corresponding ComponentDefinition object and a Transformation object (which contains the location of the component in the Drawing Window).
Starting from SketchUp 2018+, the ComponentInstance class contains default attributes when created or imported. The attributes are: “Owner”, “Status”. See the Help article for more information. The dictionary cannot be deleted via ruby and an @raise ArgumentError will be raised. The key/value pairs in the dictionary can be deleted safely.
Instance Method Summary # collapse
-
#add_observer(observer) ⇒ Boolean
The add_observer method is used to add an observer to the current object.
-
#definition ⇒ Sketchup::ComponentDefinition
The definition method is used to retrieve the component definition for this component instance.
-
#definition=(definition) ⇒ Sketchup::ComponentDefinition
The definition= method is used to set the component definition for this component.
-
#equals?(instance) ⇒ Boolean
The equals? method is used to determine if a component instance is geometrically equivalent to another instance.
-
#explode ⇒ Array<Sketchup:Entity>
The explode method is used to explode the component instance into separate entities.
-
#glued_to ⇒ Sketchup::Face, ...
The #glued_to method is used to retrieve the entity that this instance is glued to.
-
#glued_to=(drawing_element) ⇒ Sketchup::Face, ...
The #glued_to= method glues this instance to a drawing element.
-
#guid ⇒ String
The guid method is used to get the base 64 encoded unique id for this SketchUp object.
-
#intersect(instance) ⇒ Sketchup::Group?
The intersect method is used to compute the boolean intersection of two instances representing manifold solid volumes (this - arg).
-
#locked=(lock) ⇒ Boolean
The locked= method is used to lock a component instance.
-
#locked? ⇒ Boolean
The locked? method is used to determine if a component instance is locked.
-
#make_unique ⇒ Sketchup::ComponentInstance
The #make_unique method is used to create a component definition for this instance that is not used by any other instances.
-
#manifold? ⇒ Boolean
The manifold? method is used to determine if an instance is manifold.
-
#move!(transformation) ⇒ Boolean
The #move! method is used to set the transformation of this component instance, similarly to #transformation= but without recording to the undo stack.
-
#name ⇒ String
The name method is used to get the name of this instance.
-
#name=(name) ⇒ Sketchup::ComponentInstance
The name method is used to set the name of this instance.
-
#outer_shell(instance) ⇒ Sketchup::Group?
The outer_shell method is used to compute the outer shell of the two instances representing manifold solid volumes (this || arg).
-
#remove_observer(observer) ⇒ Boolean
The remove_observer method is used to remove an observer from the current object.
-
#show_differences(instance, verbose) ⇒ Boolean
The show_differences method is used to determine if a component instance is geometrically equivalent to another instance and in addition move the non- matching and matching geometry to new layers.
-
#split(instance) ⇒ Array(Sketchup::Group, Sketchup::Group, Sketchup::Group)
The split method is used to compute the boolean split (map overlay)of the two instances representing manifold solid volumes (this - arg).
-
#subtract(instance) ⇒ Sketchup::Group?
The subtract method is used to compute the boolean difference of the two instances representing manifold solid volumes (this - arg).
-
#transform!(transform) ⇒ Boolean
Apply a Geom::Transformation to a component instance.
-
#transformation ⇒ Geom::Transformation
The transformation method is used to retrieve the transformation of this instance.
-
#transformation=(transformation) ⇒ Object
The #transformation= method is used to set the transformation of this component instance.
-
#trim(instance) ⇒ Sketchup::Group?
The trim method is used to compute the (non-destructive) boolean difference of the two instances representing manifold solid volumes (this - arg).
-
#union(instance) ⇒ Sketchup::Group?
The union method is used to compute the boolean union of the two instances representing manifold solid volumes (this | arg).
-
#volume ⇒ Float
The volume method is used to compute the volume of this instance if and only if this instance is manifold.
Methods inherited from Drawingelement
#bounds, #casts_shadows=, #casts_shadows?, #erase!, #hidden=, #hidden?, #layer, #layer=, #material, #material=, #receives_shadows=, #receives_shadows?, #visible=, #visible?
Methods inherited from Entity
#attribute_dictionaries, #attribute_dictionary, #delete_attribute, #deleted?, #entityID, #get_attribute, #inspect, #model, #parent, #persistent_id, #set_attribute, #to_s, #typename, #valid?
Instance Method Details
↑ #add_observer(observer) ⇒ Boolean
The add_observer method is used to add an observer to the current object.
↑ #definition ⇒ Sketchup::ComponentDefinition
The definition method is used to retrieve the component definition for this component instance.
↑ #definition=(definition) ⇒ Sketchup::ComponentDefinition
The definition= method is used to set the component definition for this component.
This method causes the instance to use a different definition, but it will use the same transformation to position it in the Model.
↑ #equals?(instance) ⇒ Boolean
The equals? method is used to determine if a component instance is geometrically equivalent to another instance.
↑ #explode ⇒ Array<Sketchup:Entity>
The explode method is used to explode the component instance into separate entities.
↑ #glued_to ⇒ Sketchup::Face, ...
The #glued_to method is used to retrieve the entity that this instance is glued to.
↑ #glued_to=(drawing_element) ⇒ Sketchup::Face, ...
The #glued_to= method glues this instance to a drawing element. When moving this other drawing elment with the Move tool, the glued instance moves with it.
In SketchUp 2021.1 support for passing Group, Sketchup::ComponentInstance and Image was added.
↑ #guid ⇒ String
The guid method is used to get the base 64 encoded unique id for this SketchUp object.
↑ #intersect(instance) ⇒ Sketchup::Group?
This method is not available in SketchUp Make.
The intersect method is used to compute the boolean intersection of two instances representing manifold solid volumes (this - arg). If the specified objects (this and arg) do not represent manifold volumes, this method fails.
↑ #locked=(lock) ⇒ Boolean
The locked= method is used to lock a component instance.
↑ #locked? ⇒ Boolean
The locked? method is used to determine if a component instance is locked.
↑ #make_unique ⇒ Sketchup::ComponentInstance
The #make_unique method is used to create a component definition for this instance that is not used by any other instances. If the component is already unique in the model, nothing happens.
↑ #manifold? ⇒ Boolean
The manifold? method is used to determine if an instance is manifold.
↑ #move!(transformation) ⇒ Boolean
Despite the name being similar to #transform!, this method closer corresponds to #transformation=.
The #move! method is used to set the transformation of this component instance, similarly to #transformation= but without recording to the undo stack.
This method is useful for moving entities inside of an animation or page transition.
↑ #name=(name) ⇒ Sketchup::ComponentInstance
The name method is used to set the name of this instance.
↑ #outer_shell(instance) ⇒ Sketchup::Group?
The outer_shell method is used to compute the outer shell of the two instances representing manifold solid volumes (this || arg). If the specified objects (this and arg) do not represent manifold volumes, this method fails.
↑ #remove_observer(observer) ⇒ Boolean
The remove_observer method is used to remove an observer from the current object.
↑ #show_differences(instance, verbose) ⇒ Boolean
The show_differences method is used to determine if a component instance is geometrically equivalent to another instance and in addition move the non- matching and matching geometry to new layers.
This method will move both instances to Layer0. Geometry that is the same in both components will be moved to a new layer named def_name + “_same”. Geometry that is not the same will be moved to a layer named def_name + “_diff”.
If verbose is true, a list of all the geometry that is different from one component to the other is displayed texturally in the Ruby Console.
↑ #split(instance) ⇒ Array(Sketchup::Group, Sketchup::Group, Sketchup::Group)
This method is not available in SketchUp Make.
The split method is used to compute the boolean split (map overlay)of the two instances representing manifold solid volumes (this - arg). If the specified objects (this and arg) do not represent manifold volumes, this method fails.
↑ #subtract(instance) ⇒ Sketchup::Group?
This method is not available in SketchUp Make.
The subtract method is used to compute the boolean difference of the two instances representing manifold solid volumes (this - arg). If the specified objects (this and arg) do not represent manifold volumes, this method fails.
↑ #transform!(transform) ⇒ Boolean
Apply a Geom::Transformation to a component instance.
↑ #transformation ⇒ Geom::Transformation
The transformation method is used to retrieve the transformation of this instance.
↑ #transformation=(transformation) ⇒ Object
The #transformation= method is used to set the transformation of this component instance.
↑ #trim(instance) ⇒ Sketchup::Group?
This method is not available in SketchUp Make.
The trim method is used to compute the (non-destructive) boolean difference of the two instances representing manifold solid volumes (this - arg). If the specified objects (this and arg) do not represent manifold volumes, this method fails.
↑ #union(instance) ⇒ Sketchup::Group?
This method is not available in SketchUp Make.
The union method is used to compute the boolean union of the two instances representing manifold solid volumes (this | arg). If the specified objects (this and arg) do not represent manifold volumes, this method fails.
↑ #volume ⇒ Float
The volume method is used to compute the volume of this instance if and only if this instance is manifold.