sketchup-api-stubs 0.7.4 → 0.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/sketchup-api-stubs.rb +1 -1
- data/lib/sketchup-api-stubs/sketchup.rb +147 -145
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
- data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
- data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
- data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +498 -492
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
- data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
- data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
- data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +179 -174
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +515 -514
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
- data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
- data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
- data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
- data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
- data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
- data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
- data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
- data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
- data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
- data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
- data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +694 -694
- data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
- data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
- data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
- data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
- data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
- data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +577 -562
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +604 -593
- data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
- data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +362 -329
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1126 -1119
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +751 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +699 -697
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +417 -409
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +405 -393
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +327 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -456
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
- data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
- data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
- data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +835 -829
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +71 -61
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1307 -1301
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +317 -310
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +387 -356
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +255 -229
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
- data/lib/sketchup-api-stubs/stubs/geom.rb +351 -348
- data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
- data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
- data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
- data/lib/sketchup-api-stubs/stubs/sketchup.rb +1342 -1310
- data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/ui.rb +668 -667
- metadata +4 -2
@@ -1,220 +1,225 @@
|
|
1
|
-
# Copyright:: Copyright 2020 Trimble Inc.
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# The Layers class is a container class for all layers in a {Layout::Document}.
|
5
|
-
#
|
6
|
-
# @example
|
7
|
-
# # Grab a handle to the currently active document's layers
|
8
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
9
|
-
# layers = doc.layers
|
10
|
-
#
|
11
|
-
# # From here, we can add layers to or remove them from the document
|
12
|
-
# layers.add("New Layer")
|
13
|
-
# layers.remove(layers[0])
|
14
|
-
#
|
15
|
-
# @version LayOut 2018
|
16
|
-
class Layout::Layers
|
17
|
-
|
18
|
-
# Includes
|
19
|
-
|
20
|
-
include Enumerable
|
21
|
-
|
22
|
-
# Instance Methods
|
23
|
-
|
24
|
-
# The {#[]} method returns a value from the array of {Layout::Layer}s.
|
25
|
-
#
|
26
|
-
# @example
|
27
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
28
|
-
# layers = doc.layers
|
29
|
-
# layer = layers[2]
|
30
|
-
#
|
31
|
-
# @param [Integer] index
|
32
|
-
# The index of the {Layout::Layer} to return.
|
33
|
-
#
|
34
|
-
# @raise [IndexError] if index is out of range
|
35
|
-
#
|
36
|
-
# @return [Layout::Layer]
|
37
|
-
#
|
38
|
-
# @version LayOut 2018
|
39
|
-
def [](index)
|
40
|
-
end
|
41
|
-
|
42
|
-
# The {#active} method returns the active {Layout::Layer} in the
|
43
|
-
# {Layout::Document}.
|
44
|
-
#
|
45
|
-
# @example
|
46
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
47
|
-
# layer = doc.layers.active
|
48
|
-
#
|
49
|
-
# @return [Layout::Layer]
|
50
|
-
#
|
51
|
-
# @version LayOut 2018
|
52
|
-
def active
|
53
|
-
end
|
54
|
-
|
55
|
-
# The {#active=} method sets the active {Layout::Layer} that will be
|
56
|
-
# displayed the next time the {Layout::Document} is opened. This value will
|
57
|
-
# change whenever the {Layout::Layer} is changed in the {Layout::Document} in
|
58
|
-
# LayOut.
|
59
|
-
#
|
60
|
-
# @example
|
61
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
62
|
-
# layers = doc.layers
|
63
|
-
# layers.active = layers[0]
|
64
|
-
#
|
65
|
-
# @overload active=(layer)
|
66
|
-
#
|
67
|
-
# @param [Layout::Layer] layer The {Layout::Layer} to set as the initial one
|
68
|
-
# @return [Layout::Layer]
|
69
|
-
#
|
70
|
-
# @raise [ArgumentError] if layer does not belong to the {Layout::Document}
|
71
|
-
# @raise [ArgumentError] if layer is locked or hidden on the current
|
72
|
-
# {Layout::Page}
|
73
|
-
#
|
74
|
-
# @overload active=(index)
|
75
|
-
#
|
76
|
-
# @param [Integer] index The index of {Layout::Layer} the to set as the
|
77
|
-
# initial one
|
78
|
-
# @return [Layout::Layer]
|
79
|
-
#
|
80
|
-
# @raise [ArgumentError] if index is out of range
|
81
|
-
# @raise [ArgumentError] if the {Layout::Layer} is locked or hidden on the
|
82
|
-
# current {Layout::Page}
|
83
|
-
#
|
84
|
-
# @version LayOut 2018
|
85
|
-
def active=(layer)
|
86
|
-
end
|
87
|
-
|
88
|
-
# The {#add} method adds a new {Layout::Layer} to the {Layout::Document}.
|
89
|
-
# The newly added {Layout::Layer} will be the last one in the
|
90
|
-
# {Layout::Document}.
|
91
|
-
#
|
92
|
-
# @example
|
93
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
94
|
-
# new_layer = doc.layers.add
|
95
|
-
#
|
96
|
-
# @overload add(shared = false)
|
97
|
-
#
|
98
|
-
# @param [Boolean] shared +true+ to make the {Layout::Layer} shared, +false+
|
99
|
-
# for non-shared.
|
100
|
-
# @return [Layout::Layer] The newly added {Layout::Layer}.
|
101
|
-
#
|
102
|
-
# @overload add(name, shared = false)
|
103
|
-
#
|
104
|
-
# @param [String] name The name for the new layer.
|
105
|
-
# @param [Boolean] shared +true+ to make the {Layout::Layer} shared, +false+
|
106
|
-
# for non-shared.
|
107
|
-
# @return [Layout::Layer] The newly added {Layout::Layer}.
|
108
|
-
#
|
109
|
-
# @version LayOut 2018
|
110
|
-
def add(*args)
|
111
|
-
end
|
112
|
-
|
113
|
-
# The {#each} method iterates through all of the {Layout::Layer}s.
|
114
|
-
#
|
115
|
-
# @example
|
116
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
117
|
-
# layers = doc.layers
|
118
|
-
# layers.each { |layer|
|
119
|
-
# puts layer.name
|
120
|
-
# }
|
121
|
-
#
|
122
|
-
# @
|
123
|
-
#
|
124
|
-
#
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
#
|
129
|
-
#
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
#
|
134
|
-
#
|
135
|
-
#
|
136
|
-
# @
|
137
|
-
#
|
138
|
-
#
|
139
|
-
#
|
140
|
-
#
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
#
|
145
|
-
#
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
#
|
150
|
-
#
|
151
|
-
# @
|
152
|
-
#
|
153
|
-
#
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
#
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
#
|
164
|
-
#
|
165
|
-
#
|
166
|
-
# @
|
167
|
-
#
|
168
|
-
#
|
169
|
-
#
|
170
|
-
#
|
171
|
-
#
|
172
|
-
#
|
173
|
-
#
|
174
|
-
# @
|
175
|
-
# {Layout::
|
176
|
-
#
|
177
|
-
#
|
178
|
-
#
|
179
|
-
# @
|
180
|
-
#
|
181
|
-
#
|
182
|
-
#
|
183
|
-
#
|
184
|
-
# @
|
185
|
-
#
|
186
|
-
#
|
187
|
-
#
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
#
|
192
|
-
#
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
#
|
197
|
-
#
|
198
|
-
#
|
199
|
-
#
|
200
|
-
# @
|
201
|
-
#
|
202
|
-
#
|
203
|
-
#
|
204
|
-
#
|
205
|
-
#
|
206
|
-
#
|
207
|
-
# @
|
208
|
-
#
|
209
|
-
#
|
210
|
-
#
|
211
|
-
#
|
212
|
-
# @
|
213
|
-
#
|
214
|
-
#
|
215
|
-
#
|
216
|
-
#
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
1
|
+
# Copyright:: Copyright 2020 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# The Layers class is a container class for all layers in a {Layout::Document}.
|
5
|
+
#
|
6
|
+
# @example
|
7
|
+
# # Grab a handle to the currently active document's layers
|
8
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
9
|
+
# layers = doc.layers
|
10
|
+
#
|
11
|
+
# # From here, we can add layers to or remove them from the document
|
12
|
+
# layers.add("New Layer")
|
13
|
+
# layers.remove(layers[0])
|
14
|
+
#
|
15
|
+
# @version LayOut 2018
|
16
|
+
class Layout::Layers
|
17
|
+
|
18
|
+
# Includes
|
19
|
+
|
20
|
+
include Enumerable
|
21
|
+
|
22
|
+
# Instance Methods
|
23
|
+
|
24
|
+
# The {#[]} method returns a value from the array of {Layout::Layer}s.
|
25
|
+
#
|
26
|
+
# @example
|
27
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
28
|
+
# layers = doc.layers
|
29
|
+
# layer = layers[2]
|
30
|
+
#
|
31
|
+
# @param [Integer] index
|
32
|
+
# The index of the {Layout::Layer} to return.
|
33
|
+
#
|
34
|
+
# @raise [IndexError] if index is out of range
|
35
|
+
#
|
36
|
+
# @return [Layout::Layer]
|
37
|
+
#
|
38
|
+
# @version LayOut 2018
|
39
|
+
def [](index)
|
40
|
+
end
|
41
|
+
|
42
|
+
# The {#active} method returns the active {Layout::Layer} in the
|
43
|
+
# {Layout::Document}.
|
44
|
+
#
|
45
|
+
# @example
|
46
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
47
|
+
# layer = doc.layers.active
|
48
|
+
#
|
49
|
+
# @return [Layout::Layer]
|
50
|
+
#
|
51
|
+
# @version LayOut 2018
|
52
|
+
def active
|
53
|
+
end
|
54
|
+
|
55
|
+
# The {#active=} method sets the active {Layout::Layer} that will be
|
56
|
+
# displayed the next time the {Layout::Document} is opened. This value will
|
57
|
+
# change whenever the {Layout::Layer} is changed in the {Layout::Document} in
|
58
|
+
# LayOut.
|
59
|
+
#
|
60
|
+
# @example
|
61
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
62
|
+
# layers = doc.layers
|
63
|
+
# layers.active = layers[0]
|
64
|
+
#
|
65
|
+
# @overload active=(layer)
|
66
|
+
#
|
67
|
+
# @param [Layout::Layer] layer The {Layout::Layer} to set as the initial one
|
68
|
+
# @return [Layout::Layer]
|
69
|
+
#
|
70
|
+
# @raise [ArgumentError] if layer does not belong to the {Layout::Document}
|
71
|
+
# @raise [ArgumentError] if layer is locked or hidden on the current
|
72
|
+
# {Layout::Page}
|
73
|
+
#
|
74
|
+
# @overload active=(index)
|
75
|
+
#
|
76
|
+
# @param [Integer] index The index of {Layout::Layer} the to set as the
|
77
|
+
# initial one
|
78
|
+
# @return [Layout::Layer]
|
79
|
+
#
|
80
|
+
# @raise [ArgumentError] if index is out of range
|
81
|
+
# @raise [ArgumentError] if the {Layout::Layer} is locked or hidden on the
|
82
|
+
# current {Layout::Page}
|
83
|
+
#
|
84
|
+
# @version LayOut 2018
|
85
|
+
def active=(layer)
|
86
|
+
end
|
87
|
+
|
88
|
+
# The {#add} method adds a new {Layout::Layer} to the {Layout::Document}.
|
89
|
+
# The newly added {Layout::Layer} will be the last one in the
|
90
|
+
# {Layout::Document}.
|
91
|
+
#
|
92
|
+
# @example
|
93
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
94
|
+
# new_layer = doc.layers.add
|
95
|
+
#
|
96
|
+
# @overload add(shared = false)
|
97
|
+
#
|
98
|
+
# @param [Boolean] shared +true+ to make the {Layout::Layer} shared, +false+
|
99
|
+
# for non-shared.
|
100
|
+
# @return [Layout::Layer] The newly added {Layout::Layer}.
|
101
|
+
#
|
102
|
+
# @overload add(name, shared = false)
|
103
|
+
#
|
104
|
+
# @param [String] name The name for the new layer.
|
105
|
+
# @param [Boolean] shared +true+ to make the {Layout::Layer} shared, +false+
|
106
|
+
# for non-shared.
|
107
|
+
# @return [Layout::Layer] The newly added {Layout::Layer}.
|
108
|
+
#
|
109
|
+
# @version LayOut 2018
|
110
|
+
def add(*args)
|
111
|
+
end
|
112
|
+
|
113
|
+
# The {#each} method iterates through all of the {Layout::Layer}s.
|
114
|
+
#
|
115
|
+
# @example
|
116
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
117
|
+
# layers = doc.layers
|
118
|
+
# layers.each { |layer|
|
119
|
+
# puts layer.name
|
120
|
+
# }
|
121
|
+
#
|
122
|
+
# @note Don't remove content from this collection while iterating over it with
|
123
|
+
# {#each}. This would change the size of the collection and cause elements to
|
124
|
+
# be skipped as the indices change. Instead copy the current collection to an
|
125
|
+
# array using +to_a+ and then use +each+ on the array, when removing content.
|
126
|
+
#
|
127
|
+
# @version LayOut 2018
|
128
|
+
#
|
129
|
+
# @yieldparam [Layout::Layer] layer
|
130
|
+
def each
|
131
|
+
end
|
132
|
+
|
133
|
+
# The {#index} method returns the index of the {Layout::Layer}, or +nil+ if
|
134
|
+
# it doesn't exist in the {Layout::Document}.
|
135
|
+
#
|
136
|
+
# @example
|
137
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
138
|
+
# layers = doc.layers
|
139
|
+
# layer_index = layers.index(layers.first) # Returns 0
|
140
|
+
#
|
141
|
+
# @param [Layout::Layer] layer
|
142
|
+
#
|
143
|
+
# @return [Integer, nil]
|
144
|
+
#
|
145
|
+
# @version LayOut 2018
|
146
|
+
def index(layer)
|
147
|
+
end
|
148
|
+
|
149
|
+
# The {#length} method returns the number of {Layout::Layer}s.
|
150
|
+
#
|
151
|
+
# @example
|
152
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
153
|
+
# layers = doc.layers
|
154
|
+
# num_layers = layers.length
|
155
|
+
#
|
156
|
+
# @return [Integer]
|
157
|
+
#
|
158
|
+
# @version LayOut 2018
|
159
|
+
def length
|
160
|
+
end
|
161
|
+
alias_method :size, :length
|
162
|
+
|
163
|
+
# The {#remove} method deletes the given {Layout::Layer} from the
|
164
|
+
# {Layout::Document}.
|
165
|
+
#
|
166
|
+
# @example
|
167
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
168
|
+
# layers = doc.layers
|
169
|
+
# layers.remove(layers[0])
|
170
|
+
#
|
171
|
+
# @overload remove(layer, delete_entities = false)
|
172
|
+
#
|
173
|
+
# @param [Layout::Layer] layer The {Layout::Layer} to be removed
|
174
|
+
# @param [Boolean] delete_entities Whether the {Layout::Entity}s on the
|
175
|
+
# deleted {Layout::Layer} should be deleted as well
|
176
|
+
#
|
177
|
+
# @raise [ArgumentError] if the {Layout::Layer} is not in the
|
178
|
+
# {Layout::Document}
|
179
|
+
# @raise [ArgumentError] if the {Layout::Layer} is the only one in the
|
180
|
+
# {Layout::Document}
|
181
|
+
#
|
182
|
+
# @overload remove(index, delete_entities = false)
|
183
|
+
#
|
184
|
+
# @param [Integer] index The index of the {Layout::Layer} to be removed
|
185
|
+
# @param [Boolean] delete_entities Whether the {Layout::Entity}s on the
|
186
|
+
# deleted {Layout::Layer} should be deleted as well
|
187
|
+
#
|
188
|
+
# @raise [IndexError] if index is out of range
|
189
|
+
# @raise [ArgumentError] if the {Layout::Layer} is the only one in the
|
190
|
+
# {Layout::Document}
|
191
|
+
#
|
192
|
+
# @version LayOut 2018
|
193
|
+
def remove(*args)
|
194
|
+
end
|
195
|
+
|
196
|
+
# The {#reorder} method moves a {Layout::Layer} to a different index
|
197
|
+
# within the {Layout::Document}'s list of layers. This will move the
|
198
|
+
# {Layout::Layer} such that its new index becomes new_index.
|
199
|
+
#
|
200
|
+
# @example
|
201
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
202
|
+
# layers = doc.layers
|
203
|
+
# layers.reorder(layers[1], 3)
|
204
|
+
#
|
205
|
+
# @overload reorder(layer, new_index)
|
206
|
+
#
|
207
|
+
# @param [Layout::Layer] layer The {Layout::Layer} to be reordered
|
208
|
+
# @param [Integer] new_index The index to put the {Layout::Layer} at
|
209
|
+
#
|
210
|
+
# @raise [ArgumentError] if the {Layout::Layer} is not in the
|
211
|
+
# {Layout::Document}
|
212
|
+
# @raise [IndexError] if new_index is out of range
|
213
|
+
#
|
214
|
+
# @overload reorder(index, new_index)
|
215
|
+
#
|
216
|
+
# @param [Integer] index The index of the {Layout::Layer} to be reordered
|
217
|
+
# @param [Integer] new_index The index to put the {Layout::Layer} at
|
218
|
+
#
|
219
|
+
# @raise [IndexError] if index or new_index are out of range
|
220
|
+
#
|
221
|
+
# @version LayOut 2018
|
222
|
+
def reorder(layer, new_index)
|
223
|
+
end
|
224
|
+
|
225
|
+
end
|
@@ -1,567 +1,567 @@
|
|
1
|
-
# Copyright:: Copyright 2020 Trimble Inc.
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# References a linear dimension entity. A {Layout::LinearDimension} is composed
|
5
|
-
# of the following sub-entities:
|
6
|
-
# - two 'extension lines' that connect to the {Layout::Entity} being
|
7
|
-
# dimensioned.
|
8
|
-
# - a 'dimension line' connecting the ends of the leaders. This may be
|
9
|
-
# represented by one or two {Layout::Path}s depending on appearance.
|
10
|
-
# - an optional 'leader line' that is used for small {Layout::LinearDimension}s.
|
11
|
-
# - a 'dimension text' that displays the {Layout::LinearDimension}'s text.
|
12
|
-
#
|
13
|
-
# There are six points that may be modified for a {Layout::LinearDimension}:
|
14
|
-
# - two 'connection points' that define the start and end of the
|
15
|
-
# {Layout::LinearDimension}.
|
16
|
-
# - two 'extent points' that define the start and end of the dimension line and
|
17
|
-
# are the ends of the two extension lines.
|
18
|
-
# - two 'offset points' that define the starting points of the extension lines.
|
19
|
-
#
|
20
|
-
# @version LayOut 2018
|
21
|
-
class Layout::LinearDimension < Layout::Entity
|
22
|
-
|
23
|
-
# Constants
|
24
|
-
|
25
|
-
LEADER_LINE_TYPE_BEZIER = nil # Stub value.
|
26
|
-
LEADER_LINE_TYPE_HIDDEN = nil # Stub value.
|
27
|
-
LEADER_LINE_TYPE_SINGLE_SEGMENT = nil # Stub value.
|
28
|
-
LEADER_LINE_TYPE_TWO_SEGMENT = nil # Stub value.
|
29
|
-
|
30
|
-
# Instance Methods
|
31
|
-
|
32
|
-
# The {#auto_scale=} method sets whether the scale for the
|
33
|
-
# {Layout::LinearDimension} is set automatically.
|
34
|
-
#
|
35
|
-
# @example
|
36
|
-
# start_point = Geom::Point2d.new(1, 1)
|
37
|
-
# end_point = Geom::Point2d.new(5, 5)
|
38
|
-
# height = 1.0
|
39
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
40
|
-
# dim.auto_scale = true
|
41
|
-
#
|
42
|
-
# @param [Boolean] uses_auto_scale
|
43
|
-
#
|
44
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
45
|
-
# {Layout::Layer}
|
46
|
-
#
|
47
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
48
|
-
#
|
49
|
-
# @version LayOut 2018
|
50
|
-
def auto_scale=(uses_auto_scale)
|
51
|
-
end
|
52
|
-
|
53
|
-
# The {#auto_scale?} method returns whether the scale for the
|
54
|
-
# {Layout::LinearDimension} is set automatically.
|
55
|
-
#
|
56
|
-
# @example
|
57
|
-
# start_point = Geom::Point2d.new(1, 1)
|
58
|
-
# end_point = Geom::Point2d.new(5, 5)
|
59
|
-
# height = 1.0
|
60
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
61
|
-
# uses_auto_scale = dim.auto_scale?
|
62
|
-
#
|
63
|
-
# @return [Boolean]
|
64
|
-
#
|
65
|
-
# @version LayOut 2018
|
66
|
-
def auto_scale?
|
67
|
-
end
|
68
|
-
|
69
|
-
# The {#connect} method connects the {Layout::LinearDimension} to one or two
|
70
|
-
# {Layout::Entity}s using the provided {Layout::ConnectionPoint}s. The
|
71
|
-
# {Layout::LinearDimension} must be in the same {Layout::Document} as the
|
72
|
-
# {Layout::Entity}s, and on the same {Layout::Page} if the {Layout::Entity}s
|
73
|
-
# are on non-shared {Layout::Layer}s.
|
74
|
-
#
|
75
|
-
# @example
|
76
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
77
|
-
# point_1 = Geom::Point2d.new(5, 7.5)
|
78
|
-
# point_2 = Geom::Point2d.new(8.5, 9)
|
79
|
-
# table = Layout::Rectangle.new([point_1, point_2])
|
80
|
-
# doc.add_entity(table,
|
81
|
-
# start_point = Layout::ConnectionPoint.new(table, point_1)
|
82
|
-
# end_point = Layout::ConnectionPoint.new(table, point_2)
|
83
|
-
# height = 1.0
|
84
|
-
# dim = Layout::LinearDimension.new(Geom::Point2d.new(1, 1),
|
85
|
-
# Geom::Point2d.new(5, 5), height)
|
86
|
-
# dim.connect(start_point, end_point)
|
87
|
-
#
|
88
|
-
# @param [Layout::ConnectionPoint] start_connection
|
89
|
-
#
|
90
|
-
# @param [Layout::ConnectionPoint] end_connection
|
91
|
-
#
|
92
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
93
|
-
# {Layout::Layer}
|
94
|
-
#
|
95
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
96
|
-
#
|
97
|
-
# @version LayOut 2018
|
98
|
-
def connect(start_connection, end_connection)
|
99
|
-
end
|
100
|
-
|
101
|
-
# The {#custom_text=} method sets whether the {Layout::LinearDimension} uses
|
102
|
-
# custom text. When +true+, the {Layout::LinearDimension} will display a custom
|
103
|
-
# string that doesn't change. When +false+, it will display the length
|
104
|
-
# measurement and will update automatically.
|
105
|
-
#
|
106
|
-
# @example
|
107
|
-
# start_point = Geom::Point2d.new(1, 1)
|
108
|
-
# end_point = Geom::Point2d.new(5, 5)
|
109
|
-
# height = 1.0
|
110
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
111
|
-
# dim.custom_text = true
|
112
|
-
#
|
113
|
-
# @param [Boolean] uses_custom_text
|
114
|
-
#
|
115
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
116
|
-
# {Layout::Layer}
|
117
|
-
#
|
118
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
119
|
-
#
|
120
|
-
# @version LayOut 2018
|
121
|
-
def custom_text=(uses_custom_text)
|
122
|
-
end
|
123
|
-
|
124
|
-
# The {#custom_text?} method returns whether the {Layout::LinearDimension}
|
125
|
-
# uses custom text. When +true+, the {Layout::LinearDimension} will display a
|
126
|
-
# custom string that doesn't change. When +false+, it will display the length
|
127
|
-
# measurement and will update automatically.
|
128
|
-
#
|
129
|
-
# @example
|
130
|
-
# start_point = Geom::Point2d.new(1, 1)
|
131
|
-
# end_point = Geom::Point2d.new(5, 5)
|
132
|
-
# height = 1.0
|
133
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
134
|
-
# # returns false
|
135
|
-
# uses_custom_text = dim.custom_text?
|
136
|
-
#
|
137
|
-
# @return [Boolean]
|
138
|
-
#
|
139
|
-
# @version LayOut 2018
|
140
|
-
def custom_text?
|
141
|
-
end
|
142
|
-
|
143
|
-
# The {#disconnect} method disconnects the {Layout::LinearDimension} from its
|
144
|
-
# {Layout::ConnectionPoint}s. The dimension will not be adjusted by
|
145
|
-
# disconnecting from its {Layout::ConnectionPoint}s.
|
146
|
-
#
|
147
|
-
# @example
|
148
|
-
# start_point = Geom::Point2d.new(1, 1)
|
149
|
-
# end_point = Geom::Point2d.new(5, 5)
|
150
|
-
# height = 1.0
|
151
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
152
|
-
# dim.disconnect
|
153
|
-
#
|
154
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
155
|
-
# {Layout::Layer}
|
156
|
-
#
|
157
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
158
|
-
#
|
159
|
-
# @version LayOut 2018
|
160
|
-
def disconnect
|
161
|
-
end
|
162
|
-
|
163
|
-
# The {#end_connection_point} method returns the paper space location for the
|
164
|
-
# second connection.
|
165
|
-
#
|
166
|
-
# @example
|
167
|
-
# start_point = Geom::Point2d.new(1, 1)
|
168
|
-
# end_point = Geom::Point2d.new(5, 5)
|
169
|
-
# height = 1.0
|
170
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
171
|
-
# end_connection = dim.end_connection_point
|
172
|
-
#
|
173
|
-
# @return [Geom::Point2d]
|
174
|
-
#
|
175
|
-
# @version LayOut 2018
|
176
|
-
def end_connection_point
|
177
|
-
end
|
178
|
-
|
179
|
-
# The {#end_connection_point=} method sets the paper space location for the
|
180
|
-
# second connection.
|
181
|
-
#
|
182
|
-
# @example
|
183
|
-
# start_point = Geom::Point2d.new(1, 1)
|
184
|
-
# end_point = Geom::Point2d.new(5, 5)
|
185
|
-
# height = 1.0
|
186
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
187
|
-
# dim.end_connection_point = Geom::Point2d.new(6, 6)
|
188
|
-
#
|
189
|
-
# @param [Geom::Point2d] end_point
|
190
|
-
#
|
191
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
192
|
-
# {Layout::Layer}
|
193
|
-
#
|
194
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
195
|
-
#
|
196
|
-
# @version LayOut 2018
|
197
|
-
def end_connection_point=(end_point)
|
198
|
-
end
|
199
|
-
|
200
|
-
# The {#end_extent_point} method returns the paper space location for the
|
201
|
-
# end of the dimension line.
|
202
|
-
#
|
203
|
-
# @example
|
204
|
-
# start_point = Geom::Point2d.new(1, 1)
|
205
|
-
# end_point = Geom::Point2d.new(5, 5)
|
206
|
-
# height = 1.0
|
207
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
208
|
-
# end_ext_point = dim.end_extent_point
|
209
|
-
#
|
210
|
-
# @return [Geom::Point2d] end_extent
|
211
|
-
#
|
212
|
-
# @version LayOut 2018
|
213
|
-
def end_extent_point
|
214
|
-
end
|
215
|
-
|
216
|
-
# The {#end_extent_point=} method sets the paper space location for the
|
217
|
-
# end of the dimension line.
|
218
|
-
#
|
219
|
-
# @example
|
220
|
-
# start_point = Geom::Point2d.new(1, 1)
|
221
|
-
# end_point = Geom::Point2d.new(5, 5)
|
222
|
-
# height = 1.0
|
223
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
224
|
-
# end_ext_point = Geom::Point2d.new(5, 6)
|
225
|
-
# dim.end_extent_point = end_ext_point
|
226
|
-
#
|
227
|
-
# @param [Geom::Point2d] end_extent
|
228
|
-
#
|
229
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
230
|
-
# {Layout::Layer}
|
231
|
-
#
|
232
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
233
|
-
#
|
234
|
-
# @version LayOut 2018
|
235
|
-
def end_extent_point=(end_extent)
|
236
|
-
end
|
237
|
-
|
238
|
-
# The {#end_offset_length=} method sets the length of the offset from the
|
239
|
-
# second {Layout::ConnectionPoint} to the start of the second extension line.
|
240
|
-
# The {Layout::ConnectionPoint} and extent point will not move.
|
241
|
-
#
|
242
|
-
# @example
|
243
|
-
# start_point = Geom::Point2d.new(1, 1)
|
244
|
-
# end_point = Geom::Point2d.new(5, 5)
|
245
|
-
# height = 1.0
|
246
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
247
|
-
# end_ext_point = Geom::Point2d.new(5, 6)
|
248
|
-
# dim.end_offset_length = 0.5
|
249
|
-
#
|
250
|
-
# @param [Numeric] offset_length
|
251
|
-
#
|
252
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
253
|
-
# {Layout::Layer}
|
254
|
-
#
|
255
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
256
|
-
#
|
257
|
-
# @version LayOut 2018
|
258
|
-
def end_offset_length=(offset_length)
|
259
|
-
end
|
260
|
-
|
261
|
-
# The {#end_offset_point} method returns the paper space location for the
|
262
|
-
# end of the first extension line. The first extension line runs from this
|
263
|
-
# offset point to the end extent point.
|
264
|
-
#
|
265
|
-
# @example
|
266
|
-
# start_point = Geom::Point2d.new(1, 1)
|
267
|
-
# end_point = Geom::Point2d.new(5, 5)
|
268
|
-
# height = 1.0
|
269
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
270
|
-
# end_offset = dim.end_offset_point
|
271
|
-
#
|
272
|
-
# @return [Geom::Point2d] end_offset
|
273
|
-
#
|
274
|
-
# @version LayOut 2018
|
275
|
-
def end_offset_point
|
276
|
-
end
|
277
|
-
|
278
|
-
# The {#entities} method returns the {Layout::Entities} that represent the
|
279
|
-
# {Layout::LinearDimension} in its exploded form. Depending on the appearance
|
280
|
-
# of the {Layout::LinearDimension}, this may return anywhere from four to six
|
281
|
-
# {Layout::Entity}s: start extension line, end extension line, one or two
|
282
|
-
# dimension lines, dimension text, and optionally the leader line.
|
283
|
-
#
|
284
|
-
# @example
|
285
|
-
# start_point = Geom::Point2d.new(1, 1)
|
286
|
-
# end_point = Geom::Point2d.new(5, 5)
|
287
|
-
# height = 1.0
|
288
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
289
|
-
# entites = dim.entities
|
290
|
-
#
|
291
|
-
# @return [Layout::Entities]
|
292
|
-
#
|
293
|
-
# @version LayOut 2018
|
294
|
-
def entities
|
295
|
-
end
|
296
|
-
|
297
|
-
# The {#initialize} method creates a new disconnected {Layout::LinearDimension}.
|
298
|
-
#
|
299
|
-
# @example
|
300
|
-
# start_point = Geom::Point2d.new(1, 1)
|
301
|
-
# end_point = Geom::Point2d.new(5, 5)
|
302
|
-
# height = 1.0
|
303
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
304
|
-
#
|
305
|
-
# @param [Geom::Point2d] start_point
|
306
|
-
#
|
307
|
-
# @param [Geom::Point2d] end_point
|
308
|
-
#
|
309
|
-
# @param [Numeric] height
|
310
|
-
# Distance from the start and end points to the
|
311
|
-
# dimension line
|
312
|
-
#
|
313
|
-
# @return [Layout::LinearDimension]
|
314
|
-
#
|
315
|
-
# @version LayOut 2018
|
316
|
-
def initialize(start_point, end_point, height)
|
317
|
-
end
|
318
|
-
|
319
|
-
# The {#leader_line_type} method returns the type of leader line the
|
320
|
-
# {Layout::LinearDimension} is using.
|
321
|
-
#
|
322
|
-
# The leader line type can be one of the following:
|
323
|
-
# [+Layout::LinearDimension::LEADER_LINE_TYPE_SINGLE_SEGMENT+]
|
324
|
-
# [+Layout::LinearDimension::LEADER_LINE_TYPE_TWO_SEGMENT+]
|
325
|
-
# [+Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER+]
|
326
|
-
# [+Layout::LinearDimension::LEADER_LINE_TYPE_HIDDEN+]
|
327
|
-
#
|
328
|
-
# @example
|
329
|
-
# start_point = Geom::Point2d.new(1, 1)
|
330
|
-
# end_point = Geom::Point2d.new(5, 5)
|
331
|
-
# height = 1.0
|
332
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
333
|
-
# type = dim.leader_line_type
|
334
|
-
#
|
335
|
-
# @return [Integer]
|
336
|
-
#
|
337
|
-
# @version LayOut 2018
|
338
|
-
def leader_line_type
|
339
|
-
end
|
340
|
-
|
341
|
-
# The {#leader_line_type=} method sets the type of leader line the
|
342
|
-
# {Layout::LinearDimension} is using.
|
343
|
-
#
|
344
|
-
# The leader line type can be one of the following:
|
345
|
-
# [+Layout::LinearDimension::LEADER_LINE_TYPE_SINGLE_SEGMENT+]
|
346
|
-
# [+Layout::LinearDimension::LEADER_LINE_TYPE_TWO_SEGMENT+]
|
347
|
-
# [+Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER+]
|
348
|
-
# [+Layout::LinearDimension::LEADER_LINE_TYPE_HIDDEN+]
|
349
|
-
#
|
350
|
-
# @example
|
351
|
-
# start_point = Geom::Point2d.new(1, 1)
|
352
|
-
# end_point = Geom::Point2d.new(5, 5)
|
353
|
-
# height = 1.0
|
354
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
355
|
-
# dim.leader_line_type = Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER
|
356
|
-
#
|
357
|
-
# @param [Integer] type
|
358
|
-
# The leader line type
|
359
|
-
#
|
360
|
-
# @raise [ArgumentError] if leader_line_type is not a valid leader line type
|
361
|
-
#
|
362
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
363
|
-
# {Layout::Layer}
|
364
|
-
#
|
365
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
366
|
-
#
|
367
|
-
# @version LayOut 2018
|
368
|
-
def leader_line_type=(type)
|
369
|
-
end
|
370
|
-
|
371
|
-
# The {#scale} method returns the scale being used for the
|
372
|
-
# {Layout::LinearDimension}.
|
373
|
-
#
|
374
|
-
# @example
|
375
|
-
# start_point = Geom::Point2d.new(1, 1)
|
376
|
-
# end_point = Geom::Point2d.new(5, 5)
|
377
|
-
# height = 1.0
|
378
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
379
|
-
# scale = dim.scale
|
380
|
-
#
|
381
|
-
# @return [Numeric] scale
|
382
|
-
#
|
383
|
-
# @version LayOut 2018
|
384
|
-
def scale
|
385
|
-
end
|
386
|
-
|
387
|
-
# The {#scale=} method sets the scale being used for the
|
388
|
-
# {Layout::LinearDimension}.
|
389
|
-
#
|
390
|
-
# @example
|
391
|
-
# start_point = Geom::Point2d.new(1, 1)
|
392
|
-
# end_point = Geom::Point2d.new(5, 5)
|
393
|
-
# height = 1.0
|
394
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
395
|
-
# dim.scale = 1.5
|
396
|
-
#
|
397
|
-
# @param [Numeric] scale
|
398
|
-
#
|
399
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
400
|
-
# {Layout::Layer}
|
401
|
-
#
|
402
|
-
# @raise [ArgumentError] if scale is negative, or greater than 1.0
|
403
|
-
#
|
404
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
405
|
-
#
|
406
|
-
# @version LayOut 2018
|
407
|
-
def scale=(scale)
|
408
|
-
end
|
409
|
-
|
410
|
-
# The {#start_connection_point} method returns the paper space location for the
|
411
|
-
# first connection.
|
412
|
-
#
|
413
|
-
# @example
|
414
|
-
# start_point = Geom::Point2d.new(1, 1)
|
415
|
-
# end_point = Geom::Point2d.new(5, 5)
|
416
|
-
# height = 1.0
|
417
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
418
|
-
# start_connection = dim.start_connection_point
|
419
|
-
#
|
420
|
-
# @return [Geom::Point2d]
|
421
|
-
#
|
422
|
-
# @version LayOut 2018
|
423
|
-
def start_connection_point
|
424
|
-
end
|
425
|
-
|
426
|
-
# The {#start_connection_point=} method sets the paper space location for the
|
427
|
-
# first connection.
|
428
|
-
#
|
429
|
-
# @example
|
430
|
-
# start_point = Geom::Point2d.new(1, 1)
|
431
|
-
# end_point = Geom::Point2d.new(5, 5)
|
432
|
-
# height = 1.0
|
433
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
434
|
-
# dim.start_connection_point = Geom::Point2d.new(2, 2)
|
435
|
-
#
|
436
|
-
# @param [Geom::Point2d] start_point
|
437
|
-
#
|
438
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
439
|
-
# {Layout::Layer}
|
440
|
-
#
|
441
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
442
|
-
#
|
443
|
-
# @version LayOut 2018
|
444
|
-
def start_connection_point=(start_point)
|
445
|
-
end
|
446
|
-
|
447
|
-
# The {#start_extent_point} method returns the paper space location for the
|
448
|
-
# start of the dimension line.
|
449
|
-
#
|
450
|
-
# @example
|
451
|
-
# start_point = Geom::Point2d.new(1, 1)
|
452
|
-
# end_point = Geom::Point2d.new(5, 5)
|
453
|
-
# height = 1.0
|
454
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
455
|
-
# start_ext_point = dim.start_extent_point
|
456
|
-
#
|
457
|
-
# @return [Geom::Point2d] start_extent
|
458
|
-
#
|
459
|
-
# @version LayOut 2018
|
460
|
-
def start_extent_point
|
461
|
-
end
|
462
|
-
|
463
|
-
# The {#start_extent_point=} method sets the paper space location for the
|
464
|
-
# start of the dimension line.
|
465
|
-
#
|
466
|
-
# @example
|
467
|
-
# start_point = Geom::Point2d.new(1, 1)
|
468
|
-
# end_point = Geom::Point2d.new(5, 5)
|
469
|
-
# height = 1.0
|
470
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
471
|
-
# start_ext_point = Geom::Point2d.new(2, 3)
|
472
|
-
# dim.start_extent_point = start_ext_point
|
473
|
-
#
|
474
|
-
# @param [Geom::Point2d] start_extent
|
475
|
-
#
|
476
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
477
|
-
# {Layout::Layer}
|
478
|
-
#
|
479
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
480
|
-
#
|
481
|
-
# @version LayOut 2018
|
482
|
-
def start_extent_point=(start_extent)
|
483
|
-
end
|
484
|
-
|
485
|
-
# The {#start_offset_length=} method sets the length of the offset from the
|
486
|
-
# first {Layout::ConnectionPoint} to the start of the first extension line. The
|
487
|
-
# {Layout::ConnectionPoint} and extent point will not move.
|
488
|
-
#
|
489
|
-
# @example
|
490
|
-
# start_point = Geom::Point2d.new(1, 1)
|
491
|
-
# end_point = Geom::Point2d.new(5, 5)
|
492
|
-
# height = 1.0
|
493
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
494
|
-
# end_ext_point = Geom::Point2d.new(5, 6)
|
495
|
-
# dim.start_offset_length = 0.5
|
496
|
-
#
|
497
|
-
# @param [Numeric] offset_length
|
498
|
-
#
|
499
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
500
|
-
# {Layout::Layer}
|
501
|
-
#
|
502
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
503
|
-
#
|
504
|
-
# @version LayOut 2018
|
505
|
-
def start_offset_length=(offset_length)
|
506
|
-
end
|
507
|
-
|
508
|
-
# The {#start_offset_point} method returns the paper space location for the
|
509
|
-
# start of the first extension line. The first extension line runs from this
|
510
|
-
# offset point to the start extent point.
|
511
|
-
#
|
512
|
-
# @example
|
513
|
-
# start_point = Geom::Point2d.new(1, 1)
|
514
|
-
# end_point = Geom::Point2d.new(5, 5)
|
515
|
-
# height = 1.0
|
516
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
517
|
-
# start_offset = dim.start_offset_point
|
518
|
-
#
|
519
|
-
# @return [Geom::Point2d] start_offset
|
520
|
-
#
|
521
|
-
# @version LayOut 2018
|
522
|
-
def start_offset_point
|
523
|
-
end
|
524
|
-
|
525
|
-
# The {#text} method returns a copy of the {Layout::LinearDimension}'s
|
526
|
-
# {Layout::FormattedText}.
|
527
|
-
#
|
528
|
-
# @example
|
529
|
-
# start_point = Geom::Point2d.new(1, 1)
|
530
|
-
# end_point = Geom::Point2d.new(5, 5)
|
531
|
-
# height = 1.0
|
532
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
533
|
-
# text = dim.text
|
534
|
-
#
|
535
|
-
# @note With the addition of auto-text in dimensions for LayOut 2019.2, the
|
536
|
-
# copy of the dimension text incorrectly provided the plain text when
|
537
|
-
# requesting the display text. This has been fixed for LayOut 2020.1.
|
538
|
-
#
|
539
|
-
# @return [Layout::FormattedText]
|
540
|
-
#
|
541
|
-
# @version LayOut 2018
|
542
|
-
def text
|
543
|
-
end
|
544
|
-
|
545
|
-
# The {#text=} method sets the {Layout::LinearDimension}'s
|
546
|
-
# {Layout::FormattedText}.
|
547
|
-
#
|
548
|
-
# @example
|
549
|
-
# start_point = Geom::Point2d.new(1, 1)
|
550
|
-
# end_point = Geom::Point2d.new(5, 5)
|
551
|
-
# height = 1.0
|
552
|
-
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
553
|
-
# anchor_type = Layout::FormattedText::ANCHOR_TYPE_TOP_LEFT
|
554
|
-
# dim.text = Layout::FormattedText.new("Hello LayOut", start_point, anchor_type)
|
555
|
-
#
|
556
|
-
# @param [Layout::FormattedText] formatted_text
|
557
|
-
#
|
558
|
-
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
559
|
-
# {Layout::Layer}
|
560
|
-
#
|
561
|
-
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
562
|
-
#
|
563
|
-
# @version LayOut 2018
|
564
|
-
def text=(formatted_text)
|
565
|
-
end
|
566
|
-
|
567
|
-
end
|
1
|
+
# Copyright:: Copyright 2020 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# References a linear dimension entity. A {Layout::LinearDimension} is composed
|
5
|
+
# of the following sub-entities:
|
6
|
+
# - two 'extension lines' that connect to the {Layout::Entity} being
|
7
|
+
# dimensioned.
|
8
|
+
# - a 'dimension line' connecting the ends of the leaders. This may be
|
9
|
+
# represented by one or two {Layout::Path}s depending on appearance.
|
10
|
+
# - an optional 'leader line' that is used for small {Layout::LinearDimension}s.
|
11
|
+
# - a 'dimension text' that displays the {Layout::LinearDimension}'s text.
|
12
|
+
#
|
13
|
+
# There are six points that may be modified for a {Layout::LinearDimension}:
|
14
|
+
# - two 'connection points' that define the start and end of the
|
15
|
+
# {Layout::LinearDimension}.
|
16
|
+
# - two 'extent points' that define the start and end of the dimension line and
|
17
|
+
# are the ends of the two extension lines.
|
18
|
+
# - two 'offset points' that define the starting points of the extension lines.
|
19
|
+
#
|
20
|
+
# @version LayOut 2018
|
21
|
+
class Layout::LinearDimension < Layout::Entity
|
22
|
+
|
23
|
+
# Constants
|
24
|
+
|
25
|
+
LEADER_LINE_TYPE_BEZIER = nil # Stub value.
|
26
|
+
LEADER_LINE_TYPE_HIDDEN = nil # Stub value.
|
27
|
+
LEADER_LINE_TYPE_SINGLE_SEGMENT = nil # Stub value.
|
28
|
+
LEADER_LINE_TYPE_TWO_SEGMENT = nil # Stub value.
|
29
|
+
|
30
|
+
# Instance Methods
|
31
|
+
|
32
|
+
# The {#auto_scale=} method sets whether the scale for the
|
33
|
+
# {Layout::LinearDimension} is set automatically.
|
34
|
+
#
|
35
|
+
# @example
|
36
|
+
# start_point = Geom::Point2d.new(1, 1)
|
37
|
+
# end_point = Geom::Point2d.new(5, 5)
|
38
|
+
# height = 1.0
|
39
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
40
|
+
# dim.auto_scale = true
|
41
|
+
#
|
42
|
+
# @param [Boolean] uses_auto_scale
|
43
|
+
#
|
44
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
45
|
+
# {Layout::Layer}
|
46
|
+
#
|
47
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
48
|
+
#
|
49
|
+
# @version LayOut 2018
|
50
|
+
def auto_scale=(uses_auto_scale)
|
51
|
+
end
|
52
|
+
|
53
|
+
# The {#auto_scale?} method returns whether the scale for the
|
54
|
+
# {Layout::LinearDimension} is set automatically.
|
55
|
+
#
|
56
|
+
# @example
|
57
|
+
# start_point = Geom::Point2d.new(1, 1)
|
58
|
+
# end_point = Geom::Point2d.new(5, 5)
|
59
|
+
# height = 1.0
|
60
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
61
|
+
# uses_auto_scale = dim.auto_scale?
|
62
|
+
#
|
63
|
+
# @return [Boolean]
|
64
|
+
#
|
65
|
+
# @version LayOut 2018
|
66
|
+
def auto_scale?
|
67
|
+
end
|
68
|
+
|
69
|
+
# The {#connect} method connects the {Layout::LinearDimension} to one or two
|
70
|
+
# {Layout::Entity}s using the provided {Layout::ConnectionPoint}s. The
|
71
|
+
# {Layout::LinearDimension} must be in the same {Layout::Document} as the
|
72
|
+
# {Layout::Entity}s, and on the same {Layout::Page} if the {Layout::Entity}s
|
73
|
+
# are on non-shared {Layout::Layer}s.
|
74
|
+
#
|
75
|
+
# @example
|
76
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
77
|
+
# point_1 = Geom::Point2d.new(5, 7.5)
|
78
|
+
# point_2 = Geom::Point2d.new(8.5, 9)
|
79
|
+
# table = Layout::Rectangle.new([point_1, point_2])
|
80
|
+
# doc.add_entity(table, doc.layers.first, doc.pages.first)
|
81
|
+
# start_point = Layout::ConnectionPoint.new(table, point_1)
|
82
|
+
# end_point = Layout::ConnectionPoint.new(table, point_2)
|
83
|
+
# height = 1.0
|
84
|
+
# dim = Layout::LinearDimension.new(Geom::Point2d.new(1, 1),
|
85
|
+
# Geom::Point2d.new(5, 5), height)
|
86
|
+
# dim.connect(start_point, end_point)
|
87
|
+
#
|
88
|
+
# @param [Layout::ConnectionPoint] start_connection
|
89
|
+
#
|
90
|
+
# @param [Layout::ConnectionPoint] end_connection
|
91
|
+
#
|
92
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
93
|
+
# {Layout::Layer}
|
94
|
+
#
|
95
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
96
|
+
#
|
97
|
+
# @version LayOut 2018
|
98
|
+
def connect(start_connection, end_connection)
|
99
|
+
end
|
100
|
+
|
101
|
+
# The {#custom_text=} method sets whether the {Layout::LinearDimension} uses
|
102
|
+
# custom text. When +true+, the {Layout::LinearDimension} will display a custom
|
103
|
+
# string that doesn't change. When +false+, it will display the length
|
104
|
+
# measurement and will update automatically.
|
105
|
+
#
|
106
|
+
# @example
|
107
|
+
# start_point = Geom::Point2d.new(1, 1)
|
108
|
+
# end_point = Geom::Point2d.new(5, 5)
|
109
|
+
# height = 1.0
|
110
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
111
|
+
# dim.custom_text = true
|
112
|
+
#
|
113
|
+
# @param [Boolean] uses_custom_text
|
114
|
+
#
|
115
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
116
|
+
# {Layout::Layer}
|
117
|
+
#
|
118
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
119
|
+
#
|
120
|
+
# @version LayOut 2018
|
121
|
+
def custom_text=(uses_custom_text)
|
122
|
+
end
|
123
|
+
|
124
|
+
# The {#custom_text?} method returns whether the {Layout::LinearDimension}
|
125
|
+
# uses custom text. When +true+, the {Layout::LinearDimension} will display a
|
126
|
+
# custom string that doesn't change. When +false+, it will display the length
|
127
|
+
# measurement and will update automatically.
|
128
|
+
#
|
129
|
+
# @example
|
130
|
+
# start_point = Geom::Point2d.new(1, 1)
|
131
|
+
# end_point = Geom::Point2d.new(5, 5)
|
132
|
+
# height = 1.0
|
133
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
134
|
+
# # returns false
|
135
|
+
# uses_custom_text = dim.custom_text?
|
136
|
+
#
|
137
|
+
# @return [Boolean]
|
138
|
+
#
|
139
|
+
# @version LayOut 2018
|
140
|
+
def custom_text?
|
141
|
+
end
|
142
|
+
|
143
|
+
# The {#disconnect} method disconnects the {Layout::LinearDimension} from its
|
144
|
+
# {Layout::ConnectionPoint}s. The dimension will not be adjusted by
|
145
|
+
# disconnecting from its {Layout::ConnectionPoint}s.
|
146
|
+
#
|
147
|
+
# @example
|
148
|
+
# start_point = Geom::Point2d.new(1, 1)
|
149
|
+
# end_point = Geom::Point2d.new(5, 5)
|
150
|
+
# height = 1.0
|
151
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
152
|
+
# dim.disconnect
|
153
|
+
#
|
154
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
155
|
+
# {Layout::Layer}
|
156
|
+
#
|
157
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
158
|
+
#
|
159
|
+
# @version LayOut 2018
|
160
|
+
def disconnect
|
161
|
+
end
|
162
|
+
|
163
|
+
# The {#end_connection_point} method returns the paper space location for the
|
164
|
+
# second connection.
|
165
|
+
#
|
166
|
+
# @example
|
167
|
+
# start_point = Geom::Point2d.new(1, 1)
|
168
|
+
# end_point = Geom::Point2d.new(5, 5)
|
169
|
+
# height = 1.0
|
170
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
171
|
+
# end_connection = dim.end_connection_point
|
172
|
+
#
|
173
|
+
# @return [Geom::Point2d]
|
174
|
+
#
|
175
|
+
# @version LayOut 2018
|
176
|
+
def end_connection_point
|
177
|
+
end
|
178
|
+
|
179
|
+
# The {#end_connection_point=} method sets the paper space location for the
|
180
|
+
# second connection.
|
181
|
+
#
|
182
|
+
# @example
|
183
|
+
# start_point = Geom::Point2d.new(1, 1)
|
184
|
+
# end_point = Geom::Point2d.new(5, 5)
|
185
|
+
# height = 1.0
|
186
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
187
|
+
# dim.end_connection_point = Geom::Point2d.new(6, 6)
|
188
|
+
#
|
189
|
+
# @param [Geom::Point2d] end_point
|
190
|
+
#
|
191
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
192
|
+
# {Layout::Layer}
|
193
|
+
#
|
194
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
195
|
+
#
|
196
|
+
# @version LayOut 2018
|
197
|
+
def end_connection_point=(end_point)
|
198
|
+
end
|
199
|
+
|
200
|
+
# The {#end_extent_point} method returns the paper space location for the
|
201
|
+
# end of the dimension line.
|
202
|
+
#
|
203
|
+
# @example
|
204
|
+
# start_point = Geom::Point2d.new(1, 1)
|
205
|
+
# end_point = Geom::Point2d.new(5, 5)
|
206
|
+
# height = 1.0
|
207
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
208
|
+
# end_ext_point = dim.end_extent_point
|
209
|
+
#
|
210
|
+
# @return [Geom::Point2d] end_extent
|
211
|
+
#
|
212
|
+
# @version LayOut 2018
|
213
|
+
def end_extent_point
|
214
|
+
end
|
215
|
+
|
216
|
+
# The {#end_extent_point=} method sets the paper space location for the
|
217
|
+
# end of the dimension line.
|
218
|
+
#
|
219
|
+
# @example
|
220
|
+
# start_point = Geom::Point2d.new(1, 1)
|
221
|
+
# end_point = Geom::Point2d.new(5, 5)
|
222
|
+
# height = 1.0
|
223
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
224
|
+
# end_ext_point = Geom::Point2d.new(5, 6)
|
225
|
+
# dim.end_extent_point = end_ext_point
|
226
|
+
#
|
227
|
+
# @param [Geom::Point2d] end_extent
|
228
|
+
#
|
229
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
230
|
+
# {Layout::Layer}
|
231
|
+
#
|
232
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
233
|
+
#
|
234
|
+
# @version LayOut 2018
|
235
|
+
def end_extent_point=(end_extent)
|
236
|
+
end
|
237
|
+
|
238
|
+
# The {#end_offset_length=} method sets the length of the offset from the
|
239
|
+
# second {Layout::ConnectionPoint} to the start of the second extension line.
|
240
|
+
# The {Layout::ConnectionPoint} and extent point will not move.
|
241
|
+
#
|
242
|
+
# @example
|
243
|
+
# start_point = Geom::Point2d.new(1, 1)
|
244
|
+
# end_point = Geom::Point2d.new(5, 5)
|
245
|
+
# height = 1.0
|
246
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
247
|
+
# end_ext_point = Geom::Point2d.new(5, 6)
|
248
|
+
# dim.end_offset_length = 0.5
|
249
|
+
#
|
250
|
+
# @param [Numeric] offset_length
|
251
|
+
#
|
252
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
253
|
+
# {Layout::Layer}
|
254
|
+
#
|
255
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
256
|
+
#
|
257
|
+
# @version LayOut 2018
|
258
|
+
def end_offset_length=(offset_length)
|
259
|
+
end
|
260
|
+
|
261
|
+
# The {#end_offset_point} method returns the paper space location for the
|
262
|
+
# end of the first extension line. The first extension line runs from this
|
263
|
+
# offset point to the end extent point.
|
264
|
+
#
|
265
|
+
# @example
|
266
|
+
# start_point = Geom::Point2d.new(1, 1)
|
267
|
+
# end_point = Geom::Point2d.new(5, 5)
|
268
|
+
# height = 1.0
|
269
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
270
|
+
# end_offset = dim.end_offset_point
|
271
|
+
#
|
272
|
+
# @return [Geom::Point2d] end_offset
|
273
|
+
#
|
274
|
+
# @version LayOut 2018
|
275
|
+
def end_offset_point
|
276
|
+
end
|
277
|
+
|
278
|
+
# The {#entities} method returns the {Layout::Entities} that represent the
|
279
|
+
# {Layout::LinearDimension} in its exploded form. Depending on the appearance
|
280
|
+
# of the {Layout::LinearDimension}, this may return anywhere from four to six
|
281
|
+
# {Layout::Entity}s: start extension line, end extension line, one or two
|
282
|
+
# dimension lines, dimension text, and optionally the leader line.
|
283
|
+
#
|
284
|
+
# @example
|
285
|
+
# start_point = Geom::Point2d.new(1, 1)
|
286
|
+
# end_point = Geom::Point2d.new(5, 5)
|
287
|
+
# height = 1.0
|
288
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
289
|
+
# entites = dim.entities
|
290
|
+
#
|
291
|
+
# @return [Layout::Entities]
|
292
|
+
#
|
293
|
+
# @version LayOut 2018
|
294
|
+
def entities
|
295
|
+
end
|
296
|
+
|
297
|
+
# The {#initialize} method creates a new disconnected {Layout::LinearDimension}.
|
298
|
+
#
|
299
|
+
# @example
|
300
|
+
# start_point = Geom::Point2d.new(1, 1)
|
301
|
+
# end_point = Geom::Point2d.new(5, 5)
|
302
|
+
# height = 1.0
|
303
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
304
|
+
#
|
305
|
+
# @param [Geom::Point2d] start_point
|
306
|
+
#
|
307
|
+
# @param [Geom::Point2d] end_point
|
308
|
+
#
|
309
|
+
# @param [Numeric] height
|
310
|
+
# Distance from the start and end points to the
|
311
|
+
# dimension line
|
312
|
+
#
|
313
|
+
# @return [Layout::LinearDimension]
|
314
|
+
#
|
315
|
+
# @version LayOut 2018
|
316
|
+
def initialize(start_point, end_point, height)
|
317
|
+
end
|
318
|
+
|
319
|
+
# The {#leader_line_type} method returns the type of leader line the
|
320
|
+
# {Layout::LinearDimension} is using.
|
321
|
+
#
|
322
|
+
# The leader line type can be one of the following:
|
323
|
+
# [+Layout::LinearDimension::LEADER_LINE_TYPE_SINGLE_SEGMENT+]
|
324
|
+
# [+Layout::LinearDimension::LEADER_LINE_TYPE_TWO_SEGMENT+]
|
325
|
+
# [+Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER+]
|
326
|
+
# [+Layout::LinearDimension::LEADER_LINE_TYPE_HIDDEN+]
|
327
|
+
#
|
328
|
+
# @example
|
329
|
+
# start_point = Geom::Point2d.new(1, 1)
|
330
|
+
# end_point = Geom::Point2d.new(5, 5)
|
331
|
+
# height = 1.0
|
332
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
333
|
+
# type = dim.leader_line_type
|
334
|
+
#
|
335
|
+
# @return [Integer]
|
336
|
+
#
|
337
|
+
# @version LayOut 2018
|
338
|
+
def leader_line_type
|
339
|
+
end
|
340
|
+
|
341
|
+
# The {#leader_line_type=} method sets the type of leader line the
|
342
|
+
# {Layout::LinearDimension} is using.
|
343
|
+
#
|
344
|
+
# The leader line type can be one of the following:
|
345
|
+
# [+Layout::LinearDimension::LEADER_LINE_TYPE_SINGLE_SEGMENT+]
|
346
|
+
# [+Layout::LinearDimension::LEADER_LINE_TYPE_TWO_SEGMENT+]
|
347
|
+
# [+Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER+]
|
348
|
+
# [+Layout::LinearDimension::LEADER_LINE_TYPE_HIDDEN+]
|
349
|
+
#
|
350
|
+
# @example
|
351
|
+
# start_point = Geom::Point2d.new(1, 1)
|
352
|
+
# end_point = Geom::Point2d.new(5, 5)
|
353
|
+
# height = 1.0
|
354
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
355
|
+
# dim.leader_line_type = Layout::LinearDimension::LEADER_LINE_TYPE_BEZIER
|
356
|
+
#
|
357
|
+
# @param [Integer] type
|
358
|
+
# The leader line type
|
359
|
+
#
|
360
|
+
# @raise [ArgumentError] if leader_line_type is not a valid leader line type
|
361
|
+
#
|
362
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
363
|
+
# {Layout::Layer}
|
364
|
+
#
|
365
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
366
|
+
#
|
367
|
+
# @version LayOut 2018
|
368
|
+
def leader_line_type=(type)
|
369
|
+
end
|
370
|
+
|
371
|
+
# The {#scale} method returns the scale being used for the
|
372
|
+
# {Layout::LinearDimension}.
|
373
|
+
#
|
374
|
+
# @example
|
375
|
+
# start_point = Geom::Point2d.new(1, 1)
|
376
|
+
# end_point = Geom::Point2d.new(5, 5)
|
377
|
+
# height = 1.0
|
378
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
379
|
+
# scale = dim.scale
|
380
|
+
#
|
381
|
+
# @return [Numeric] scale
|
382
|
+
#
|
383
|
+
# @version LayOut 2018
|
384
|
+
def scale
|
385
|
+
end
|
386
|
+
|
387
|
+
# The {#scale=} method sets the scale being used for the
|
388
|
+
# {Layout::LinearDimension}.
|
389
|
+
#
|
390
|
+
# @example
|
391
|
+
# start_point = Geom::Point2d.new(1, 1)
|
392
|
+
# end_point = Geom::Point2d.new(5, 5)
|
393
|
+
# height = 1.0
|
394
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
395
|
+
# dim.scale = 1.5
|
396
|
+
#
|
397
|
+
# @param [Numeric] scale
|
398
|
+
#
|
399
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
400
|
+
# {Layout::Layer}
|
401
|
+
#
|
402
|
+
# @raise [ArgumentError] if scale is negative, or greater than 1.0
|
403
|
+
#
|
404
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
405
|
+
#
|
406
|
+
# @version LayOut 2018
|
407
|
+
def scale=(scale)
|
408
|
+
end
|
409
|
+
|
410
|
+
# The {#start_connection_point} method returns the paper space location for the
|
411
|
+
# first connection.
|
412
|
+
#
|
413
|
+
# @example
|
414
|
+
# start_point = Geom::Point2d.new(1, 1)
|
415
|
+
# end_point = Geom::Point2d.new(5, 5)
|
416
|
+
# height = 1.0
|
417
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
418
|
+
# start_connection = dim.start_connection_point
|
419
|
+
#
|
420
|
+
# @return [Geom::Point2d]
|
421
|
+
#
|
422
|
+
# @version LayOut 2018
|
423
|
+
def start_connection_point
|
424
|
+
end
|
425
|
+
|
426
|
+
# The {#start_connection_point=} method sets the paper space location for the
|
427
|
+
# first connection.
|
428
|
+
#
|
429
|
+
# @example
|
430
|
+
# start_point = Geom::Point2d.new(1, 1)
|
431
|
+
# end_point = Geom::Point2d.new(5, 5)
|
432
|
+
# height = 1.0
|
433
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
434
|
+
# dim.start_connection_point = Geom::Point2d.new(2, 2)
|
435
|
+
#
|
436
|
+
# @param [Geom::Point2d] start_point
|
437
|
+
#
|
438
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
439
|
+
# {Layout::Layer}
|
440
|
+
#
|
441
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
442
|
+
#
|
443
|
+
# @version LayOut 2018
|
444
|
+
def start_connection_point=(start_point)
|
445
|
+
end
|
446
|
+
|
447
|
+
# The {#start_extent_point} method returns the paper space location for the
|
448
|
+
# start of the dimension line.
|
449
|
+
#
|
450
|
+
# @example
|
451
|
+
# start_point = Geom::Point2d.new(1, 1)
|
452
|
+
# end_point = Geom::Point2d.new(5, 5)
|
453
|
+
# height = 1.0
|
454
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
455
|
+
# start_ext_point = dim.start_extent_point
|
456
|
+
#
|
457
|
+
# @return [Geom::Point2d] start_extent
|
458
|
+
#
|
459
|
+
# @version LayOut 2018
|
460
|
+
def start_extent_point
|
461
|
+
end
|
462
|
+
|
463
|
+
# The {#start_extent_point=} method sets the paper space location for the
|
464
|
+
# start of the dimension line.
|
465
|
+
#
|
466
|
+
# @example
|
467
|
+
# start_point = Geom::Point2d.new(1, 1)
|
468
|
+
# end_point = Geom::Point2d.new(5, 5)
|
469
|
+
# height = 1.0
|
470
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
471
|
+
# start_ext_point = Geom::Point2d.new(2, 3)
|
472
|
+
# dim.start_extent_point = start_ext_point
|
473
|
+
#
|
474
|
+
# @param [Geom::Point2d] start_extent
|
475
|
+
#
|
476
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
477
|
+
# {Layout::Layer}
|
478
|
+
#
|
479
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
480
|
+
#
|
481
|
+
# @version LayOut 2018
|
482
|
+
def start_extent_point=(start_extent)
|
483
|
+
end
|
484
|
+
|
485
|
+
# The {#start_offset_length=} method sets the length of the offset from the
|
486
|
+
# first {Layout::ConnectionPoint} to the start of the first extension line. The
|
487
|
+
# {Layout::ConnectionPoint} and extent point will not move.
|
488
|
+
#
|
489
|
+
# @example
|
490
|
+
# start_point = Geom::Point2d.new(1, 1)
|
491
|
+
# end_point = Geom::Point2d.new(5, 5)
|
492
|
+
# height = 1.0
|
493
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
494
|
+
# end_ext_point = Geom::Point2d.new(5, 6)
|
495
|
+
# dim.start_offset_length = 0.5
|
496
|
+
#
|
497
|
+
# @param [Numeric] offset_length
|
498
|
+
#
|
499
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
500
|
+
# {Layout::Layer}
|
501
|
+
#
|
502
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
503
|
+
#
|
504
|
+
# @version LayOut 2018
|
505
|
+
def start_offset_length=(offset_length)
|
506
|
+
end
|
507
|
+
|
508
|
+
# The {#start_offset_point} method returns the paper space location for the
|
509
|
+
# start of the first extension line. The first extension line runs from this
|
510
|
+
# offset point to the start extent point.
|
511
|
+
#
|
512
|
+
# @example
|
513
|
+
# start_point = Geom::Point2d.new(1, 1)
|
514
|
+
# end_point = Geom::Point2d.new(5, 5)
|
515
|
+
# height = 1.0
|
516
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
517
|
+
# start_offset = dim.start_offset_point
|
518
|
+
#
|
519
|
+
# @return [Geom::Point2d] start_offset
|
520
|
+
#
|
521
|
+
# @version LayOut 2018
|
522
|
+
def start_offset_point
|
523
|
+
end
|
524
|
+
|
525
|
+
# The {#text} method returns a copy of the {Layout::LinearDimension}'s
|
526
|
+
# {Layout::FormattedText}.
|
527
|
+
#
|
528
|
+
# @example
|
529
|
+
# start_point = Geom::Point2d.new(1, 1)
|
530
|
+
# end_point = Geom::Point2d.new(5, 5)
|
531
|
+
# height = 1.0
|
532
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
533
|
+
# text = dim.text
|
534
|
+
#
|
535
|
+
# @note With the addition of auto-text in dimensions for LayOut 2019.2, the
|
536
|
+
# copy of the dimension text incorrectly provided the plain text when
|
537
|
+
# requesting the display text. This has been fixed for LayOut 2020.1.
|
538
|
+
#
|
539
|
+
# @return [Layout::FormattedText]
|
540
|
+
#
|
541
|
+
# @version LayOut 2018
|
542
|
+
def text
|
543
|
+
end
|
544
|
+
|
545
|
+
# The {#text=} method sets the {Layout::LinearDimension}'s
|
546
|
+
# {Layout::FormattedText}.
|
547
|
+
#
|
548
|
+
# @example
|
549
|
+
# start_point = Geom::Point2d.new(1, 1)
|
550
|
+
# end_point = Geom::Point2d.new(5, 5)
|
551
|
+
# height = 1.0
|
552
|
+
# dim = Layout::LinearDimension.new(start_point, end_point, height)
|
553
|
+
# anchor_type = Layout::FormattedText::ANCHOR_TYPE_TOP_LEFT
|
554
|
+
# dim.text = Layout::FormattedText.new("Hello LayOut", start_point, anchor_type)
|
555
|
+
#
|
556
|
+
# @param [Layout::FormattedText] formatted_text
|
557
|
+
#
|
558
|
+
# @raise [LockedLayerError] if the {Layout::LinearDimension} is on a locked
|
559
|
+
# {Layout::Layer}
|
560
|
+
#
|
561
|
+
# @raise [LockedEntityError] if the {Layout::LinearDimension} is locked
|
562
|
+
#
|
563
|
+
# @version LayOut 2018
|
564
|
+
def text=(formatted_text)
|
565
|
+
end
|
566
|
+
|
567
|
+
end
|