Class: Sketchup::ArcCurve

Inherits:
Curve show all
Defined in:
lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb

Overview

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.

Examples:

# 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

Instance Method Summary collapse

Methods inherited from Curve

#count_edges, #each_edge, #edges, #first_edge, #is_polygon?, #last_edge, #length, #move_vertices, #vertices

Methods inherited from Entity

#add_observer, #attribute_dictionaries, #attribute_dictionary, #delete_attribute, #deleted?, #entityID, #get_attribute, #inspect, #model, #parent, #persistent_id, #remove_observer, #set_attribute, #to_s, #typename, #valid?

Instance Method Details

#centerObject

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

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

Returns:

  • point - a Point3d at the center of the arc if successful

Version:

  • SketchUp 6.0



53
54
# File 'lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb', line 53

def center
end

#end_angleFloat

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.

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

Examples:

# 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

Returns:

  • (Float)

Version:

  • SketchUp 6.0



76
77
# File 'lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb', line 76

def end_angle
end

#normalObject

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

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

Returns:

  • vector - a Vector3d object if successful

Version:

  • SketchUp 6.0



97
98
# File 'lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb', line 97

def normal
end

#planeObject

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

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

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

Returns:

  • plane - the plane of the arc if successful

Version:

  • SketchUp 6.0



119
120
# File 'lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb', line 119

def plane
end

#radiusObject

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

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

Returns:

  • radius - the radius of the arc if successful

Version:

  • SketchUp 6.0



139
140
# File 'lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb', line 139

def radius
end

#start_angleObject

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

Examples:

# 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

Returns:

  • angle - the angle of the start of the arc if successful

Version:

  • SketchUp 6.0



162
163
# File 'lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb', line 162

def start_angle
end

#xaxisObject

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.

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

Returns:

  • vector - a Vector3d object if successful

Version:

  • SketchUp 6.0



184
185
# File 'lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb', line 184

def xaxis
end

#yaxisObject

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.

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

Returns:

  • vector - a Vector3d object if successful

Version:

  • SketchUp 6.0



206
207
# File 'lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb', line 206

def yaxis
end