Class: Layout::AngularDimension

Inherits:
Entity
  • Object
show all

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 #

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

Instance Method Summary # collapse

Methods inherited from Entity

#==, #bounds, #document, #drawing_bounds, #group, #layer_instance, #locked=, #locked?, #move_to_group, #move_to_layer, #on_shared_layer?, #page, #style, #style=, #transform!, #transformation, #untransformed_bounds, #untransformed_bounds=

Constructor Details

#initialize(start_point, end_point, start_extent_point, end_extent_point, inner_angle) ⇒ Layout::AngularDimension

The #initialize method creates a new disconnected Layout::AngularDimension.

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, inner_angle)

Parameters:

Version:

  • LayOut 2018

Instance Method Details

#angleNumeric

The #angle method returns the Layout::AngularDimension's angle. The angle is represented in radians.

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, inner_angle)
angle = dim.angle

Returns:

Version:

  • LayOut 2018

#arc_center_pointGeom::Point2d

The #arc_center_point method returns the paper space location for the dimension 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, inner_angle)
center = dim.arc_center_point

Returns:

Version:

  • LayOut 2018

#custom_text=(uses_custom_text) ⇒ Object

The #custom_text= sets whether or not the Layout::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.

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, inner_angle)
dim.custom_text = true

Parameters:

  • uses_custom_text (Boolean)

Raises:

Version:

  • LayOut 2018

#custom_text?Boolean

The #custom_text? method returns whether the Layout::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.

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, inner_angle)
# returns false
uses_custom_text = dim.custom_text?

Returns:

  • (Boolean)

Version:

  • LayOut 2018

#end_connection_pointGeom::Point2d

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

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, inner_angle)
end_connection = dim.end_connection_point

Returns:

Version:

  • LayOut 2018

#end_connection_point=(end_point) ⇒ Object

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

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, inner_angle)
dim.end_connection_point = Geom::Point2d.new(6, 6)

Parameters:

Raises:

Version:

  • LayOut 2018

#end_extent_pointGeom::Point2d

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

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, inner_angle)
end_ext_point = dim.end_extent_point

Returns:

Version:

  • LayOut 2018

#end_extent_point=(end_extent) ⇒ Object

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

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, inner_angle)
end_ext_point = Geom::Point2d.new(5, 6)
dim.end_extent_point = Geom::Point2d.new(6, 6)

Parameters:

Raises:

Version:

  • LayOut 2018

#end_offset_length=(offset_length) ⇒ Object

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.

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, inner_angle)
end_ext_point = Geom::Point2d.new(5, 6)
dim.end_offset_length = 0.5

Parameters:

Raises:

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.

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, inner_angle)
end_offset = dim.end_offset_point

Returns:

Version:

  • LayOut 2018

#entitiesLayout::Entities

The #entities method returns the Entities that represent the Layout::AngularDimension in its exploded form. Depending on the appearance of the Layout::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.

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, inner_angle)
entites = dim.entities

Returns:

Version:

  • LayOut 2018

#leader_line_typeInteger

The #leader_line_type method returns the type of leader line the Layout::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

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, inner_angle)
type = dim.leader_line_type

Returns:

  • (Integer)

Version:

  • LayOut 2018

#leader_line_type=(type) ⇒ Object

The #leader_line_type= method sets the type of leader line the Layout::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

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, inner_angle)
dim.leader_line_type = Layout::AngularDimension::LEADER_LINE_TYPE_BEZIER

Parameters:

  • type (Integer)

    The leader line type

Raises:

Version:

  • LayOut 2018

#radiusNumeric

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

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, inner_angle)
radius = dim.radius

Returns:

Version:

  • LayOut 2018

#radius=(radius) ⇒ Object

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

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, inner_angle)
dim.radius = 2.0

Parameters:

Raises:

Version:

  • LayOut 2018

#start_connection_pointGeom::Point2d

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

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, inner_angle)
start_connection = dim.start_connection_point

Returns:

Version:

  • LayOut 2018

#start_connection_point=(start_point) ⇒ Object

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

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, inner_angle)
dim.start_connection_point = Geom::Point2d.new(2, 2)

Parameters:

Raises:

Version:

  • LayOut 2018

#start_extent_pointGeom::Point2d

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

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, inner_angle)
start_ext_point = dim.start_extent_point

Returns:

Version:

  • LayOut 2018

#start_extent_point=(start_extent) ⇒ Object

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

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, inner_angle)
start_ext_point = Geom::Point2d.new(2, 3)
dim.start_extent_point = Geom::Point2d.new(2, 2)

Parameters:

Raises:

Version:

  • LayOut 2018

#start_offset_length=(offset_length) ⇒ Object

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.

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, inner_angle)
end_ext_point = Geom::Point2d.new(5, 6)
dim.start_offset_length = 0.5

Parameters:

Raises:

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.

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, inner_angle)
start_offset = dim.start_offset_point

Returns:

Version:

  • LayOut 2018

#textLayout::FormattedText

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 Layout::AngularDimension's FormattedText.

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, inner_angle)
text = dim.text

Returns:

Version:

  • LayOut 2018

#text=(formatted_text) ⇒ Object

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, inner_angle)
anchor_type = Layout::FormattedText::ANCHOR_TYPE_TOP_LEFT
dim.text = Layout::FormattedText.new("Hello LayOut", start_point, anchor_type)

Parameters:

Raises:

Version:

  • LayOut 2018