123456789_123456789_123456789_123456789_123456789_

Class: Layout::AngularDimension

Relationships
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Entity
Instance Chain:
self, Entity
Inherits: Layout::Entity

Overview

References an angular dimension entity. An AngularDimension is composed of the following sub-entities:

  • two ‘extension lines’ that extend from the Entity being dimensioned.

  • a ‘dimension line’ connecting the ends of the leaders. This may be represented by one or two Paths depending on appearance.

  • an optional ‘leader line’ that is used for small AngularDimensions.

  • a ‘dimension text’ that displays the AngularDimension‘s text.

There are seven points that may be modified for an AngularDimension:

  • two ‘connection points’ that define the start and end of the AngularDimension.

  • two ‘extent points’ that define the start and end of the dimension line and are the ends of the two extension lines.

  • two ‘offset points’ that define the starting points of the extension lines.

  • one ‘arc center point’ that defines the center of the AngularDimension, where the extension lines intersect.

Version:

  • LayOut 2018

Constant Summary

Class Method Summary

Instance Attribute Summary

Entity - Inherited

#locked=

The #locked= method sets the Entity as locked or unlocked.

#locked?

The #locked? method returns whether the Entity is locked or unlocked.

#on_shared_layer?

The #on_shared_layer? method returns whether or not the Entity is on a shared Layer.

#style

The #style method returns the Style of the Entity.

#style=

The #style= method sets the Style of the Entity.

#untransformed_bounds

The #untransformed_bounds method returns the untransformed bounds of the Entity.

#untransformed_bounds=

The #untransformed_bounds= method sets the untransformed bounds of the Entity.

Instance Method Summary

Entity - Inherited

#==

The #== method checks to see if the two Entitys are equal.

#bounds

The #bounds method returns the 2D rectangular bounds of the Entity.

#document

The #document method returns the Document that the Entity belongs to, or nil if it is not in a Document.

#drawing_bounds

The #drawing_bounds method returns the 2D rectangular drawing bounds of the Entity.

#group

The #group method returns the Group the Entity belongs to, or nil if it is not in a Group.

#layer_instance

The #layer_instance method returns the LayerInstance that the Entity is on, or nil if it is not associated with a LayerInstance.

#move_to_group

The #move_to_group method moves the Entity into a Group.

#move_to_layer

The #move_to_layer method moves the Entity to the given Layer.

#page

The #page method returns the Page that the Entity belongs to, or nil if it is on a shared Layer or not in a Document.

#transform!

The #transform! method transforms the Entity with a given ::Geom::Transformation2d.

#transformation

The #transformation method returns the explicit ::Geom::Transformation2d.

Constructor Details

.new(start_point, end_point, start_extent_point, end_extent_point, inner_angle) ⇒ AngularDimension

The #initialize method creates a new disconnected AngularDimension.

inner_angle)

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

  • start_point (Geom::Point2d)

    Where the AngularDimension should start

  • end_point (Geom::Point2d)

    Where the AngularDimension should end

  • start_extent_point (Geom::Point2d)

    The extent point where the dimension line should start

  • end_extent_point (Geom::Point2d)

    The extent point where the dimension line should end

  • inner_angle (Boolean)

    Whether or not the AngularDimension should measure the inner angle. If false, it will measure the outer angle.

Version:

  • LayOut 2018

Instance Attribute Details

#custom_text=(uses_custom_text) (rw)

The #custom_text= sets whether or not the AngularDimension uses custom text. When true, the text will display a custom string that doesn’t change. When false, the text will display the length measurement and wil update automatically.

inner_angle) dim.custom_text = true

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

  • uses_custom_text (Boolean)

Raises:

Version:

  • LayOut 2018

#custom_text?Boolean (rw)

The #custom_text? method returns whether the AngularDimension uses custom text. When true, the text will display a custom string that doesn’t change. When false, the text will display the length measurement and will update automatically.

inner_angle) # returns false uses_custom_text = dim.custom_text?

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Version:

  • LayOut 2018

#end_connection_pointGeom::Point2d (rw)

The #end_connection_point method returns the paper space location for the second connection.

inner_angle) end_connection = dim.end_connection_point

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Version:

  • LayOut 2018

#end_connection_point=(end_point) (rw)

The #end_connection_point= method sets the paper space location for the second connection.

inner_angle) dim.end_connection_point = ::Geom::Point2d.new(6, 6)

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

Raises:

Version:

  • LayOut 2018

#end_extent_pointGeom::Point2d (rw)

The #end_extent_point method returns the paper space location for the end of the dimension line.

inner_angle) end_ext_point = dim.end_extent_point

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Returns:

Version:

  • LayOut 2018

#end_extent_point=(end_extent) (rw)

The #end_extent_point= method sets the paper space location for the end of the dimension line.

inner_angle) end_ext_point = ::Geom::Point2d.new(5, 6) dim.end_extent_point = ::Geom::Point2d.new(6, 6)

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

Raises:

Version:

  • LayOut 2018

#end_offset_length=(offset_length) (writeonly)

The #end_offset_length= method sets the length of the offset from the second connection point to the start of the second extension line. The connection and extent points will not move.

inner_angle) end_ext_point = ::Geom::Point2d.new(5, 6) dim.end_offset_length = 0.5

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

Raises:

Version:

  • LayOut 2018

#leader_line_typeInteger (rw)

The #leader_line_type method returns the type of leader line the AngularDimension is using.

The leader line type can be one of the following:

Layout::AngularDimension::LEADER_LINE_TYPE_SINGLE_SEGMENT
Layout::AngularDimension::LEADER_LINE_TYPE_TWO_SEGMENT
Layout::AngularDimension::LEADER_LINE_TYPE_BEZIER
Layout::AngularDimension::LEADER_LINE_TYPE_HIDDEN

inner_angle) type = dim.leader_line_type

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Version:

  • LayOut 2018

#leader_line_type=(type) (rw)

The #leader_line_type= method sets the type of leader line the AngularDimension is using.

The leader line type can be one of the following:

Layout::AngularDimension::LEADER_LINE_TYPE_SINGLE_SEGMENT
Layout::AngularDimension::LEADER_LINE_TYPE_TWO_SEGMENT
Layout::AngularDimension::LEADER_LINE_TYPE_BEZIER
Layout::AngularDimension::LEADER_LINE_TYPE_HIDDEN

inner_angle) dim.leader_line_type = Layout::AngularDimension::LEADER_LINE_TYPE_BEZIER

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

  • type (Integer)

    The leader line type

Raises:

Version:

  • LayOut 2018

#radiusNumeric (rw)

The #radius method returns the AngularDimension‘s radius. This is the distance from the arc center point to the dimension line.

inner_angle) radius = dim.radius

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Version:

  • LayOut 2018

#radius=(radius) (rw)

The #radius= method sets the the AngularDimension‘s radius. This is the distance from the arc center point to the dimension line.

inner_angle) dim.radius = 2.0

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

Raises:

Version:

  • LayOut 2018

#start_connection_pointGeom::Point2d (rw)

The #start_connection_point method returns the paper space location for the first connection.

inner_angle) start_connection = dim.start_connection_point

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Version:

  • LayOut 2018

#start_connection_point=(start_point) (rw)

The #start_connection_point= method sets the paper space location for the first connection.

inner_angle) dim.start_connection_point = ::Geom::Point2d.new(2, 2)

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

Raises:

Version:

  • LayOut 2018

#start_extent_pointGeom::Point2d (rw)

The #start_extent_point method returns the paper space location for the start of the dimension line.

inner_angle) start_ext_point = dim.start_extent_point

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Returns:

Version:

  • LayOut 2018

#start_extent_point=(start_extent) (rw)

The #start_extent_point= method sets the paper space location for the start of the dimension line.

inner_angle) start_ext_point = ::Geom::Point2d.new(2, 3) dim.start_extent_point = ::Geom::Point2d.new(2, 2)

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

Raises:

Version:

  • LayOut 2018

#start_offset_length=(offset_length) (writeonly)

The #start_offset_length= method sets the length of the offset from the first connection point to the start of the first extension line. The connection and extent points will not move.

inner_angle) end_ext_point = ::Geom::Point2d.new(5, 6) dim.start_offset_length = 0.5

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

Raises:

Version:

  • LayOut 2018

#textLayout::FormattedText (rw)

Note:

With the addition of auto-text in dimensions for LayOut 2019.2, the copy of the dimension text incorrectly provided the plain text when requesting the display text. This has been fixed for LayOut 2020.1.

The #text method returns a copy of the AngularDimension‘s FormattedText.

inner_angle) text = dim.text

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Version:

  • LayOut 2018

#text=(formatted_text) (rw)

The #text= method sets the AngularDimension‘s FormattedText.

inner_angle) anchor_type = Layout::FormattedText::ANCHOR_TYPE_TOP_LEFT dim.text = FormattedText.new(“Hello LayOut”, start_point, anchor_type)

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Parameters:

Raises:

Version:

  • LayOut 2018

Instance Method Details

#angleNumeric

The #angle method returns the AngularDimension‘s angle. The angle is represented in radians.

inner_angle) angle = dim.angle

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Version:

  • LayOut 2018

#arc_center_pointGeom::Point2d

The #arc_center_point method returns the paper space location for the dimension arc center point.

inner_angle) center = dim.arc_center_point

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Version:

  • LayOut 2018

#end_offset_pointGeom::Point2d

The #end_offset_point method returns the paper space location for the end of the first extension line. The first extension line runs from this offset point to the end extent point.

inner_angle) end_offset = dim.end_offset_point

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Returns:

Version:

  • LayOut 2018

#entitiesLayout::Entities

The #entities method returns the Entities that represent the AngularDimension in its exploded form. Depending on the appearance of the AngularDimension being exploded, this may return anywhere from four to six Entitys: start extension line, end extension line, one or two dimension lines, dimension text, and optionally the leader line.

inner_angle) entites = dim.entities

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Version:

  • LayOut 2018

#start_offset_pointGeom::Point2d

The #start_offset_point method returns the paper space location for the start of the first extension line. The first extension line runs from this offset point to the start extent point.

inner_angle) start_offset = dim.start_offset_point

Examples:

start_point = Geom::Point2d.new(1, 1)
end_point = Geom::Point2d.new(5, 5)
start_extent = Geom::Point2d.new(1, 2)
end_extent = Geom::Point2d.new(5, 6)
inner_angle = true
dim = Layout::AngularDimension.new(start_point, end_point, start_extent, end_extent,

Returns:

Version:

  • LayOut 2018