My favorites | English | Sign in

Faster apps faster - GWT 2.0 with Speed Tracer New!

Google SketchUp Ruby API

Curve

class

Parent: Entity

Introduction

SketchUp 6.0+

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.

Methods

Curve.count_edgesSketchUp 6.0+

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

Returns:

num_edges
the number of edges in the curve
 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

Curve.each_edgeSketchUp 6.0+

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

Returns:

edge
a variable that will hold each Edge object as they are found.
 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 {|e| UI.messagebox e}

Curve.edgesSketchUp 6.0+

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

Returns:

edges
an array of Edge objects if successful
 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

Curve.first_edgeSketchUp 6.0+

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

Returns:

edge
the first Edge object in the curve if successful
 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

Curve.last_edgeSketchUp 6.0+

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

Returns:

edge
the last Edge object in the curve if successful
 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

Curve.lengthSketchUp 6.0+

The length method retrieves the length of the curve.

Returns:

length
the length of the curve in current units if successful
 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

Curve.move_verticesSketchUp 6.0+

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

Arguments:

point_array
Array of Point3d objects to move each vertex to match.

Returns:

success
true or false
 # Need example ruby code here.

Curve.verticesSketchUp 6.0+

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

Returns:

vertices
a collection of the vertices
 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