123456789_123456789_123456789_123456789_123456789_

Class: Sketchup::Curve

Relationships
Extension / Inclusion / Inheritance Descendants
Subclasses:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Entity
Instance Chain:
self, Entity
Inherits: Sketchup::Entity

Overview

The Curve class is used by SketchUp to unite a series of Edge objects into one conceptual entity. Since SketchUp is a surface modeler, all circles, arcs, and arbitrary curves are really just edges that are bound together in sequence.

There is a subclass of Curve called ArcCurve, which is any curve that makes up part of a circle. You can think of ArcCurves as entities that were created with SketchUp’s Arc or Circle drawing tools and Curves as entities that were created with the Freehand drawing tool.

Version:

  • SketchUp 6.0

Instance Attribute Summary

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

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

#is_polygon?Boolean (readonly)

Examples:

# Create a polygon and check its edge
ents = Sketchup.active_model.entities
ents.add_ngon [0, 0, 0], [0, 0, 1], 10, 6
curve = nil
ents.each { |e| curve = e.curve if e.is_a? Sketchup::Edge }
is_poly = curve.is_polygon?

Returns:

  • (Boolean)

    True if this edge was originally created by the polygon tool, otherwise false.

Version:

  • SketchUp 7.1 M1

Instance Method Details

#count_edgesObject

The count_edges method is used to retrieve the number of Edge objects that make up the Curve.

Examples:

centerpoint = Geom::Point3d.new
# Create a circle perpendicular to the normal or Z axis
vector = Geom::Vector3d.new 0,0,1
vector2 = vector.normalize!
model = Sketchup.active_model
entities = model.entities
edgearray = entities.add_circle centerpoint, vector2, 10
edge = edgearray[0]
curve = edge.curve
number = curve.count_edges

Returns:

  • num_edges - the number of edges in the curve

Version:

  • SketchUp 6.0

#each_edgeObject

The each_edge method is used to iterate through all of the Edge objects in the curve.

Examples:

centerpoint = Geom::Point3d.new
# Create a circle perpendicular to the normal or Z axis
vector = Geom::Vector3d.new 0,0,1
vector2 = vector.normalize!
model = Sketchup.active_model
entities = model.entities
edgearray = entities.add_circle centerpoint, vector2, 10
edge = edgearray[0]
curve = edge.curve
curve.each_edge {|edge| puts "Edge {edge.entityID}: {edge.length}" }

Returns:

  • edge - a variable that will hold each Edge object as they are found.

Version:

  • SketchUp 6.0

#edgesObject

The edges method is used to retrieve an array of Edge objects that make up the Curve.

Examples:

centerpoint = Geom::Point3d.new
# Create a circle perpendicular to the normal or Z axis
vector = Geom::Vector3d.new 0,0,1
vector2 = vector.normalize!
model = Sketchup.active_model
entities = model.entities
edgearray = entities.add_circle centerpoint, vector2, 10
edge = edgearray[0]
curve = edge.curve
edges = curve.edges

Returns:

  • edges - an array of Edge objects if successful

Version:

  • SketchUp 6.0

#first_edgeObject

The first_edge method is used to retrieve the first edge of the curve.

Examples:

centerpoint = Geom::Point3d.new
# Create a circle perpendicular to the normal or Z axis
vector = Geom::Vector3d.new 0,0,1
vector2 = vector.normalize!
model = Sketchup.active_model
entities = model.entities
edgearray = entities.add_circle centerpoint, vector2, 10
edge = edgearray[0]
curve = edge.curve
firstedge = curve.first_edge

Returns:

  • edge - the first Edge object in the curve if successful

Version:

  • SketchUp 6.0

#last_edgeObject

The last_edge method is used to retrieve the last edge of the curve.

Examples:

centerpoint = Geom::Point3d.new
# Create a circle perpendicular to the normal or Z axis
vector = Geom::Vector3d.new 0,0,1
vector2 = vector.normalize!
model = Sketchup.active_model
entities = model.entities
edgearray = entities.add_circle centerpoint, vector2, 10
edge = edgearray[7]
curve = edge.curve
lastedge = curve.last_edge

Returns:

  • edge - the last Edge object in the curve if successful

Version:

  • SketchUp 6.0

#lengthLength

The length method retrieves the length of the curve.

Examples:

centerpoint = Geom::Point3d.new
# Create a circle perpendicular to the normal or Z axis
vector = Geom::Vector3d.new 0,0,1
vector2 = vector.normalize!
model = Sketchup.active_model
entities = model.entities
edgearray = entities.add_circle centerpoint, vector2, 10
edge = edgearray[7]
curve = edge.curve
length = curve.length

Version:

  • SketchUp 6.0

#move_vertices(point_array) ⇒ Boolean

The #move_vertices method moves the vertices in the curve to points.

Examples:

model = Sketchup.active_model
entities = model.entities
new_edges = entities.add_arc(ORIGIN, X_AXIS, Z_AXIS, 20.cm, 0, 270.degrees, 32)
curve = new_edges.first.curve
points = curve.vertices.map(&:position)
points.each_with_index { |pt, i| pt.z = i * 1.cm }
curve.move_vertices(points)

Parameters:

Raises:

  • ArgumentError if the number of points doesn’t match number of vertices in curve

Version:

  • SketchUp 6.0

#verticesObject

The vertices method retrieves a collection of all vertices in a curve.

Examples:

centerpoint = Geom::Point3d.new
# Create a circle perpendicular to the normal or Z axis
vector = Geom::Vector3d.new 0,0,1
vector2 = vector.normalize!
model = Sketchup.active_model
entities = model.entities
edgearray = entities.add_circle centerpoint, vector2, 10
edge = edgearray[7]
curve = edge.curve
vertices = curve.vertices

Returns:

  • vertices - a collection of the vertices

Version:

  • SketchUp 6.0