123456789_123456789_123456789_123456789_123456789_

Class: Sketchup::Edge

Relationships
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Inherits: Sketchup::Drawingelement

Overview

The Edge class contains methods modifying and extracting information for edges.

Version:

  • SketchUp 6.0

Instance Attribute Summary

Drawingelement - Inherited

#casts_shadows=

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

#casts_shadows?

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

#hidden=

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

#hidden?

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

#layer

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

#layer=

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

#material

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

#material=

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

#receives_shadows=

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

#receives_shadows?

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

#visible=

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

#visible?

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

Entity - Inherited

#deleted?

The deleted? method is used to determine if your entity is still valid (not deleted by another script, for example.).

#valid?

The #valid? method is used to determine if your entity is still valid (not deleted by another script, for example).

Instance Method Summary

Drawingelement - Inherited

#bounds

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

#erase!

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

Entity - Inherited

#add_observer

The add_observer method is used to add an observer to the current object.

#attribute_dictionaries

The attribute_dictionaries method is used to retrieve the AttributeDictionaries collection attached to the entity.

#attribute_dictionary

The attribute_dictionary method is used to retrieve an attribute dictionary with a given name that is attached to an Entity.

#delete_attribute

The #delete_attribute method is used to delete an attribute from an entity.

#entityID

The entityID method is used to retrieve a unique ID assigned to an entity.

#get_attribute

The #get_attribute method is used to retrieve the value of an attribute in the entity’s attribute dictionary.

#inspect

The #inspect method is used to retrieve the string representation of the entity.

#model

The model method is used to retrieve the model for the entity.

#parent

The parent method is used to retrieve the parent of the entity.

#persistent_id

The #persistent_id method is used to retrieve a unique persistent id assigned to an entity.

#remove_observer

The remove_observer method is used to remove an observer from the current object.

#set_attribute

The set attribute is used to set the value of an attribute in an attribute dictionary with the given name.

#to_s

The #to_s method is used to retrieve the string representation of the entity.

#typename

The typename method retrieves the type of the entity, which will be a string such as “Face”, “Edge”, or “Group”.

Instance Attribute Details

#smooth=(value) ⇒ Boolean (rw)

Note:

The soft and smooth properties are normally set in pairs. You can observer this when the Soften/Smooth Edges feature or holding down Ctrl when using the Eraser Tool.

The #smooth= method is used to set the edge to be smooth.

A smooth edge will cause the shading between connected faces to blend to a smooth transition. The edge will still be visible.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
edge.soft = true
edge.smooth = true

Parameters:

  • value (Boolean)

See Also:

Version:

  • SketchUp 6.0

#smooth?Boolean (rw)

The #smooth? method is used to retrieve the current smooth setting for an edge.

A smooth edge will cause the shading between connected faces to blend to a smooth transition. The edge will still be visible.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
edge.smooth = true
edge.smooth?

See Also:

Version:

  • SketchUp 6.0

#soft=(value) ⇒ Boolean (rw)

Note:

The soft and smooth properties are normally set in pairs. You can observe this when the Soften/Smooth Edges feature or holding down Ctrl when using the Eraser Tool.

The #soft= method is used to set the edge to be soft.

A soft edge will cause the connected faces to be treated as a surface. This means that if you have Hidden Geometry off and select one face it will also select all faces connected with soft edges. A soft edge will also appear hidden.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
edge.smooth = true
edge.soft = true

Parameters:

  • value (Boolean)

See Also:

Version:

  • SketchUp 6.0

#soft?Boolean (rw)

The #soft? method is used to retrieve the current soft setting for an edge.

A soft edge will cause the connected faces to be treated as a surface. This means that if you have Hidden Geometry off and select one face it will also select all faces connected with soft edges. A soft edge will also appear hidden.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
edge.soft = true
edge.soft?

See Also:

Version:

  • SketchUp 6.0

Instance Method Details

#all_connectedArray<Sketchup::Entity>

The all_connected method retrieves all of the entities connected to an edge, including the edge itself.

Examples:

model = Sketchup.active_model
entities = model.active_entities
points = [
  Geom::Point3d.new(0, 0, 0),
  Geom::Point3d.new(100, 0, 0),
  Geom::Point3d.new(100, 100, 0),
  Geom::Point3d.new(200, 100, 0)
]
# Add the edges to the model
edges = entities.add_edges(points)
connected_entities = edges.first.all_connected

Returns:

Version:

  • SketchUp 6.0

#common_face(edge2) ⇒ Sketchup::Face?

The common_face method is used to identify a face that is common to two edges.

Examples:

model = Sketchup.active_model
entities = model.active_entities
points = [
  Geom::Point3d.new(0, 0, 0),
  Geom::Point3d.new(100, 0, 0),
  Geom::Point3d.new(100, 100, 0),
  Geom::Point3d.new(0, 100, 0)
]
# Add the face to the entities in the model
face = entities.add_face(points)
edge1 = face.edges[0]
edge2 = face.edges[1]
face = edge1.common_face(edge2)

Parameters:

  • edge2 (Edge)

    The face whose edge you are checking for commonality.

Returns:

Version:

  • SketchUp 6.0

#curveSketchup::Curve?

The curve method is used to get the Curve object that this edge belongs to, if any. Note that if the edge is part of an arc instead of a random curve, then this method will return an ArcCurve object.

Examples:

entities = Sketchup.active_model.entities
edges = entities.add_curve([0, 0, 0], [100, 100, 0], [100, 200, 0])
curve = edges[0].curve

Returns:

Version:

  • SketchUp 6.0

#endSketchup::Vertex

The end method is used to retrieve the Vertex object at the end of the edge.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
vertex = edge.end

Returns:

Version:

  • SketchUp 6.0

#explode_curveEdge

The explode_curve method is used to explode the curve that the given edge is a part of.

Examples:

model = Sketchup.active_model
entities = model.active_entities
edges = entities.add_curve([0, 0, 0], [100, 0, 0], [100, 100, 0])
edge = edges[0]
exploded_edge = edge.explode_curve

Returns:

  • (Edge)

    an exploded edge object if successful

Version:

  • SketchUp 6.0

#facesArray<Sketchup::Face>

The #faces method is used to retrieve all of the faces common to the edge.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
faces = edge.faces

Version:

  • SketchUp 6.0

#find_facesInteger

The find_faces method is used to create all of the Faces that can be created with this edge. For example, if you use the API to draw three edges that form a triangle, the face between them will not show up because you’ve only drawn the edges, but if you call find_faces on one of the edges, the triangle will be filled in.

Examples:

model = Sketchup.active_model
entities = model.active_entities
points = [
  Geom::Point3d.new(0, 0, 0),
  Geom::Point3d.new(100, 0, 0),
  Geom::Point3d.new(100, 100, 0),
  Geom::Point3d.new(0, 100, 0),
  Geom::Point3d.new(0, 0, 0)
]
edges = entities.add_curve(points)
number_of_faces_found = edges[0].find_faces

Returns:

  • (Integer)

    the number of faces found

Version:

  • SketchUp 6.0

#lengthLength #length(transform) ⇒ Length

The #length method is used to retrieve the length of an edge in current units.

You can pass in an optional ::Geom::Transformation (or an array that can represent a transformation), to correct for a parent group’s transformation. For example, if an edge is inside of a group that is scaled to 200%, the length method will return the unscaled length of the edge. So by passing a 200% transformation object to this method, you can account for that to get the “visual” length of the edge.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
edge.length

Overloads:

  • #lengthLength

    Returns:

    • (Length)

      the length of the edge

  • #length(transform) ⇒ Length

    Parameters:

    • transform (Geom::Transformation)

      A Transformation object or array that can be interpreted as a Transformation object.

    Returns:

    • (Length)

      the length of the edge

Version:

  • SketchUp 6.0

#lineArray(Geom::Point3d, Geom::Vector3d)

The line method is used to retrieve the line defined by the edge. Lines in SketchUp aren’t visible entities but geometric constructs represented by an ::Array with a Point3d and a Vector3d. See the ::Geom module and the ::Array class for more information on lines.

Examples:

edge = Sketchup.active_model.entities.add_line([0,0,0], [100, 100, 0])
line = edge.line

Returns:

Version:

  • SketchUp 6.0

#other_vertex(vertex1) ⇒ Sketchup::Vertex

The other_vertex method is used to find the opposite vertex given one vertex of the edge.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0],[100, 100, 0])
# Get the end vertex of an edge
vertex = edge.end
# Should find the starting vertex
other_vertex = edge.other_vertex(vertex)

Parameters:

Returns:

Version:

  • SketchUp 6.0

#reversed_in?(face) ⇒ Boolean

The #reversed_in? method is used to determine if the edge is reversed in a face’s bounding loop.

Examples:

model = Sketchup.active_model
entities = model.active_entities
points = []
points[0] = [0, 0, 0]
points[1] = [9, 0, 0]
points[2] = [9, 9, 0]
points[3] = [0, 9, 0]
# Add the face to the entities in the model.
face = entities.add_face(points)
edge = face.edges[0]
edge.reversed_in?(face)

Parameters:

Returns:

  • (Boolean)

    true if the edge is reversed, false if it is not reversed. nil if the edge and face is not connected.

See Also:

Version:

  • SketchUp 6.0

#split(position) ⇒ Edge

The split method is used to to split an edge into two or more distinct edges. If a Point3d is given, it must be a point that is on the Edge.

If a Float is given, it is a number between 0 and 1 that gives the relative position along the edge at which to split it. For example, edge.split(0.5) will split the Edge at its midpoint. This split position is measured from the Edge.start.

Returns the new Edge that was created as a result of splitting this one.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
new_edge = edge.split(0.5)

Parameters:

  • position (Geom::Point3d)

    A Point3d object whose location is along the edge, or a Float between 0.0 and 1.0 defining how far along the edge to split.

Returns:

  • (Edge)

    the new Edge object that was split off the old one if successful

Version:

  • SketchUp 6.0

#startSketchup::Vertex

The start method is used to retrieve the Vertex object at the start of the edge.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
vertex = edge.start

Returns:

Version:

  • SketchUp 6.0

#used_by?(element) ⇒ Boolean

The used_by? method is used to see if an edge is used by a given Face or Vertex.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0],[100, 100, 0])
# Returns a vertex
vertex = edge.start
# Check to see if the edge is used by the Vertex.
edge.used_by?(vertex)

Parameters:

Version:

  • SketchUp 6.0

#verticesArray<Sketchup::Vertex>

The vertices method is used to retrieve the vertices on the edge.

Examples:

edge = Sketchup.active_model.entities.add_line([0, 0, 0], [100, 100, 0])
vertices = edge.vertices

Returns:

Version:

  • SketchUp 6.0