# Curves and arcs

**URL:** <https://forums.sketchup.com/t/curves-and-arcs/7442>\
**Category:** Ruby API\
**Created:** [February 21, 2015, 7:18pm UTC](https://forums.sketchup.com/t/curves-and-arcs/7442 "2015-02-21T19:18:20Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![barry\_milliken\_droid](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/barry_milliken_droid/32/4612_2.png) [@barry\_milliken\_droid](https://forums.sketchup.com/u/barry_milliken_droid)\
**Post date:** [February 21, 2015, 7:18pm UTC](https://forums.sketchup.com/t/curves-and-arcs/7442/1 "2015-02-21T19:18:20Z")

</div>

If user applies offset command to an arc the result (unfortunately) is not an arc but a curve. The geometry still defines a circular arc. but now I have to derive the radius and center myself. Not a problem really.  
But looking at the API there seems to be some holes:  
Whats the difference between:  
Curve.move\_vertices  
and  
Curve.vertices  
The descriptions are identical(?)

---

<div class="post-metadata">

**Author:** ![DanRathbun](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/danrathbun/32/500_2.png) [@DanRathbun](https://forums.sketchup.com/u/DanRathbun)\
**Post date:** [February 21, 2015, 7:39pm UTC](https://forums.sketchup.com/t/curves-and-arcs/7442/2 "2015-02-21T19:39:48Z")

</div>

The description for `Curve#vertices()` is correct. (It is a ‘getter’ method.)

The API doc author copied that description but did not change it for the `move_vertices()` ‘setter’ method.

The description for `move_vertices()` should tell you that the method changes the location of the curve’s vertices, beginning with the start vertice. It should also raise an exception if the point array does not contain enough points.

Be wary of ‘setter’ methods that do not return the instance itself. (This is that normal behavior in Ruby.) So when the API Doc days it returns a boolean value of success,… be skeptical, and test to be sure.  
And then, do not rely upon ‘setter’ methods returning boolean values in future API releases.

---

<div class="post-metadata">

**Author:** ![barry\_milliken\_droid](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/barry_milliken_droid/32/4612_2.png) [@barry\_milliken\_droid](https://forums.sketchup.com/u/barry_milliken_droid)\
**Post date:** [February 21, 2015, 7:52pm UTC](https://forums.sketchup.com/t/curves-and-arcs/7442/3 "2015-02-21T19:52:36Z")

</div>

Thanks. Do you think I’m correct that the result of an offset applied to an arc should remain an arc? An offset circle remains a circle. An arc scaled in both X and Y remains an arc. A split arc makes 2 arcs.  
In the case of my app, the resulting curve will no longer accept a radial dimension, so I have to look at each curve, see if any are really an arc. delete it and recreate it as an arc.  
Too late for Sketchup to fix the problem for me, but they should at some point.

---

<div class="post-metadata">

**Author:** ![DanRathbun](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/danrathbun/32/500_2.png) [@DanRathbun](https://forums.sketchup.com/u/DanRathbun)\
**Post date:** [February 21, 2015, 8:07pm UTC](https://forums.sketchup.com/t/curves-and-arcs/7442/4 "2015-02-21T20:07:14Z")

</div>

Yes it sounds like a bug to me.

---

<div class="post-metadata">

**Author:** ![yourwatergarden](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/yourwatergarden/32/4575_2.png) [@yourwatergarden](https://forums.sketchup.com/u/yourwatergarden)\
**Post date:** [March 7, 2015, 5:01am UTC](https://forums.sketchup.com/t/curves-and-arcs/7442/5 "2015-03-07T05:01:50Z")

</div>

This was helpful… thanks.

---

<div class="post-metadata">

**Author:** ![gsharp](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/gsharp/32/25083_2.png) [@gsharp](https://forums.sketchup.com/u/gsharp)\
**Post date:** [September 11, 2018, 3:41am UTC](https://forums.sketchup.com/t/curves-and-arcs/7442/6 "2018-09-11T03:41:45Z")

</div>

so an offset arc is a curve ! [just discovered that using Thomthoms Guide Tools] where he has a specific command for construction points of arcs but I found out that it did not do the offset of those arcs as they are now curves.

But in all the SU Documentation I cannot find any reference/definition to CURVES and it seems in a lot of the informal comments both terms are used interchangeably…

Perhaps SU should clarify the implications / definitions of both to non programmers

---

<div class="post-metadata">

**Author:** ![DanRathbun](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/danrathbun/32/500_2.png) [@DanRathbun](https://forums.sketchup.com/u/DanRathbun)\
**Post date:** [September 11, 2018, 3:25pm UTC](https://forums.sketchup.com/t/curves-and-arcs/7442/7 "2018-09-11T15:25:33Z")

</div>

> [@gsharp](#):
>
> But in all the SU Documentation I cannot find any reference/definition to CURVES …

A **curve** is drawn with the **Freehand Tool** …  
[https://help.sketchup.com/en/sketchup/drawing-freehand-shapes](https://help.sketchup.com/en/sketchup/drawing-freehand-shapes)

… or one of the several Bezier curve tools available in the EW.

An **arc** is drawn with one of the **Arc** tools …  
[https://help.sketchup.com/en/sketchup/drawing-arcs](https://help.sketchup.com/en/sketchup/drawing-arcs)

> [@gsharp](#):
>
> … CURVES and it seems in a lot of the informal comments both terms are used interchangeably…

Because `Sketchup::ArcCurve` is a subclass of `Sketchup::Curve` therefor the former is also one of the latter (and inherits all the functionality of it’s parent, and all it’s ancestor classes.)
