sketchup-api-stubs 0.7.7 → 0.7.9
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/sketchup.rb +151 -147
- data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
- 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 +509 -509
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -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 +693 -691
- data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -351
- data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +747 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -179
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -515
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -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 -370
- 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 -225
- 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 -209
- 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/ReferenceEntity.rb +82 -0
- data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -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/Layout.rb +25 -25
- data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
- data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
- data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
- data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -302
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -122
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -577
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -594
- 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 -201
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -425
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +406 -396
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1126
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -917
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -468
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +406 -405
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -327
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -112
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -414
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +317 -318
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1652 -1654
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +458 -459
- 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 +255 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -217
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -217
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +834 -835
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -71
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1307
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
- data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1377 -1353
- data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
- data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -317
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -478
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
- data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -672
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
- data/lib/sketchup-api-stubs.rb +1 -1
- metadata +20 -16
@@ -1,209 +1,209 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# An ArcCurve is a Curve that makes up part of a circle. This is the
|
5
|
-
# underlying class for circles as well.
|
6
|
-
#
|
7
|
-
# You can think of ArcCurves as entities that were created with SketchUp's
|
8
|
-
# Arc or Circle drawing tools and Curves as entities that were created with
|
9
|
-
# the Freehand drawing tool.
|
10
|
-
#
|
11
|
-
# However, keep in mind that all Curves in SketchUp are really edges with
|
12
|
-
# some extra data attached to them. When you use the API to draw a Curve or
|
13
|
-
# ArcCurve, you are really drawing edges.
|
14
|
-
#
|
15
|
-
# ArcCurve is a subclass of Curve, so all of the methods that are available
|
16
|
-
# to Curves are also available to ArcCurves.
|
17
|
-
#
|
18
|
-
# @example
|
19
|
-
# # Draw a circle on the ground plane around the origin.
|
20
|
-
# center_point = Geom::Point3d.new(0,0,0)
|
21
|
-
# normal_vector = Geom::Vector3d.new(0,0,1)
|
22
|
-
# radius = 10
|
23
|
-
#
|
24
|
-
# entities = Sketchup.active_model.entities
|
25
|
-
# edgearray = entities.add_circle center_point, normal_vector, radius
|
26
|
-
# first_edge = edgearray[0]
|
27
|
-
# arccurve = first_edge.curve
|
28
|
-
#
|
29
|
-
# @version SketchUp 6.0
|
30
|
-
class Sketchup::ArcCurve < Sketchup::Curve
|
31
|
-
|
32
|
-
# Instance Methods
|
33
|
-
|
34
|
-
# The center method is used to retrieve the Point3d that is at the center of
|
35
|
-
# the circular arc.
|
36
|
-
#
|
37
|
-
# @example
|
38
|
-
# centerpoint = Geom::Point3d.new
|
39
|
-
# # Create a circle perpendicular to the normal or Z axis
|
40
|
-
# vector = Geom::Vector3d.new 0,0,1
|
41
|
-
# vector2 = vector.normalize!
|
42
|
-
# model = Sketchup.active_model
|
43
|
-
# entities = model.entities
|
44
|
-
# edgearray = entities.add_circle centerpoint, vector2, 10
|
45
|
-
# edge = edgearray[0]
|
46
|
-
# arccurve = edge.curve
|
47
|
-
# point = arccurve.center
|
48
|
-
#
|
49
|
-
# @return point - a Point3d at the center of the arc if
|
50
|
-
# successful
|
51
|
-
#
|
52
|
-
# @version SketchUp 6.0
|
53
|
-
def center
|
54
|
-
end
|
55
|
-
|
56
|
-
# The {#end_angle} method is used to retrieve the angle of the end of the arc
|
57
|
-
# measured from the X axis in radians.
|
58
|
-
#
|
59
|
-
# @example
|
60
|
-
# # Create a 1/2 circle, normal to the Z axis
|
61
|
-
# start_a = 0.0
|
62
|
-
# end_a = 180.degrees
|
63
|
-
# model = Sketchup.active_model
|
64
|
-
# entities = model.entities
|
65
|
-
# edges = entities.add_arc(ORIGIN, X_AXIS, Z_AXIS, 5, start_a, end_a)
|
66
|
-
# arc_curve = edges.first.curve
|
67
|
-
# end_angle = arc_curve.end_angle
|
68
|
-
#
|
69
|
-
# @note A bug in SketchUp 2017 and older will report the end-angle for some
|
70
|
-
# circles as more than 360 degrees. In such case, subtract +2 * PI+ from
|
71
|
-
# the end angle value.
|
72
|
-
#
|
73
|
-
# @return [Float]
|
74
|
-
#
|
75
|
-
# @version SketchUp 6.0
|
76
|
-
def end_angle
|
77
|
-
end
|
78
|
-
|
79
|
-
# The normal method retrieves a Vector3d that is perpendicular to the plane of
|
80
|
-
# the arc.
|
81
|
-
#
|
82
|
-
# @example
|
83
|
-
# centerpoint = Geom::Point3d.new
|
84
|
-
# # Create a circle perpendicular to the normal or Z axis
|
85
|
-
# vector = Geom::Vector3d.new 0,0,1
|
86
|
-
# vector2 = vector.normalize!
|
87
|
-
# model = Sketchup.active_model
|
88
|
-
# entities = model.entities
|
89
|
-
# edgearray = entities.add_circle centerpoint, vector2, 10
|
90
|
-
# edge = edgearray[0]
|
91
|
-
# arccurve = edge.curve
|
92
|
-
# v = arccurve.normal
|
93
|
-
#
|
94
|
-
# @return vector - a Vector3d object if successful
|
95
|
-
#
|
96
|
-
# @version SketchUp 6.0
|
97
|
-
def normal
|
98
|
-
end
|
99
|
-
|
100
|
-
# The plane method is used to retrieve the plane of the arc.
|
101
|
-
#
|
102
|
-
# Refer to the Geom module for instructions to create a plane.
|
103
|
-
#
|
104
|
-
# @example
|
105
|
-
# centerpoint = Geom::Point3d.new
|
106
|
-
# # Create a circle perpendicular to the normal or Z axis
|
107
|
-
# vector = Geom::Vector3d.new 0,0,1
|
108
|
-
# vector2 = vector.normalize!
|
109
|
-
# model = Sketchup.active_model
|
110
|
-
# entities = model.entities
|
111
|
-
# edgearray = entities.add_circle centerpoint, vector2, 10
|
112
|
-
# edge = edgearray[0]
|
113
|
-
# arccurve = edge.curve
|
114
|
-
# plane = arccurve.plane
|
115
|
-
#
|
116
|
-
# @return plane - the plane of the arc if successful
|
117
|
-
#
|
118
|
-
# @version SketchUp 6.0
|
119
|
-
def plane
|
120
|
-
end
|
121
|
-
|
122
|
-
# The radius method is used to retrieve the radius of the arc.
|
123
|
-
#
|
124
|
-
# @example
|
125
|
-
# centerpoint = Geom::Point3d.new
|
126
|
-
# # Create a circle perpendicular to the normal or Z axis
|
127
|
-
# vector = Geom::Vector3d.new 0,0,1
|
128
|
-
# vector2 = vector.normalize!
|
129
|
-
# model = Sketchup.active_model
|
130
|
-
# entities = model.entities
|
131
|
-
# edgearray = entities.add_circle centerpoint, vector2, 10
|
132
|
-
# edge = edgearray[0]
|
133
|
-
# arccurve = edge.curve
|
134
|
-
# radius = arccurve.radius
|
135
|
-
#
|
136
|
-
# @return radius - the radius of the arc if successful
|
137
|
-
#
|
138
|
-
# @version SketchUp 6.0
|
139
|
-
def radius
|
140
|
-
end
|
141
|
-
|
142
|
-
# The start_angle method is used to retrieve the angle of the start of the
|
143
|
-
# arc, measured from the X axis in radians.
|
144
|
-
#
|
145
|
-
# @example
|
146
|
-
# # Create a 1/4 circle, radius of 5, normal to the Z axis
|
147
|
-
# center = Geom::Point3d.new 0, 0, -1
|
148
|
-
# normal = Geom::Vector3d.new 0,0,1
|
149
|
-
# xaxis = Geom::Vector3d.new 1,0,0
|
150
|
-
# start_a = Math::PI/2
|
151
|
-
# end_a = Math::PI
|
152
|
-
# model = Sketchup.active_model
|
153
|
-
# entities = model.entities
|
154
|
-
# edgearray = entities.add_arc center, xaxis, normal, 5, start_a, end_a
|
155
|
-
# edge = edgearray[0]
|
156
|
-
# arccurve = edge.curve
|
157
|
-
# start_angle = arccurve.start_angle
|
158
|
-
#
|
159
|
-
# @return angle - the angle of the start of the arc if successful
|
160
|
-
#
|
161
|
-
# @version SketchUp 6.0
|
162
|
-
def start_angle
|
163
|
-
end
|
164
|
-
|
165
|
-
# The xaxis method is used to retrieve the X axis of the coordinate system for
|
166
|
-
# the curve. Note that the length of the returned vector is equal to the radius
|
167
|
-
# of the underlying curve.
|
168
|
-
#
|
169
|
-
# @example
|
170
|
-
# centerpoint = Geom::Point3d.new
|
171
|
-
# # Create a circle perpendicular to the normal or Z axis
|
172
|
-
# vector = Geom::Vector3d.new 0,0,1
|
173
|
-
# vector2 = vector.normalize!
|
174
|
-
# model = Sketchup.active_model
|
175
|
-
# entities = model.entities
|
176
|
-
# edgearray = entities.add_circle centerpoint, vector2, 10
|
177
|
-
# edge = edgearray[0]
|
178
|
-
# arccurve = edge.curve
|
179
|
-
# v = arccurve.xaxis
|
180
|
-
#
|
181
|
-
# @return vector - a Vector3d object if successful
|
182
|
-
#
|
183
|
-
# @version SketchUp 6.0
|
184
|
-
def xaxis
|
185
|
-
end
|
186
|
-
|
187
|
-
# The yaxis method is used to retrieve the Y axis of the coordinate system for
|
188
|
-
# the curve. Note that the length of the returned vector is equal to the radius
|
189
|
-
# of the underlying curve.
|
190
|
-
#
|
191
|
-
# @example
|
192
|
-
# centerpoint = Geom::Point3d.new
|
193
|
-
# # Create a circle perpendicular to the normal or Z axis
|
194
|
-
# vector = Geom::Vector3d.new 0,0,1
|
195
|
-
# vector2 = vector.normalize!
|
196
|
-
# model = Sketchup.active_model
|
197
|
-
# entities = model.entities
|
198
|
-
# edgearray = entities.add_circle centerpoint, vector2, 10
|
199
|
-
# edge = edgearray[0]
|
200
|
-
# arccurve = edge.curve
|
201
|
-
# v = arccurve.yaxis
|
202
|
-
#
|
203
|
-
# @return vector - a Vector3d object if successful
|
204
|
-
#
|
205
|
-
# @version SketchUp 6.0
|
206
|
-
def yaxis
|
207
|
-
end
|
208
|
-
|
209
|
-
end
|
1
|
+
# Copyright:: Copyright 2023 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# An ArcCurve is a Curve that makes up part of a circle. This is the
|
5
|
+
# underlying class for circles as well.
|
6
|
+
#
|
7
|
+
# You can think of ArcCurves as entities that were created with SketchUp's
|
8
|
+
# Arc or Circle drawing tools and Curves as entities that were created with
|
9
|
+
# the Freehand drawing tool.
|
10
|
+
#
|
11
|
+
# However, keep in mind that all Curves in SketchUp are really edges with
|
12
|
+
# some extra data attached to them. When you use the API to draw a Curve or
|
13
|
+
# ArcCurve, you are really drawing edges.
|
14
|
+
#
|
15
|
+
# ArcCurve is a subclass of Curve, so all of the methods that are available
|
16
|
+
# to Curves are also available to ArcCurves.
|
17
|
+
#
|
18
|
+
# @example
|
19
|
+
# # Draw a circle on the ground plane around the origin.
|
20
|
+
# center_point = Geom::Point3d.new(0,0,0)
|
21
|
+
# normal_vector = Geom::Vector3d.new(0,0,1)
|
22
|
+
# radius = 10
|
23
|
+
#
|
24
|
+
# entities = Sketchup.active_model.entities
|
25
|
+
# edgearray = entities.add_circle center_point, normal_vector, radius
|
26
|
+
# first_edge = edgearray[0]
|
27
|
+
# arccurve = first_edge.curve
|
28
|
+
#
|
29
|
+
# @version SketchUp 6.0
|
30
|
+
class Sketchup::ArcCurve < Sketchup::Curve
|
31
|
+
|
32
|
+
# Instance Methods
|
33
|
+
|
34
|
+
# The center method is used to retrieve the Point3d that is at the center of
|
35
|
+
# the circular arc.
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# centerpoint = Geom::Point3d.new
|
39
|
+
# # Create a circle perpendicular to the normal or Z axis
|
40
|
+
# vector = Geom::Vector3d.new 0,0,1
|
41
|
+
# vector2 = vector.normalize!
|
42
|
+
# model = Sketchup.active_model
|
43
|
+
# entities = model.entities
|
44
|
+
# edgearray = entities.add_circle centerpoint, vector2, 10
|
45
|
+
# edge = edgearray[0]
|
46
|
+
# arccurve = edge.curve
|
47
|
+
# point = arccurve.center
|
48
|
+
#
|
49
|
+
# @return point - a Point3d at the center of the arc if
|
50
|
+
# successful
|
51
|
+
#
|
52
|
+
# @version SketchUp 6.0
|
53
|
+
def center
|
54
|
+
end
|
55
|
+
|
56
|
+
# The {#end_angle} method is used to retrieve the angle of the end of the arc
|
57
|
+
# measured from the X axis in radians.
|
58
|
+
#
|
59
|
+
# @example
|
60
|
+
# # Create a 1/2 circle, normal to the Z axis
|
61
|
+
# start_a = 0.0
|
62
|
+
# end_a = 180.degrees
|
63
|
+
# model = Sketchup.active_model
|
64
|
+
# entities = model.entities
|
65
|
+
# edges = entities.add_arc(ORIGIN, X_AXIS, Z_AXIS, 5, start_a, end_a)
|
66
|
+
# arc_curve = edges.first.curve
|
67
|
+
# end_angle = arc_curve.end_angle
|
68
|
+
#
|
69
|
+
# @note A bug in SketchUp 2017 and older will report the end-angle for some
|
70
|
+
# circles as more than 360 degrees. In such case, subtract +2 * PI+ from
|
71
|
+
# the end angle value.
|
72
|
+
#
|
73
|
+
# @return [Float]
|
74
|
+
#
|
75
|
+
# @version SketchUp 6.0
|
76
|
+
def end_angle
|
77
|
+
end
|
78
|
+
|
79
|
+
# The normal method retrieves a Vector3d that is perpendicular to the plane of
|
80
|
+
# the arc.
|
81
|
+
#
|
82
|
+
# @example
|
83
|
+
# centerpoint = Geom::Point3d.new
|
84
|
+
# # Create a circle perpendicular to the normal or Z axis
|
85
|
+
# vector = Geom::Vector3d.new 0,0,1
|
86
|
+
# vector2 = vector.normalize!
|
87
|
+
# model = Sketchup.active_model
|
88
|
+
# entities = model.entities
|
89
|
+
# edgearray = entities.add_circle centerpoint, vector2, 10
|
90
|
+
# edge = edgearray[0]
|
91
|
+
# arccurve = edge.curve
|
92
|
+
# v = arccurve.normal
|
93
|
+
#
|
94
|
+
# @return vector - a Vector3d object if successful
|
95
|
+
#
|
96
|
+
# @version SketchUp 6.0
|
97
|
+
def normal
|
98
|
+
end
|
99
|
+
|
100
|
+
# The plane method is used to retrieve the plane of the arc.
|
101
|
+
#
|
102
|
+
# Refer to the Geom module for instructions to create a plane.
|
103
|
+
#
|
104
|
+
# @example
|
105
|
+
# centerpoint = Geom::Point3d.new
|
106
|
+
# # Create a circle perpendicular to the normal or Z axis
|
107
|
+
# vector = Geom::Vector3d.new 0,0,1
|
108
|
+
# vector2 = vector.normalize!
|
109
|
+
# model = Sketchup.active_model
|
110
|
+
# entities = model.entities
|
111
|
+
# edgearray = entities.add_circle centerpoint, vector2, 10
|
112
|
+
# edge = edgearray[0]
|
113
|
+
# arccurve = edge.curve
|
114
|
+
# plane = arccurve.plane
|
115
|
+
#
|
116
|
+
# @return plane - the plane of the arc if successful
|
117
|
+
#
|
118
|
+
# @version SketchUp 6.0
|
119
|
+
def plane
|
120
|
+
end
|
121
|
+
|
122
|
+
# The radius method is used to retrieve the radius of the arc.
|
123
|
+
#
|
124
|
+
# @example
|
125
|
+
# centerpoint = Geom::Point3d.new
|
126
|
+
# # Create a circle perpendicular to the normal or Z axis
|
127
|
+
# vector = Geom::Vector3d.new 0,0,1
|
128
|
+
# vector2 = vector.normalize!
|
129
|
+
# model = Sketchup.active_model
|
130
|
+
# entities = model.entities
|
131
|
+
# edgearray = entities.add_circle centerpoint, vector2, 10
|
132
|
+
# edge = edgearray[0]
|
133
|
+
# arccurve = edge.curve
|
134
|
+
# radius = arccurve.radius
|
135
|
+
#
|
136
|
+
# @return radius - the radius of the arc if successful
|
137
|
+
#
|
138
|
+
# @version SketchUp 6.0
|
139
|
+
def radius
|
140
|
+
end
|
141
|
+
|
142
|
+
# The start_angle method is used to retrieve the angle of the start of the
|
143
|
+
# arc, measured from the X axis in radians.
|
144
|
+
#
|
145
|
+
# @example
|
146
|
+
# # Create a 1/4 circle, radius of 5, normal to the Z axis
|
147
|
+
# center = Geom::Point3d.new 0, 0, -1
|
148
|
+
# normal = Geom::Vector3d.new 0,0,1
|
149
|
+
# xaxis = Geom::Vector3d.new 1,0,0
|
150
|
+
# start_a = Math::PI/2
|
151
|
+
# end_a = Math::PI
|
152
|
+
# model = Sketchup.active_model
|
153
|
+
# entities = model.entities
|
154
|
+
# edgearray = entities.add_arc center, xaxis, normal, 5, start_a, end_a
|
155
|
+
# edge = edgearray[0]
|
156
|
+
# arccurve = edge.curve
|
157
|
+
# start_angle = arccurve.start_angle
|
158
|
+
#
|
159
|
+
# @return angle - the angle of the start of the arc if successful
|
160
|
+
#
|
161
|
+
# @version SketchUp 6.0
|
162
|
+
def start_angle
|
163
|
+
end
|
164
|
+
|
165
|
+
# The xaxis method is used to retrieve the X axis of the coordinate system for
|
166
|
+
# the curve. Note that the length of the returned vector is equal to the radius
|
167
|
+
# of the underlying curve.
|
168
|
+
#
|
169
|
+
# @example
|
170
|
+
# centerpoint = Geom::Point3d.new
|
171
|
+
# # Create a circle perpendicular to the normal or Z axis
|
172
|
+
# vector = Geom::Vector3d.new 0,0,1
|
173
|
+
# vector2 = vector.normalize!
|
174
|
+
# model = Sketchup.active_model
|
175
|
+
# entities = model.entities
|
176
|
+
# edgearray = entities.add_circle centerpoint, vector2, 10
|
177
|
+
# edge = edgearray[0]
|
178
|
+
# arccurve = edge.curve
|
179
|
+
# v = arccurve.xaxis
|
180
|
+
#
|
181
|
+
# @return vector - a Vector3d object if successful
|
182
|
+
#
|
183
|
+
# @version SketchUp 6.0
|
184
|
+
def xaxis
|
185
|
+
end
|
186
|
+
|
187
|
+
# The yaxis method is used to retrieve the Y axis of the coordinate system for
|
188
|
+
# the curve. Note that the length of the returned vector is equal to the radius
|
189
|
+
# of the underlying curve.
|
190
|
+
#
|
191
|
+
# @example
|
192
|
+
# centerpoint = Geom::Point3d.new
|
193
|
+
# # Create a circle perpendicular to the normal or Z axis
|
194
|
+
# vector = Geom::Vector3d.new 0,0,1
|
195
|
+
# vector2 = vector.normalize!
|
196
|
+
# model = Sketchup.active_model
|
197
|
+
# entities = model.entities
|
198
|
+
# edgearray = entities.add_circle centerpoint, vector2, 10
|
199
|
+
# edge = edgearray[0]
|
200
|
+
# arccurve = edge.curve
|
201
|
+
# v = arccurve.yaxis
|
202
|
+
#
|
203
|
+
# @return vector - a Vector3d object if successful
|
204
|
+
#
|
205
|
+
# @version SketchUp 6.0
|
206
|
+
def yaxis
|
207
|
+
end
|
208
|
+
|
209
|
+
end
|