Class: Length

Inherits:
Float
  • Object
show all

Overview

Note:

Prior to SketchUp 2015, Length used to be derived from Float. This is no longer the case.

Because length units are used so often in SketchUp, a special class has been added to make it easier to work with length values. You can use a Length object any place that you would use a Float.

Internally, all lengths in SketchUp are stored in inches. The Length class stores values in inches as well. A number of methods have been added to the Ruby Numeric class to do units conversions.

The setting for the Length Format and Length Unit can be retrieved from the Sketchup::Model#options by querying the “UnitsOptions” Sketchup::OptionsProvider for “LengthFormat” and “LengthUnit” respectively.

Constants:

Length Format
  • Length::Decimal

  • Length::Architectural

  • Length::Engineering

  • Length::Fractional

Length Unit
  • Length::Inches

  • Length::Feet

  • Length::Millimeter

  • Length::Centimeter

  • Length::Meter

(Added in SketchUp 2020.0)

  • Length::Yard

Area Unit

(Added in SketchUp 2019.2)

  • Length::SquareInches

  • Length::SquareFeet

  • Length::SquareMillimeter

  • Length::SquareCentimeter

  • Length::SquareMeter

(Added in SketchUp 2020.0)

  • Length::SquareYard

Volume Unit

(Added in SketchUp 2019.2)

  • Length::CubicInches

  • Length::CubicFeet

  • Length::CubicMillimeter

  • Length::CubicCentimeter

  • Length::CubicMeter

(Added in SketchUp 2020.0)

  • Length::CubicYard

  • Length::Liter

  • Length::USGallon

Version:

  • SketchUp 6.0

Constant Summary #

Length::Decimal
Length::Architectural
Length::Engineering
Length::Fractional
Length::Inches
Length::Feet
Length::Millimeter
Length::Centimeter
Length::Meter
Length::Yard
Length::SquareInches
Length::SquareFeet
Length::SquareMillimeter
Length::SquareCentimeter
Length::SquareMeter
Length::SquareYard
Length::CubicInches
Length::CubicFeet
Length::CubicMillimeter
Length::CubicCentimeter
Length::CubicMeter
Length::CubicYard
Length::Liter
Length::USGallon

Instance Method Summary # collapse

Instance Method Details

#<(length2) ⇒ Boolean

The < method is used to see if one length is less than another length.

For example, if l1 = 1.0.inch and l2 = 1.000001.inch then l1 == l2 so l1 < l2 should return false.

Examples:

length1 = 12.to_l
length2 = 11.to_l
if length1 < length2
  puts "length1 is less than length2"
else
  puts "length1 is not less than length2"
end

Parameters:

  • length2 (Length)

    A length value.

Returns:

  • (Boolean)

    true if length1 is < length2; false if length1 is not < length2

Version:

  • SketchUp 6.0

#<=(length2) ⇒ Boolean

The <= method is used to see if one length is less than or equal to another length.

Examples:

length1 = 11.to_l
length2 = 12.to_l
if length1 <= length2
  puts "length1 is less than or equal length2"
else
  puts "length1 is greater than length2"
end

Parameters:

  • length2 (Length)

    A length value.

Returns:

  • (Boolean)

    true if length1 is <= length2; false if length1 is not <= length2

Version:

  • SketchUp 6.0

#<=>(length2) ⇒ Integer

The <=> method is used to see if one length is less than equal or greater than another length. Because we change == for Length to do a test based on a tolerance, we also need to change <=> to also take tolerance into account.

Examples:

length1 = 20.to_l
length2 = 30.to_l
result = length1 <=> length2

Parameters:

  • length2 (Length)

    A length value.

Returns:

  • (Integer)

    the result of the comparison

Version:

  • SketchUp 6.0

#==(length2) ⇒ Boolean

The == method is used to see if one length is equal to another length.

The equality comparison on Length values uses the default tolerance that SketchUp uses for comparing lengths.

Examples:

length1 = 20.to_l
length2 = 30.to_l
is_equal = length1 == length2

Parameters:

  • length2 (Length)

    A length value.

Returns:

  • (Boolean)

    true if length1 is == length2; false if length1 is not == length2

Version:

  • SketchUp 6.0

#>(length2) ⇒ Boolean

The > method is used to see if one length is greater than another length.

For example, if l1 = 1.0.inch and l2 = 1.000001.inch then l1 == l2 so l1 > l2 should return false.

Examples:

length1 = 11.to_l
length2 = 12.to_l
if length1 > length2
  puts "length1 is greater than length2"
else
  puts "length1 is not greater than length2"
end

Parameters:

  • length2 (Length)

    A length value.

Returns:

  • (Boolean)

    true if length1 is > length2; false if length1 is not > length2

Version:

  • SketchUp 6.0

#>=(length2) ⇒ Boolean

The >= method is used to see if one length is greater than or equal to another length.

For example, if l1 = 1.0.inch and l2 = 1.000001.inch then l1 == l2 so l1 >= l2 should return true. Also L1 <= l2 would return true.

Examples:

length1 = 11.to_l
length2 = 12.to_l
if length1 >= length2
  puts "length1 is greater than or equal length2"
else
  puts "length1 is less than length2"
end

Parameters:

  • length2 (Length)

    A length value.

Returns:

  • (Boolean)

    true if length1 is >= length2; false if length1 is not >= length2

Version:

  • SketchUp 6.0

#inspectString

The inspect method is used to retrieve an unformatted string for the length, which is the length in inches, regardless of the user's model unit settings. See Length.to_s for a way automatically format your Length to the user's model units.

Examples:

length = 55.to_l
str = length.inspect

Returns:

  • (String)

    an unformatted length string

Version:

  • SketchUp 6.0

#to_fFloat

The to_f method is used to convert a length to a normal float.

Examples:

length = 45.to_l
f = length.to_f

Returns:

  • (Float)

    the float length value

Version:

  • SketchUp 6.0

#to_sString

Format a length as a String using the current units formatting settings for the model. (So if the user's model is set to feet, this method will return a nicely formatted length in feet.)

Examples:

length = 55.to_l
str = length.to_s

Returns:

  • (String)

    the float length value

Version:

  • SketchUp 6.0