class Sketchup::ArcCurve

An ArcCurve is a Curve that makes up part of a circle. This is the underlying class for circles as well.

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.

However, keep in mind that all Curves in SketchUp are really edges with some extra data attached to them. When you use the API to draw a Curve or ArcCurve, you are really drawing edges.

ArcCurve is a subclass of Curve, so all of the methods that are available to Curves are also available to ArcCurves.

@example

# Draw a circle on the ground plane around the origin.
center_point = Geom::Point3d.new(0,0,0)
normal_vector = Geom::Vector3d.new(0,0,1)
radius = 10

entities = Sketchup.active_model.entities
edgearray = entities.add_circle center_point, normal_vector, radius
first_edge = edgearray[0]
arccurve = first_edge.curve

@version SketchUp 6.0

Public Instance Methods

center() click to toggle source

The center method is used to retrieve the Point3d that is at the center of the circular arc.

@example

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]
arccurve = edge.curve
point = arccurve.center

@return point - a Point3d at the center of the arc if

successful

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb, line 53
def center
end
end_angle() click to toggle source

The {#end_angle} method is used to retrieve the angle of the end of the arc measured from the X axis in radians.

@example

# Create a 1/2 circle, normal to the Z axis
start_a = 0.0
end_a = 180.degrees
model = Sketchup.active_model
entities = model.entities
edges = entities.add_arc(ORIGIN, X_AXIS, Z_AXIS, 5, start_a, end_a)
arc_curve = edges.first.curve
end_angle = arc_curve.end_angle

@note A bug in SketchUp 2017 and older will report the end-angle for some

circles as more than 360 degrees. In such case, subtract +2 * PI+ from
the end angle value.

@return [Float]

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb, line 76
def end_angle
end
normal() click to toggle source

The normal method retrieves a Vector3d that is perpendicular to the plane of the arc.

@example

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]
arccurve = edge.curve
v = arccurve.normal

@return vector - a Vector3d object if successful

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb, line 97
def normal
end
plane() click to toggle source

The plane method is used to retrieve the plane of the arc.

Refer to the Geom module for instructions to create a plane.

@example

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]
arccurve = edge.curve
plane = arccurve.plane

@return plane - the plane of the arc if successful

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb, line 119
def plane
end
radius() click to toggle source

The radius method is used to retrieve the radius of the arc.

@example

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]
arccurve = edge.curve
radius = arccurve.radius

@return radius - the radius of the arc if successful

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb, line 139
def radius
end
start_angle() click to toggle source

The start_angle method is used to retrieve the angle of the start of the arc, measured from the X axis in radians.

@example

# Create a 1/4 circle, radius of 5, normal to the Z axis
center = Geom::Point3d.new 0, 0, -1
normal = Geom::Vector3d.new 0,0,1
xaxis = Geom::Vector3d.new 1,0,0
start_a = Math::PI/2
end_a = Math::PI
model = Sketchup.active_model
entities = model.entities
edgearray = entities.add_arc center, xaxis, normal, 5, start_a, end_a
edge = edgearray[0]
arccurve = edge.curve
start_angle = arccurve.start_angle

@return angle - the angle of the start of the arc if successful

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb, line 162
def start_angle
end
xaxis() click to toggle source

The xaxis method is used to retrieve the X axis of the coordinate system for the curve. Note that the length of the returned vector is equal to the radius of the underlying curve.

@example

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]
arccurve = edge.curve
v = arccurve.xaxis

@return vector - a Vector3d object if successful

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb, line 184
def xaxis
end
yaxis() click to toggle source

The yaxis method is used to retrieve the Y axis of the coordinate system for the curve. Note that the length of the returned vector is equal to the radius of the underlying curve.

@example

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]
arccurve = edge.curve
v = arccurve.yaxis

@return vector - a Vector3d object if successful

@version SketchUp 6.0

# File lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb, line 206
def yaxis
end