SketchUp  Ruby API Reference 

Class Index

Method Index

Developers Guide

Examples

Array class

The SketchUp Array class adds additional methods to the standard Ruby Array class. Namely the SketchUp Ruby Array class contains methods allowing an array to behave just as Vector3d or  Point3d objects (which are arrays of 3 coordinate values). Therefore, you can use the Array class in place of a Point3d or Vector3d as a way to pass coordinate values.    

Parent: Object

Methods: cross, distance, distance_to_line, distance_to_plane, dot, normalize, normalize!, offset, offset!, on_line?, on_plane?,project_to_line ,project_to_plane,transform, transform!, vector_to, x, x=, y, y=,z , z=

Example Code:arraytests.rb

Instance Methods


cross

The cross method is used to compute the cross product between two vectors.

Syntax

vector2 = array.cross vector

Arguments

vector - the Vector object used to compute the cross product

Return Value

vector2- a Vector3d object if successful

Example

vector = Geom::Vector3d.new 0,1,0
a = [1,0,0]
v = a.cross vector
if (v)
UI.messagebox v
else
UI.messagebox "Failure"
end       

 

 


distance

The distance method is used to compute the distance between two points.

Syntax

distance = array.distance point

Arguments

point - the Point3d object used to compute the distance

Return Value

distance - the distance if successful

Example

point1 = Geom::Point3d.new 10,10,10
a = [1,1,1]
distance = a.distance point1

 

 


distance_to_line

The distance_to_line method is used to compute the distance from a Point3d object to a line. Lines are defined by an array of a point and a vector or an array of two points. See also the Geom class.

Syntax

distance = array.distance_to_line line

Arguments

line - an array with a Point3d object and a Vector3d object if successful. See the Geom class for further information on lines.

Return Value

distance - the distance if successful

Example

line = [Geom::Point3d.new(0,0,0), Geom::Vector3d.new(0,0,1)]
a = [10,10,10]
distance = a.distance_to_line line

 

 


distance_to_plane

The distance_to_plane method is used to compute the distance from a Point3d object to a plane.

Syntax

distance = array.distance_to_plane plane 

Arguments

plane - a plane used to compute the distance. See the Geom class for further information on planes.

Return Value

distance - the distance if successful

Example

plane = [Geom::Point3d.new(0,0,0), Geom::Vector3d.new(0,0,1)]
a = [10,10,10]
distance = a.distance_to_plane plane

 

 


dot

The dot method is used to compute the dot product between two vectors

Syntax

dot = array.dot vector

Arguments

vector - a Vector3d object used to compute the dot product

Return Value

dot - the dot product if successful

Example

vector = Geom::Vector3d.new 0,1,0
a = [1,0,0]
d = a.dot vector

 

 


normalize

The normalize method is used to retrieve a new Vector3d object which is a unit vector in the same direction as this vector.

Syntax

vector = array.normalize

Return Value

vector - a Vector3d object if successful

Comments

The arguments and return value will be converted to a floating point value (unlike in the Vector3d.normalize).

Example

a = [0,0,1]
v = a.normalize

 

 


normalize!

The normalize! method is used to normalize a vector in place (setting its length to 1).

Syntax

vector = array.normalize!

Return Value

vector - a Vector3d object if successful

Comments

The arguments and return value will be converted to a floating point value (unlike in the Vector3d.normalize!).

Example

a = [0,0,1]
v = a.normalize!

 

 


offset

The offset method offsets a point by a vector and returns a new point.

Syntax

vector2 = array.offset vector1

Arguments

vector1 - a Vector3d object used to offset the point

Return Value

vector2 - a Vector3d object if successful

Example

a =[10,10,10]
vector = Geom::Vector3d.new(0,0,1)
point2 = a.offset vector

 

 


offset!

The offset method is used to offset a point by a vector.

Syntax

status = array.offset! vector

Arguments

vector1 - a Vector3d object used to offset the point

Return Value

status -

Example

a = [10,10,10]
vector = Geom::Vector3d.new(0,0,1)
point2 = a.offset! vector

 

 


on_line?

The on_line? method is used to determine if a Point3d object is on a line

Syntax

status = array.online?

Return Value

status - true if the point is on the line, false if the point is not on the line.

Example

line = [Geom::Point3d.new(0,0,0), Geom::Vector3d.new(0,0,1)]
a = [10,10,10]
status = a.on_line? line

 

 


on_plane?

The on_plane? method is used to determine if a Point3d object is on a plane (to within tolerance).

Syntax

success - array.on_plane? plane

Arguments

plane - the plane of the Point3d  

Return Value

success - true if successful, false if unsuccessful.

Comments

See the Geom module for instructions on how to create a plane.

Example

plane = [Geom::Point3d.new(0,0,0), Geom::Vector3d.new(0,0,1)]
a = [10,10,10]
status = a.on_plane? plane

 

 


project_to_line

The project_to_line method is used to retrieve the projection of a Point3d object onto a line.

Syntax

point = array.project_to_line line

Arguments

line - an array with a Point3d object and a Vector3d object.

Return Value

point - a new Point3d object that is the point on the line that is closest to this point (if successful)

Example

line = [Geom::Point3d.new(0,0,0), Geom::Vector3d.new(0,0,1)]
a = [10,10,10]
pointonline = a.project_to_line line

 

 


project_to_plane

The project_to_plane method retrieves the projection of a Point3d object onto a plane.

Syntax

point = array.project_to_plane plane

Arguments

plane - the plane used to determine the projection from

Return Value

point - a new Point3d object that is the point on the plane that is closest to this plane (if successful)

Comments

See the Geom module for instructions on how to create a plane.

Example

plane = [Geom::Point3d.new(0,0,0), Geom::Vector3d.new(0,0,1)]
a = [10,10,10]
pointonplane = a.project_to_plane plane

 

 


transform

The transform method is used to create a new Array object by transforming this Array object as a point

Syntax

array = array.transform transformation

Arguments

transformation - a Transformation object

Return Value

array - an Array object if successful

Example

point2 = Geom::Point3d.new 100,200,300
transform = Geom::Transformation.new(point2)
a = [10,10,10]
point3 = a.transform transform

 

 


transform!

The transform! method is used to apply a Transformation object to a Point3d object defined by an Array object.

Syntax

status = array.transform! transformation

Arguments

transformation - a Transformation object

Return Value

status -

Comments

This method modifies the Point3d object

Example

point2 = Geom::Point3d.new 100,200,300
transform = Geom::Transformation.new(point2)
a = [10,10,10]
point3 = a.transform! transform

 

 


vector_to

The transform! method is used to create an array as a vector from one point to a second point.

Syntax

vector = array.vector_to point

Arguments

point - a Point3d object representing the second point

Return Value

vector - a Vector3d object if successful

Example

point2 = Geom::Point3d.new 100,200,300
a = [10,10,10]
vector = a.vector_to point2

 

 


X

The x method retrieves the x coordinate.

Syntax

x = array.x

Return Value

x - the x coordinate if successful

Example

a = [1,2,3]
x = a.x

 

 


X=

The x= method is used to set the x coordinate.

Syntax

x= array.x = x

Arguments

x - the new x coordinate

Return Value

x - the x coordinate if successful

Example

a = [1,2,3]
x = a.x=2

 

 


Y

The y method is used to get the y coordinate.

Syntax

y = array.y

Return Value

y - the y coordinate if successful

Example

a = [1,2,3]
y = a.y

 

 


Y=

The y= method is used to get the y coordinate.

Syntax

y=array.y = y

Arguments

y - the new y coordinate

Return Value

y - the y coordinate if successful

Example

a = [1,2,3]
y = a.y=2

 

 


Z

The z method is used to get the z coordinate.

Syntax

z = array.z

Return Value

z - the z coordinate if successful

Example

a = [1,2,3]
z = a.z

 

 


Z=

The z= method is used to set the z coordinate.

Syntax

x= array.z = z

Arguments

z - the new z coordinate

Return Value

The z= method is used to set the z coordinate.

Example

a = [1,2,3]