sketchup-api-stubs 0.7.4 → 0.7.8

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.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +148 -145
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +523 -492
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -348
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +698 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -174
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +516 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  48. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  49. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
  50. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +619 -562
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +426 -329
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1205 -1119
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -750
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -697
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +292 -285
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -409
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +407 -393
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -285
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +477 -456
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +260 -257
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +837 -829
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -61
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1317 -1301
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  140. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1360 -1310
  141. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  142. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  143. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -310
  144. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +496 -356
  145. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -229
  146. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  147. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  148. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -667
  149. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  150. data/lib/sketchup-api-stubs.rb +1 -1
  151. metadata +15 -12
@@ -1,1310 +1,1360 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Sketchup module contains a number of important utility methods for use in
5
- # your Ruby scripts. Many of the classes in the API are implemented beneath
6
- # this module. You can think of the Sketchup module as the "root" of the
7
- # application tree. Most ruby calls start from the currently active model, and
8
- # this is accessed via the Sketchup.active_model method.
9
- #
10
- # @example
11
- # # Grab a handle to the currently active model (aka the one the user is
12
- # # looking at in SketchUp.)
13
- # model = Sketchup.active_model
14
- #
15
- # # Grab other handles to commonly used collections inside the model.
16
- # entities = model.entities
17
- # layers = model.layers
18
- # materials = model.materials
19
- # component_definitions = model.definitions
20
- # selection = model.selection
21
- #
22
- # # Now that we have our handles, we can start pulling objects and making
23
- # # method calls that are useful.
24
- # first_entity = entities[0]
25
- # UI.messagebox("First thing in your model is a " + first_entity.typename)
26
- #
27
- # number_materials = materials.length
28
- # UI.messagebox("Your model has " + number_materials.to_s + " materials.")
29
- #
30
- # new_edge = entities.add_line( [0,0,0], [500,500,0])
31
- #
32
- # @version SketchUp 6.0
33
- module Sketchup
34
-
35
- # Class Methods
36
-
37
- # The active_model method returns the currently active SketchUp model. On the
38
- # PC, this is the only model that one can have access to via the API, but
39
- # Macintosh versions of SketchUp can have multiple models open at once, in
40
- # which case the method will return the model that the user currently has
41
- # focused.
42
- #
43
- # @example
44
- # model = Sketchup.active_model
45
- # if !model
46
- # UI.messagebox("Failure")
47
- # else
48
- # # code acting on the model
49
- # end
50
- #
51
- # @return [Sketchup::Model] active model object if successful, false if
52
- # unsuccessful
53
- #
54
- # @version SketchUp 6.0
55
- def self.active_model
56
- end
57
-
58
- # The add_observer method is used to add an observer to the current object.
59
- #
60
- # @example
61
- # status = Sketchup.add_observer(observer)
62
- #
63
- # @param [Object] observer
64
- # An observer.
65
- #
66
- # @return [Boolean] true if successful, false if unsuccessful.
67
- #
68
- # @version SketchUp 6.0
69
- def self.add_observer(observer)
70
- end
71
-
72
- # The app_name method is used to retrieve the current application name.
73
- #
74
- # @example
75
- # name = Sketchup.app_name
76
- #
77
- # @return [String] the name of the application, either
78
- # "SketchUp Pro" or "SketchUp".
79
- # Note: For versions earlier than SketchUp8 M4
80
- # (Mac 8.0.15157 and Windows 8.0.15158) this function will
81
- # return "Google SketchUp Pro" or "Google SketchUp".
82
- #
83
- # @version SketchUp 6.0
84
- def self.app_name
85
- end
86
-
87
- # The break_edges= method can be used to disable or enable the break edges
88
- # feature. Break edges is the SketchUp 7 feature that automatically splits
89
- # edges that the user draws which cross over one another.
90
- #
91
- # This feature is always on by default and cannot be disabled by the user
92
- # via the user interface, but you can call this method to disable it. Be
93
- # cautious in doing so, however, as the resulting model could then be altered
94
- # when the user later draws lines into it with the break edges feature
95
- # reactivated.
96
- #
97
- # @example
98
- # Sketchup.break_edges = false
99
- #
100
- # @param [Boolean] enabled
101
- # If true, break edges will be turned on. If false, it
102
- # will be deactivated.
103
- #
104
- # @return [Boolean] true if break edges was turned on.
105
- #
106
- # @version SketchUp 7.0
107
- def self.break_edges=(enabled)
108
- end
109
-
110
- # The break_edges? method indicates whether the break edges feature is
111
- # currently turned on. Break edges is the SketchUp 7 feature that
112
- # automatically splits edges that the user draws which cross over one another.
113
- # This feature is always on by default and cannot be disabled by the user
114
- # via the user interface.
115
- #
116
- # @example
117
- # is_on = Sketchup.break_edges?
118
- #
119
- # @return [Boolean]
120
- #
121
- # @version SketchUp 7.0
122
- def self.break_edges?
123
- end
124
-
125
- # The create_texture_writer method is used to create a TextureWriter object.
126
- #
127
- # @example
128
- # texturewriter = Sketchup.create_texture_writer
129
- #
130
- # @return [Sketchup::TextureWriter] a texturewriter object if successful.
131
- #
132
- # @version SketchUp 6.0
133
- def self.create_texture_writer
134
- end
135
-
136
- # The debug_mode= method lets you controls whether SketchUp will output
137
- # warnings to the console when it detects incorrect usage of the API.
138
- # The setting takes effect right away, no need to restart SketchUp.
139
- #
140
- # @example
141
- # Sketchup.debug_mode = true
142
- #
143
- # @param [Boolean] enabled
144
- # If true, SketchUp will produce debug warnings.
145
- #
146
- # @return [Boolean]
147
- #
148
- # @version SketchUp 2016
149
- def self.debug_mode=(enabled)
150
- end
151
-
152
- # The debug_mode? controls whether SketchUp will output warnings to the console
153
- # when it detects incorrect usage of the API.
154
- #
155
- # @example
156
- # debug_mode = Sketchup.debug_mode?
157
- #
158
- # @return [Boolean]
159
- #
160
- # @version SketchUp 2016
161
- def self.debug_mode?
162
- end
163
-
164
- # The display_name_from_action method is used to gets a user-friendly name
165
- # from an action string. See Sketchup.send_action for a list of valid
166
- # action strings.
167
- #
168
- # @example
169
- # Sketchup.display_name_from_action("viewRight:")
170
- #
171
- # @note This method has been non-functional on Mac since SketchUp 8.
172
- #
173
- # @param [String] action_name
174
- # An action string.
175
- #
176
- # @return [String] a friendly name.
177
- #
178
- # @version SketchUp 6.0
179
- def self.display_name_from_action(action_name)
180
- end
181
-
182
- # Returns the ExtensionsManager where you can find all registered
183
- # SketchupExtension objects.
184
- #
185
- # @example
186
- # extensions = Sketchup.extensions
187
- # extensions.each{ |extension|
188
- # puts "The next extension is named: #{extension.name} and its loaded? state is: #{extension.loaded?}"
189
- # }
190
- #
191
- # @return [Sketchup::ExtensionsManager] an ExtensionsManager object.
192
- #
193
- # @version SketchUp 8.0 M2
194
- def self.extensions
195
- end
196
-
197
- # The file_new method is used to create a new file.
198
- #
199
- # @example
200
- # new_sketchup = Sketchup.file_new
201
- #
202
- # @return [Module] The Sketchup module.
203
- #
204
- # @version SketchUp 6.0
205
- def self.file_new
206
- end
207
-
208
- # The find_support_files method is used to retrieve the relative path and name
209
- # of a file within the SketchUp installation directory.
210
- #
211
- # Forward slashes must be used to delimit between directory names.
212
- #
213
- # @example
214
- # help_file = Sketchup.find_support_file("help.html", "Plugins/")
215
- # if help_file
216
- # # Print out the help_file full path
217
- # UI.messagebox(help_file)
218
- #
219
- # # Open the help_file in a web browser
220
- # UI.openURL("file://" + help_file)
221
- # else
222
- # UI.messagebox("Failure")
223
- # end
224
- #
225
- # @param [String] filename
226
- # Name of the filename you want to find.
227
- #
228
- # @param [String] directory
229
- # directory relative to the SketchUp
230
- # installation directory.
231
- #
232
- # @return [String] the entire path if successful. If unsuccessful,
233
- # the method returns false.
234
- #
235
- # @version SketchUp 6.0
236
- def self.find_support_file(filename, directory)
237
- end
238
-
239
- # The find_support_files method is used to retrieve the path and name of all
240
- # matching files within the SketchUp installation directory.
241
- #
242
- # Forward slashes must be used to delimit between directory names.
243
- #
244
- # @example
245
- # files = Sketchup.find_support_files('rb', 'Plugins')
246
- #
247
- # @param [String] filename
248
- # Extension of the files to be found.
249
- #
250
- # @param [String] directory
251
- # directory relative to the SketchUp installation
252
- # directory. Without this the result will
253
- # be empty.
254
- #
255
- # @return [Array<String>] an array of files. If unsuccessful, the method
256
- # returns false.
257
- #
258
- # @version SketchUp 6.0
259
- def self.find_support_files(filename, directory)
260
- end
261
-
262
- # The fix_shadow_strings= method lets you control whether shadow rendering
263
- # attempts to fix an artifact commonly referred to as "strings". The fix
264
- # is actually very model dependent and not controllable from the UI, so this
265
- # method can be used to control it.
266
- #
267
- # @example
268
- # Sketchup.fix_shadow_strings = true
269
- #
270
- # @param [Boolean] enabled
271
- # If true, shadow strings fix will be turned on. If
272
- # false, it will be deactivated.
273
- #
274
- # @return [Boolean] true if shadow strings fix was turned on.
275
- #
276
- # @version SketchUp 8.0 M1
277
- def self.fix_shadow_strings=(enabled)
278
- end
279
-
280
- # The fix_shadow_strings? method indicates whether the a fix for a shadow
281
- # rendering artifact commonly referred to as "strings" is enabled. The fix
282
- # is actually very model dependent and not controllable from the UI, so this
283
- # method can be used to test it.
284
- #
285
- # @example
286
- # is_on = Sketchup.fix_shadow_strings?
287
- #
288
- # @return [Boolean]
289
- #
290
- # @version SketchUp 8.0 M1
291
- def self.fix_shadow_strings?
292
- end
293
-
294
- # The format_angle method takes a number as an angle in radians and formats it
295
- # into degrees. For example, format_angle(Math::PI) will return 180.0.
296
- #
297
- # @example
298
- # degrees = Sketchup.format_angle(Math::PI)
299
- #
300
- # @param [Numeric] number
301
- # A number to be formatted.
302
- #
303
- # @return [String] an angle in degrees if successful, false if unsuccessful
304
- #
305
- # @version SketchUp 6.0
306
- def self.format_angle(number)
307
- end
308
-
309
- # The #{format_area} method formats a number as an area using the current units
310
- # settings.
311
- #
312
- # The +number+ must be in square inches.
313
- #
314
- # @example
315
- # number = 3.m * 4.m # This will result in 12m2 in inches.
316
- # formatted_area = Sketchup.format_area(number)
317
- #
318
- # @param [Numeric] number
319
- # A number to be formatted.
320
- #
321
- # @return [String]
322
- #
323
- # @version SketchUp 6.0
324
- def self.format_area(number)
325
- end
326
-
327
- # The format_degrees method formats a number as an angle given in degrees. For
328
- # example, 10 becomes 10.0. This is the equivalent to a to_f call.
329
- #
330
- # @example
331
- # degrees = Sketchup.format_degrees(number)
332
- #
333
- # @param [Numeric] number
334
- # A number to be formatted.
335
- #
336
- # @return [String] degrees if successful, false if unsuccessful.
337
- #
338
- # @version SketchUp 6.0
339
- def self.format_degrees(number)
340
- end
341
-
342
- # The {.format_length} method formats a number as a length using the current
343
- # units settings.
344
- #
345
- # The default unit setting is inches. For example, 10 becomes 10".
346
- #
347
- # @example
348
- # length = Sketchup.format_length(10)
349
- #
350
- # @overload format_length(number)
351
- #
352
- # @param [Numeric] number A number to be formatted.
353
- #
354
- # @overload format_length(number, precision)
355
- #
356
- # @param [Numeric] number A number to be formatted.
357
- # @param [Integer] number A custom precision. Negative number will strip
358
- # trailing zeros.
359
- #
360
- # @return [String]
361
- #
362
- # @version SketchUp 6.0
363
- def self.format_length(*args)
364
- end
365
-
366
- # The #{format_volume} method formats a number as a volume using the current
367
- # units settings.
368
- #
369
- # The +number+ must be in cubic inches.
370
- #
371
- # @example
372
- # number = 3.m * 4.m * 5.m # This will result in 60m3 in inches.
373
- # formatted_volume = Sketchup.format_area(number)
374
- #
375
- # @param [Numeric] number
376
- # A number to be formatted.
377
- #
378
- # @return [String]
379
- #
380
- # @version SketchUp 2019.2
381
- def self.format_volume(number)
382
- end
383
-
384
- # The get_datfile_info method is used to retrieve the value for the given key
385
- # from Sketchup.dat.
386
- #
387
- # If the key is not found, default_value is returned.
388
- #
389
- # @example
390
- # value = Sketchup.get_datfile_info(key, default_value)
391
- #
392
- # @param [String] key
393
- # The key whose value you want to retrieve.
394
- #
395
- # @param [String] default_value
396
- # The default value you want returned if key is not
397
- # available.
398
- #
399
- # @return [String] a string value if successful.
400
- #
401
- # @version SketchUp 6.0
402
- def self.get_datfile_info(key, default_value)
403
- end
404
-
405
- # The {.get_i18n_datfile_info} method is used to retrieve the value for the
406
- # given key from the internationalization file that SketchUp uses to work
407
- # in multiple languages.
408
- #
409
- # If the +key+ is not found, +default_value+ is returned.
410
- #
411
- # @example
412
- # value = Sketchup.get_i18n_datfile_info(key, default_value)
413
- #
414
- # @param [String] key
415
- # The key whose value you want to retrieve.
416
- #
417
- # @param [String] default_value
418
- # The default value you want returned if key is not
419
- # available.
420
- #
421
- # @return [String]
422
- #
423
- # @version SketchUp 6.0
424
- def self.get_i18n_datfile_info(key, default_value)
425
- end
426
-
427
- # The os_language method returns the language code for the language SketchUp
428
- # is running in. This is an alias for the get_locale method.
429
- #
430
- # Valid return values are: en-US, fr, it, de, es, ja, ko, zh-CN, zh-TW,
431
- # pt-BR, nl, ru.
432
- # If the OS language does not have corresponding folder and files in the
433
- # SketchUp Resources folder, the returned language is, by default, en-US.
434
- #
435
- # @example
436
- # language = Sketchup.os_language
437
- #
438
- # @return [String] a code representing the language SketchUp
439
- # is displaying.
440
- #
441
- # @version SketchUp 6.0
442
- def self.get_locale
443
- end
444
-
445
- # The get_resource_path is used to retrieve the directory where "resource"
446
- # files are stored by SketchUp. Resource files include things like language
447
- # localization files.
448
- #
449
- # @example
450
- # directory = Sketchup.get_resource_path("Styles.strings")
451
- #
452
- # @param [String] filename
453
- # The filename of a resource file in the resource directory hierarchy.
454
- #
455
- # @return [String] the directory path to the resources folder.
456
- #
457
- # @version SketchUp 6.0
458
- def self.get_resource_path(filename)
459
- end
460
-
461
- # The get_shortcuts method retrieves an array of all keyboard shortcuts
462
- # currently registered with SketchUp. Each shortcut is returned as a
463
- # string with the shortcut and the command separated by a tab, similar
464
- # to "Ctrl+A\tEdit/Select All"
465
- #
466
- # @example
467
- # shortcuts = Sketchup.get_shortcuts
468
- #
469
- # @return [Array<String>] an array of shortcut strings.
470
- #
471
- # @version SketchUp 6.0
472
- def self.get_shortcuts
473
- end
474
-
475
- # Installs the contents of a ZIP archive file into SketchUp's Plugins folder.
476
- # If the ZIP contains subfolders, these will be preserved. This allows for a
477
- # Ruby API plugin or Extension developer to distribute their plugin as a single
478
- # file regardless of how many asset files must be included.
479
- #
480
- # The user will be shown a warning message that they must agree to before the
481
- # install proceeds. If they do not agree, an Interrupt error will be raised.
482
- # If the user does agree but there is a problem with the unzip process, an
483
- # Exception will be raised. You can capture these states via a begin/rescue.
484
- # See the example below.
485
- #
486
- # If the install is successful, any Ruby files that have been added to
487
- # the Plugins folder will immediately be executed, saving the user a restart.
488
- #
489
- # To create an archive file, use your favorite tool (7zip, Winzip, etc.) to zip
490
- # up any files and folders in your plugins directory. If the archive contains a
491
- # SketchupExtension that you would like users to be able to install from the
492
- # Preferences > Extensions panel, rename your file to have a .rbz file
493
- # extension.
494
- #
495
- # @example
496
- # path = 'c:/temp/SomePluginPackage.zip'
497
- # begin
498
- # Sketchup.install_from_archive(path)
499
- # rescue Interrupt => error
500
- # UI.messagebox("User said 'no': " + error)
501
- # rescue Exception => error
502
- # UI.messagebox("Error during unzip: " + error)
503
- # end
504
- #
505
- # @param [String] filename
506
- # The path to the RBZ or ZIP file to install.
507
- #
508
- # @raise [Exception] If the archive cannot be installed.
509
- #
510
- # @raise [Interrupt] If the user cancel the installation.
511
- #
512
- # @raise [Exception] If the archive cannot be found.
513
- #
514
- # @return [Boolean]
515
- #
516
- # @version SketchUp 8.0 M2
517
- def self.install_from_archive(filename)
518
- end
519
-
520
- # This methods indicates whether the host SketchUp application is 64bit.
521
- # Useful for extensions that ship with binaries and need to determine
522
- # which versions to load.
523
- #
524
- # @example
525
- # # For backward compatibility, check for the existence of the method
526
- # # and load 32bit binaries for SketchUp versions that do not have this
527
- # # method.
528
- # if Sketchup.respond_to?(:is_64bit?) && Sketchup.is_64bit?
529
- # # Load 64bit binaries.
530
- # else
531
- # # Load 32bit binaries.
532
- # end
533
- #
534
- # @return [Boolean]
535
- #
536
- # @version SketchUp 2015
537
- def self.is_64bit?
538
- end
539
-
540
- # The is_online method is used to verify a connection to the Internet. This
541
- # method can take some time to execute, so be careful not to call it more often
542
- # than you need.
543
- #
544
- # @example
545
- # status = Sketchup.is_online
546
- #
547
- # @return [Boolean] true if successful, false if unsuccessful.
548
- #
549
- # @version SketchUp 6.0
550
- def self.is_online
551
- end
552
-
553
- # Returns a boolean flag indicating whether the application is SketchUp Pro.
554
- # Note that after the free trial period, SketchUp Pro will revert to regular
555
- # SketchUp and this method will return false until the user registers
556
- # the product.
557
- #
558
- # @example
559
- # if Sketchup.is_pro?
560
- # UI.messagebox("You are running SU Pro.")
561
- # end
562
- #
563
- # @return [Boolean]
564
- #
565
- # @version SketchUp 7.0
566
- def self.is_pro?
567
- end
568
-
569
- # The is_valid_filename? method is used to determine whether a filename
570
- # contains illegal characters.
571
- #
572
- # @example
573
- # status = Sketchup.is_valid_filename?(filename)
574
- #
575
- # @param [String] filename
576
- # A filename string.
577
- #
578
- # @return [Boolean]
579
- #
580
- # @version SketchUp 6.0
581
- def self.is_valid_filename?(filename)
582
- end
583
-
584
- # The load method is used to include encrypted and nonencrypted ruby files.
585
- #
586
- # You do not need to include the file extension on the path. This method will
587
- # look for .rb first (unencrypted) and then .rbe (encrypted) and finally .rbs
588
- # (the deprecated scrambled format) files.
589
- # See the "Distributing your Plugin" article for details.
590
- #
591
- # @example
592
- # sfile = "application_loader" # file extension not required
593
- # status = Sketchup.load(sfile)
594
- #
595
- # @param [String] path
596
- # The path, including the filename, to the file you want
597
- # to require.
598
- #
599
- # @return [Boolean] True if the file is included. False if the
600
- # file is not included.
601
- #
602
- # @version SketchUp 6.0
603
- def self.load(path)
604
- end
605
-
606
- # The open_file method is used to open a file.
607
- #
608
- # @example
609
- # result = Sketchup.open_file("C:\\model.skp")
610
- #
611
- # @param [String] filename
612
- # The path and filename to open.
613
- #
614
- # @return [Boolean] true if opening the file succeeded,
615
- # false otherwise.
616
- #
617
- # @version SketchUp 6.0
618
- def self.open_file(filename)
619
- end
620
-
621
- # The os_language method returns the language code for the language SketchUp
622
- # is running in. This is an alias for the get_locale method.
623
- #
624
- # Valid return values are: en-US, fr, it, de, es, ja, ko, zh-CN, zh-TW,
625
- # pt-BR, nl, ru.
626
- # If the OS language does not have corresponding folder and files in the
627
- # SketchUp Resources folder, the returned language is, by default, en-US.
628
- #
629
- # @example
630
- # language = Sketchup.os_language
631
- #
632
- # @return [String] a code representing the language SketchUp
633
- # is displaying.
634
- #
635
- # @version SketchUp 6.0
636
- def self.os_language
637
- end
638
-
639
- # The parse_length method parses a string as a length.
640
- #
641
- # For example, "200" becomes 200.0.
642
- #
643
- # @example
644
- # float = Sketchup.parse_length("2'") # Returns 24 (representing inches)
645
- # length = float.to_l # Convert to a Length type if needed.
646
- #
647
- # @param [String] string
648
- # The string to be parsed as a number.
649
- #
650
- # @return [Float] the numerical representation of the string if
651
- # successful, or nil if unsuccessful.
652
- #
653
- # @version SketchUp 6.0
654
- def self.parse_length(string)
655
- end
656
-
657
- # This methods returns a symbol indicating the current platform.
658
- #
659
- # It should be used over RUBY_PLATFORM as this returns a different value for
660
- # Windows since SketchUp 2014.
661
- #
662
- # Older SketchUp versions still need to check
663
- # <code>RUBY_PLATFORM.include?('mswin')</code> or
664
- # <code>RUBY_PLATFORM.include?('darwin')</code>.
665
- #
666
- # Possible return values:
667
- # - :platform_win
668
- # - :platform_osx
669
- #
670
- # @example
671
- # module MyExtension
672
- # IS_WIN = Sketchup.platform == :platform_win
673
- # IS_OSX = Sketchup.platform == :platform_osx
674
- # end
675
- #
676
- # @return [Symbol] Current OS platform.
677
- #
678
- # @version SketchUp 2014
679
- def self.platform
680
- end
681
-
682
- # The plugins_disabled= method lets you control whether SketchUp will load
683
- # Ruby scripts from the plugins directory at startup time. This is primarily
684
- # a trouble-shooting method. If you are having strange behavior in SketchUp
685
- # that you suspect is from a bad script, you can type
686
- # Sketchup.plugins_disabled=true into the Ruby console and restart SketchUp
687
- # to see if the problem is fixed.
688
- #
689
- # @example
690
- # # Type this in the Ruby console then restart SketchUp.
691
- # Sketchup.plugins_disabled = true
692
- #
693
- # # To reactivate plugins, type this into the Ruby console and restart.
694
- # Sketchup.plugins_disabled = false
695
- #
696
- # @param [Boolean] enabled
697
- # If true, the plugins directory will not load.
698
- #
699
- # @return [Boolean] true if plugins were disabled.
700
- #
701
- # @version SketchUp 8.0 M2
702
- def self.plugins_disabled=(enabled)
703
- end
704
-
705
- # The plugins_disabled? method indicates whether Ruby scripts in the plugins
706
- # directory will be loaded at startup time.
707
- #
708
- # @example
709
- # is_disabled = Sketchup.plugins_disabled?
710
- #
711
- # @return [Boolean]
712
- #
713
- # @version SketchUp 8.0 M2
714
- def self.plugins_disabled?
715
- end
716
-
717
- # The quit method is used to terminate the application. This will pop-up the
718
- # usual model save prompts if there are unsaved models open. User can cancel
719
- # the model save, in which case the application will not terminate.
720
- #
721
- # @example
722
- # Sketchup.quit
723
- # # Do not expect code to execute reliably after this point.
724
- #
725
- # @return self
726
- #
727
- # @version SketchUp 2014
728
- def self.quit
729
- end
730
-
731
- # The read_default method is used to retrieve the string associated with a
732
- # value within the specified sub-section section of a .INI file or registry
733
- # (within the Software > SketchUp > SketchUp [Version] section).
734
- #
735
- # @example
736
- # result = Sketchup.read_default("section", "variable", "default")
737
- #
738
- # @param [String] section
739
- # A section in an .INI or registry.
740
- #
741
- # @param [String] variable
742
- # A variable within the section.
743
- #
744
- # @param [Object] default
745
- # A default value if the value is not found.
746
- #
747
- # @return [Object, nil] if unsuccessful, the value of the default
748
- # if successful.
749
- #
750
- # @version SketchUp 6.0
751
- def self.read_default(section, variable, default = nil)
752
- end
753
-
754
- # The register_extension method is used to register an extension with
755
- # SketchUp's extension manager (in SketchUp preferences).
756
- #
757
- # @example
758
- # utilities_extension = SketchupExtension.new("Utilities Tools",
759
- # "Utilities/utilitiesTools.rb")
760
- #
761
- # utilities_extension.description = "Adds Tools->Utilities to the " +
762
- # "SketchUp inteface. The Utilities submenu contains two tools: " +
763
- # "Create Face and Query Tool."
764
- #
765
- # Sketchup.register_extension(utilities_extension, false)
766
- #
767
- # @note It is recommended to set +load_on_start+ to true unless you have a very
768
- # good reason not to.
769
- #
770
- # @param [SketchupExtension] extension
771
- # A SketchupExtension object.
772
- #
773
- # @param [Boolean] load_on_start
774
- # Passing true into this will load the
775
- # extension immediately and set it so
776
- # that it will load automatically
777
- # whenever SketchUp restarts.
778
- #
779
- # @return [Boolean] +true+ if extension registered properly
780
- #
781
- # @version SketchUp 6.0
782
- def self.register_extension(extension, load_on_start = false)
783
- end
784
-
785
- # The register_importer method is used to register an importer with SketchUp.
786
- #
787
- # @example
788
- # status = Sketchup.register_importer(importer)
789
- #
790
- # @param [Sketchup::Importer] importer
791
- # An Importer object representing the importer.
792
- #
793
- # @return [Boolean] true if successful, false if unsuccessful.
794
- #
795
- # @version SketchUp 6.0
796
- def self.register_importer(importer)
797
- end
798
-
799
- # The remove_observer method is used to remove an observer from the current
800
- # object.
801
- #
802
- # @example
803
- # status = Sketchup.remove_observer(observer)
804
- #
805
- # @param [Sketchup::AppObserver] observer
806
- # An observer.
807
- #
808
- # @return [Boolean] true if successful, false if unsuccessful.
809
- #
810
- # @version SketchUp 6.0
811
- def self.remove_observer(observer)
812
- end
813
-
814
- # The require method is used to include encrypted and nonencrypted ruby files.
815
- # This is an alias of the Sketchup.load method.
816
- #
817
- # You do not need to include the file extension on the path. This method will
818
- # look for .rbe first (encrypted) and then .rbs (the deprecated scrambled
819
- # format) and finally .rb (unencrypted) files. The loading order was changed
820
- # in SketchUp 2016 when the new .rbe encryption was introduced. Prior to
821
- # SketchUp 2016 the loading order was first .rb then .rbs.
822
- #
823
- # @example
824
- # sfile = "application_loader" # file extension not required
825
- # status = Sketchup::require(sfile)
826
- #
827
- # @param [String] path
828
- # The path, including the filename, to the file you want
829
- # to require.
830
- #
831
- # @return [Boolean] True if the file is included. False if the
832
- # file is not included.
833
- #
834
- # @version SketchUp 6.0
835
- def self.require(path)
836
- end
837
-
838
- # The save_thumbnail method is used to generate a thumbnail for any SKP file -
839
- # not necessarily the loaded model.
840
- #
841
- # @example
842
- # status = Sketchup.save_thumbnail("skp_filename", "image_filename")
843
- #
844
- # @param [String] skp_filename
845
- # The name of the SketchUp file whose model you want
846
- # represented in the thumbnail.
847
- #
848
- # @param [String] img_filename
849
- # The name of the file where the thumbnail will be saved.
850
- #
851
- # @return [Boolean] true if successful, false if unsuccessful.
852
- #
853
- # @version SketchUp 6.0
854
- def self.save_thumbnail(skp_filename, img_filename)
855
- end
856
-
857
- # The send_action method sends a message to the message queue to perform some
858
- # action asynchronously.
859
- #
860
- # Valid actions are:
861
- # - showRubyPanel:
862
- # - viewBack:
863
- # - viewBottom:
864
- # - viewFront:
865
- # - viewIso:
866
- # - viewLeft:
867
- # - viewRight:
868
- # - viewTop:
869
- # - viewPerspective:
870
- # - viewShowAxes:
871
- # - viewShowHidden:
872
- # - viewZoomExtents:
873
- # - viewZoomToSelection:
874
- # - viewUndo:
875
- # - selectOrbitTool:
876
- # - selectPositionCameraTool:
877
- # - selectDollyTool:
878
- # - selectTurnTool:
879
- # - selectWalkTool:
880
- # - selectZoomTool:
881
- # - selectFieldOfViewTool:
882
- # - selectZoomWindowTool:
883
- # - pageAdd:
884
- # - pageDelete:
885
- # - pageUpdate:
886
- # - pageNext:
887
- # - pagePrevious:
888
- # - renderWireframe:
889
- # - renderHiddenLine:
890
- # - renderMonochrome:
891
- # - renderShaded:
892
- # - renderTextures:
893
- # - selectArcTool:
894
- # - selectArc3PointTool:
895
- # - selectArc3PointPieTool:
896
- # - selectAxisTool:
897
- # - selectCircleTool:
898
- # - selectEraseTool:
899
- # - selectFreehandTool:
900
- # - selectLineTool:
901
- # - selectMeasureTool:
902
- # - selectMoveTool:
903
- # - selectOffsetTool:
904
- # - selectPaintTool:
905
- # - selectPolygonTool:
906
- # - selectProtractorTool:
907
- # - selectPushPullTool:
908
- # - selectRectangleTool:
909
- # - selectRectangle3PointTool:
910
- # - selectRotateTool:
911
- # - selectScaleTool:
912
- # - selectSectionPlaneTool:
913
- # - selectTextTool:
914
- # - selectDimensionTool:
915
- # - selectExtrudeTool:
916
- # - selectSelectionTool:
917
- # - editUndo:
918
- # - editRedo:
919
- # - editHide:
920
- # - editUnhide:
921
- # - fixNonPlanarFaces:
922
- #
923
- # Added in SketchUp 8.0+:
924
- # - addBuilding:
925
- # - getPhotoTexture:
926
- # - selectImageIglooTool:
927
- # - selectNorthTool:
928
- #
929
- # Added in SketchUp 2013+:
930
- # - showExtensionStore:
931
- #
932
- # Removed in SketchUp 2013+:
933
- # - addBuilding:
934
- #
935
- # On the PC only, you can also send these numeric values. (Note that these are
936
- # officially "unsupported" and are not guaranteed to work in current or
937
- # future versions of the API.)
938
- #
939
- # - 10501: set view to Top
940
- # - 10502: set view to Front
941
- # - 10503: set view to Rear
942
- # - 10504: set view to Left
943
- # - 10505: set view to Right
944
- # - 10506: set view to Bottom
945
- # - 10507: set view to Axonometric
946
- # - 10510: set render mode to Wire
947
- # - 10511: set render mode to Hidden lines removal
948
- # - 10512: set render mode to Surfaces Shading
949
- # - 10513: set render mode to Transparency
950
- # - 10519: set camera to ortho (removes perspective)
951
- # - 10520: walk tool
952
- # - 10521: display the System Preferences dialog box (Files tab)
953
- # - 10522: removes axes display
954
- # - 10523: pan tool
955
- # - 10525: set the interactive eye height feature
956
- # - 10526: zoom window
957
- # - 10527: zoom extents
958
- # - 10529: zoom out 2
959
- # - 10531: toggle the Standard toolbar
960
- # - 10532: toggle the Camera toolbar
961
- # - 10533: display the Shadows Settings dialog box
962
- # - 10537: toggle the Views toolbar
963
- # - 10538: display the System Preferences dialog box (Display tab)
964
- # - 10545: toggle Color ByLayer
965
- # - 10546: toggle Shadows toolbar
966
- # - 10551: toogle Large icons
967
- # - 10576: toggle Render Mode toolbar
968
- # - 10596: set Render Mode to No Transparency (Preferences)
969
- # - 10597: set Render Mode to Wire (Preferences)
970
- # - 10598: set Render Mode to Transparency (Preferences)
971
- # - 10599: set Render Mode to Surfaces Shading (Preferences)
972
- # - 10600: set Render Mode to Texture (Preferences)
973
- # - 10601: set Render Mode to No Texture (Preferences)
974
- # - 10602: toggle Shadows
975
- # - 10603: toggle Profiles
976
- # - 10604: toggle Extension Lines
977
- # - 10605: toggle Jitter edges
978
- # - 21019: hide Status bar and VCB
979
- # - 21020: show Status bar and VCB
980
- # - 21022: hide Status bar and VCB
981
- # - 21023: place 3d text box
982
- # - 21024: select the Measure tool
983
- # - 21031: select the Freehand Draw tool
984
- # - 21041: select the PushPull tool
985
- # - 21048: select the Move tool
986
- # - 21052: hide selected objects
987
- # - 21056: create face with selected edges closed loop
988
- # - 21057: select the Protractor tool
989
- # - 21060: display Components Window
990
- # - 21061: toggle Draw toolbar
991
- # - 21063: toggle Model Bounding Box display
992
- # - 21065: select the Arc tool
993
- # - 21067: creat a new Page
994
- # - 21069: select the Arc 3 Point tool
995
- # - 21070: select the Arc 3 Point Pie tool
996
- # - 21074: show the Materials Browser Window
997
- # - 21076: display the Preferences dialog box (Text activated)
998
- # - 21077: display the Tip of the day Window
999
- # - 21078: select the Paint Bucket tool
1000
- # - 21080: display the Page Manager Window
1001
- # - 21082: display the Macros Dialog Box
1002
- # - 21086: display the Components Browser Window
1003
- # - 21094: select the Rectangle tool
1004
- # - 21095: select the Polygon tool
1005
- # - 21096: select the Circle tool
1006
- # - 21098: open the Open Window
1007
- # - 21100: select the Offset tool
1008
- # - 21101: select all objects
1009
- # - 21107: invert selection
1010
- # - 21112: open the Import Window
1011
- # - 21124: launch the validity check tool
1012
- # - 21126: select the Axes tool
1013
- # - 21029: select the Rotate tool
1014
- # - 21032: toggle Layer toolbar
1015
- # - 21036: display the Save as Window
1016
- # - 21046: spin the model a full 360&deg; and display report
1017
- # - 21047: fast Pick Time report
1018
- # - 21049: open the Export model Window
1019
- # - 21169: select the Position Camera tool
1020
- # - 21170: display the Preferences, Tour Guide activated
1021
- # - 21180: create a new Page just right of selected page
1022
- # - 21200: display the Insert Image Window
1023
- # - 21233: display Area of selected face
1024
- # - 21234: display Area of all faces with selected material
1025
- # - 21236: select the Scale tool
1026
- # - 21237: display the Export 2D Graphics Window
1027
- # - 21245: display a Polygon Offset Factors dialog box
1028
- # - 21276: reverse selected face(s)
1029
- # - 21287: select the Divide feature
1030
- # - 21337: select the Section Plane Placement tool
1031
- # - 21354: open the Layer Window
1032
- # - 21386: open the Export Animation Window
1033
- # - 21405: select the Text tool
1034
- # - 21406: display Fog dialog box
1035
- # - 21410: select the Dim tool
1036
- # - 21433: toggle Edit toolbar
1037
- # - 21442: select the FollowMe tool
1038
- # - 21448: select the Axes tool
1039
- # - 21453: select all objects
1040
- # - 21460: display Licence
1041
- # - 21462: display Authorization dialog box
1042
- # - 21463: display un-authorizing message
1043
- # - 21464: display Open Licence files (Network) Window
1044
- # - 21466: display Quick reference Card in Adobe Reader
1045
- # - 21467: display Licences in use dialog box
1046
- # - 21469: zoom extents to selected objects
1047
- # - 21476: perform a non-planar check on selected objects
1048
- # - 21477: list accelerators in window
1049
- # - 21485: erase selected objects
1050
- # - 21487: display Edit current material dialog box
1051
- # - 21485: erase all new created pages
1052
- # - 21488: display Entity Info Window
1053
- # - 21490: display Soften Edges Window
1054
- # - 21491: display Profiles
1055
- # - 21492: display Extended Edges
1056
- # - 21493: display Jitter Lines
1057
- # - 21494: select Field of view tool
1058
- # - 21513: display the outliner
1059
- # - 21520: override Tile Rendering Size dialog box
1060
- # - 21525: select the FollowMe tool
1061
- # - 21542: display the Insert Image Window
1062
- # - 21560 and up: causes a runtime Error
1063
- #
1064
- # @example
1065
- # result = Sketchup.send_action("selectArcTool:")
1066
- #
1067
- # @param [String, Integer] action
1068
- # The action to be performed.
1069
- #
1070
- # @return [Boolean] +true+ if successful, +false+ if unsuccessful
1071
- #
1072
- # @version SketchUp 6.0
1073
- def self.send_action(action)
1074
- end
1075
-
1076
- # The {.send_to_layout} method is used to open a file in LayOut.
1077
- #
1078
- # @example
1079
- # result = Sketchup.send_to_layout("C:/models/hexaflexagon.layout")
1080
- #
1081
- # @param [String] file
1082
- # The path and filename to open, either .skp or .layout.
1083
- #
1084
- # @return [Boolean] true if opening the file succeeded,
1085
- # false otherwise. If LayOut is not installed or the file is not present
1086
- # this function will return false.
1087
- #
1088
- # @version SketchUp 2018
1089
- def self.send_to_layout(file)
1090
- end
1091
-
1092
- # The set_status_text method is used to
1093
- # set the text appearing on the status bar within the drawing window.
1094
- #
1095
- # If no arguments are passed, the status bar content is cleared. Valid
1096
- # positions are:
1097
- #
1098
- # - +SB_PROMPT+ - the text will appear at the left-side of the status bar
1099
- # - +SB_VCB_LABEL+ - the text will appear in place of the VCB label
1100
- # - +SB_VCB_VALUE+ - the text will appear in the VCB
1101
- #
1102
- # @example
1103
- # result = Sketchup.set_status_text("This is a Test", SB_VCB_VALUE)
1104
- # if result
1105
- # #code to do something if set_status_text is successful
1106
- # end
1107
- #
1108
- # @overload set_status_text
1109
- #
1110
- # Clears all status panes.
1111
- # @return [nil]
1112
- #
1113
- # @overload set_status_text(status_text = '', position = SB_PROMPT)
1114
- #
1115
- # @param [String] status text the status text that will appear.
1116
- # @param [Integer] position the position where the text will appear.
1117
- # @return [nil]
1118
- #
1119
- # @version SketchUp 6.0
1120
- def self.set_status_text(*args)
1121
- end
1122
-
1123
- # The status_text= method is used to set the text appearing on the status
1124
- # bar within the drawing window.
1125
- #
1126
- # This is the same as calling set_status_text with a 2nd parameter of
1127
- # SB_PROMPT.
1128
- #
1129
- # @example
1130
- # result = Sketchup.status_text = "This is a Test"
1131
- #
1132
- # @param [String] status_text
1133
- # The status text that will appear.
1134
- #
1135
- # @return [String]
1136
- #
1137
- # @version SketchUp 6.0
1138
- def self.status_text=(status_text)
1139
- end
1140
-
1141
- # The temp_dir method is used to retrieve the OS temporary directory for the
1142
- # current user. You can use this directory to write temporary files that are
1143
- # not required to persist between SketchUp sessions.
1144
- #
1145
- # @example
1146
- # temp_dir = Sketchup.temp_dir
1147
- #
1148
- # @return [String] a string containing the full temporary directory path
1149
- #
1150
- # @version SketchUp 2014
1151
- def self.temp_dir
1152
- end
1153
-
1154
- # The template method is used to get the file name of the current template.
1155
- # Templates are the .skp files that are loaded when the user select File > New.
1156
- #
1157
- # @example
1158
- # name = Sketchup.template
1159
- #
1160
- # @return [String] the current template
1161
- #
1162
- # @version SketchUp 6.0
1163
- def self.template
1164
- end
1165
-
1166
- # The template= method is used to set the file name of the current template.
1167
- # Templates are the .skp files that are loaded when the user select File > New.
1168
- #
1169
- # @example
1170
- # status = Sketchup.template = "filename"
1171
- #
1172
- # @param [String] filename
1173
- # The name of the template to set.
1174
- #
1175
- # @return [String] true if successful, false if unsuccessful.
1176
- #
1177
- # @version SketchUp 6.0
1178
- def self.template=(filename)
1179
- end
1180
-
1181
- # The template_dir is used to retrieve the directory where templates are
1182
- # stored by the SketchUp install. Templates are the .skp files that are loaded
1183
- # when the user select File > New.
1184
- #
1185
- # @example
1186
- # directory = Sketchup.template_dir
1187
- #
1188
- # @return [String] containing the full template directory path
1189
- #
1190
- # @version SketchUp 6.0
1191
- def self.template_dir
1192
- end
1193
-
1194
- # The undo method is used undo the last transaction on the undo stack.
1195
- #
1196
- # @example
1197
- # Sketchup.undo
1198
- #
1199
- # @return [nil]
1200
- #
1201
- # @version SketchUp 6.0
1202
- def self.undo
1203
- end
1204
-
1205
- # The vcb_label= method is used to set the label that appears on the vcb,
1206
- # or the "value control box", which is another word for the "measurements"
1207
- # text entry box that appears at the bottom on the SketchUp window.
1208
- #
1209
- # This is the same as calling set_status_text with a 2nd parameter of
1210
- # SB_VCB_LABEL.
1211
- #
1212
- # @example
1213
- # result = Sketchup.vcb_label = "This is a Test"
1214
- #
1215
- # @param [String] label_text
1216
- # The label text that will appear.
1217
- #
1218
- # @return [String]
1219
- #
1220
- # @version SketchUp 6.0
1221
- def self.vcb_label=(label_text)
1222
- end
1223
-
1224
- # The vcb_value= method is used to set the value that appears on the vcb,
1225
- # or the "value control box", which is another word for the "measurements"
1226
- # text entry box that appears at the bottom on the SketchUp window.
1227
- #
1228
- # This is the same as calling set_status_text with a 2nd parameter of
1229
- # SB_VCB_VALUE.
1230
- #
1231
- # @example
1232
- # result = Sketchup.vcb_value = "This is a Test"
1233
- #
1234
- # @param [String] value
1235
- # The text that will appear as the vcb's value.
1236
- #
1237
- # @return [String]
1238
- #
1239
- # @version SketchUp 6.0
1240
- def self.vcb_value=(value)
1241
- end
1242
-
1243
- # Gets the current version of sketchup in decimal form.
1244
- #
1245
- # @example
1246
- # version = Sketchup.version
1247
- # if (version)
1248
- # UI.messagebox version
1249
- # else
1250
- # return
1251
- # end
1252
- #
1253
- # @return [String] the decimal form of the version
1254
- #
1255
- # @version SketchUp 6.0
1256
- def self.version
1257
- end
1258
-
1259
- # Get the current version of sketchup as a whole number for comparisons. The
1260
- # number returned has the major, minor, and build values packed into an integer
1261
- # value as follows:
1262
- # - Major version = X
1263
- # - Minor version = Y
1264
- # - Build number = Z
1265
- #
1266
- # SketchUp 6.0 - SketchUp 2015
1267
- # - XXYYYZZZ
1268
- #
1269
- # SketchUp 2016+
1270
- # - XXYZZZZZZZ
1271
- #
1272
- # @example
1273
- # if (15003000...15004000) === Sketchup.version_number
1274
- # puts "SketchUp 15.3"
1275
- # end
1276
- # if Sketchup.version_number >= 1600000000
1277
- # puts "New format"
1278
- # end
1279
- #
1280
- # @return [Integer] the whole number form of the version
1281
- #
1282
- # @version SketchUp 6.0
1283
- def self.version_number(*args)
1284
- end
1285
-
1286
- # The write_default method is used to set the string associated with a
1287
- # variable within the specified sub-section of a .plist file on the Mac
1288
- # or the registry on Windows
1289
- # (within the Software > SketchUp > SketchUp [Version] section).
1290
- #
1291
- # @example
1292
- # result = Sketchup.write_default("section", "key", "my_value")
1293
- #
1294
- # @param [String] section
1295
- # A section in a .plist file (Mac) or the registry
1296
- # (Windows).
1297
- #
1298
- # @param [String] key
1299
- # A key within the section.
1300
- #
1301
- # @param [Object] value
1302
- # The value to store.
1303
- #
1304
- # @return [Boolean] True if successful, false if unsuccessful.
1305
- #
1306
- # @version SketchUp 6.0
1307
- def self.write_default(section, key, value)
1308
- end
1309
-
1310
- end
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Sketchup module contains a number of important utility methods for use in
5
+ # your Ruby scripts. Many of the classes in the API are implemented beneath
6
+ # this module. You can think of the Sketchup module as the "root" of the
7
+ # application tree. Most ruby calls start from the currently active model, and
8
+ # this is accessed via the Sketchup.active_model method.
9
+ #
10
+ # @example
11
+ # # Grab a handle to the currently active model (aka the one the user is
12
+ # # looking at in SketchUp.)
13
+ # model = Sketchup.active_model
14
+ #
15
+ # # Grab other handles to commonly used collections inside the model.
16
+ # entities = model.entities
17
+ # layers = model.layers
18
+ # materials = model.materials
19
+ # component_definitions = model.definitions
20
+ # selection = model.selection
21
+ #
22
+ # # Now that we have our handles, we can start pulling objects and making
23
+ # # method calls that are useful.
24
+ # first_entity = entities[0]
25
+ # UI.messagebox("First thing in your model is a " + first_entity.typename)
26
+ #
27
+ # number_materials = materials.length
28
+ # UI.messagebox("Your model has " + number_materials.to_s + " materials.")
29
+ #
30
+ # new_edge = entities.add_line( [0,0,0], [500,500,0])
31
+ #
32
+ # @version SketchUp 6.0
33
+ module Sketchup
34
+
35
+ # Class Methods
36
+
37
+ # The active_model method returns the currently active SketchUp model. On the
38
+ # PC, this is the only model that one can have access to via the API, but
39
+ # Macintosh versions of SketchUp can have multiple models open at once, in
40
+ # which case the method will return the model that the user currently has
41
+ # focused.
42
+ #
43
+ # @example
44
+ # model = Sketchup.active_model
45
+ # if !model
46
+ # UI.messagebox("Failure")
47
+ # else
48
+ # # code acting on the model
49
+ # end
50
+ #
51
+ # @return [Sketchup::Model] active model object if successful, false if
52
+ # unsuccessful
53
+ #
54
+ # @version SketchUp 6.0
55
+ def self.active_model
56
+ end
57
+
58
+ # The add_observer method is used to add an observer to the current object.
59
+ #
60
+ # @example
61
+ # status = Sketchup.add_observer(observer)
62
+ #
63
+ # @param [Object] observer
64
+ # An observer.
65
+ #
66
+ # @return [Boolean] true if successful, false if unsuccessful.
67
+ #
68
+ # @version SketchUp 6.0
69
+ def self.add_observer(observer)
70
+ end
71
+
72
+ # The app_name method is used to retrieve the current application name.
73
+ #
74
+ # @example
75
+ # name = Sketchup.app_name
76
+ #
77
+ # @return [String] the name of the application, either
78
+ # "SketchUp Pro" or "SketchUp".
79
+ # Note: For versions earlier than SketchUp8 M4
80
+ # (Mac 8.0.15157 and Windows 8.0.15158) this function will
81
+ # return "Google SketchUp Pro" or "Google SketchUp".
82
+ #
83
+ # @version SketchUp 6.0
84
+ def self.app_name
85
+ end
86
+
87
+ # The break_edges= method can be used to disable or enable the break edges
88
+ # feature. Break edges is the SketchUp 7 feature that automatically splits
89
+ # edges that the user draws which cross over one another.
90
+ #
91
+ # This feature is always on by default and cannot be disabled by the user
92
+ # via the user interface, but you can call this method to disable it. Be
93
+ # cautious in doing so, however, as the resulting model could then be altered
94
+ # when the user later draws lines into it with the break edges feature
95
+ # reactivated.
96
+ #
97
+ # @example
98
+ # Sketchup.break_edges = false
99
+ #
100
+ # @param [Boolean] enabled
101
+ # If true, break edges will be turned on. If false, it
102
+ # will be deactivated.
103
+ #
104
+ # @return [Boolean] true if break edges was turned on.
105
+ #
106
+ # @version SketchUp 7.0
107
+ def self.break_edges=(enabled)
108
+ end
109
+
110
+ # The break_edges? method indicates whether the break edges feature is
111
+ # currently turned on. Break edges is the SketchUp 7 feature that
112
+ # automatically splits edges that the user draws which cross over one another.
113
+ # This feature is always on by default and cannot be disabled by the user
114
+ # via the user interface.
115
+ #
116
+ # @example
117
+ # is_on = Sketchup.break_edges?
118
+ #
119
+ # @return [Boolean]
120
+ #
121
+ # @version SketchUp 7.0
122
+ def self.break_edges?
123
+ end
124
+
125
+ # The create_texture_writer method is used to create a TextureWriter object.
126
+ #
127
+ # @example
128
+ # texturewriter = Sketchup.create_texture_writer
129
+ #
130
+ # @return [Sketchup::TextureWriter] a texturewriter object if successful.
131
+ #
132
+ # @version SketchUp 6.0
133
+ def self.create_texture_writer
134
+ end
135
+
136
+ # The debug_mode= method lets you controls whether SketchUp will output
137
+ # warnings to the console when it detects incorrect usage of the API.
138
+ # The setting takes effect right away, no need to restart SketchUp.
139
+ #
140
+ # @example
141
+ # Sketchup.debug_mode = true
142
+ #
143
+ # @note Changing this value within your extension can cause problems for other
144
+ # extension developers who rely on the debug information for their own work.
145
+ # Only use this locally; never change this value in an extension you
146
+ # publish.
147
+ #
148
+ # @param [Boolean] enabled
149
+ # If true, SketchUp will produce debug warnings.
150
+ #
151
+ # @return [Boolean]
152
+ #
153
+ # @version SketchUp 2016
154
+ def self.debug_mode=(enabled)
155
+ end
156
+
157
+ # The debug_mode? controls whether SketchUp will output warnings to the console
158
+ # when it detects incorrect usage of the API.
159
+ #
160
+ # @example
161
+ # debug_mode = Sketchup.debug_mode?
162
+ #
163
+ # @return [Boolean]
164
+ #
165
+ # @version SketchUp 2016
166
+ def self.debug_mode?
167
+ end
168
+
169
+ # The display_name_from_action method is used to gets a user-friendly name
170
+ # from an action string. See Sketchup.send_action for a list of valid
171
+ # action strings.
172
+ #
173
+ # @example
174
+ # Sketchup.display_name_from_action("viewRight:")
175
+ #
176
+ # @note This method has been non-functional on Mac since SketchUp 8.
177
+ #
178
+ # @param [String] action_name
179
+ # An action string.
180
+ #
181
+ # @return [String] a friendly name.
182
+ #
183
+ # @version SketchUp 6.0
184
+ def self.display_name_from_action(action_name)
185
+ end
186
+
187
+ # Returns the ExtensionsManager where you can find all registered
188
+ # SketchupExtension objects.
189
+ #
190
+ # #{extension.loaded?}"
191
+ # }
192
+ #
193
+ # @example
194
+ # extensions = Sketchup.extensions
195
+ # extensions.each{ |extension|
196
+ # puts "The next extension is named: #{extension.name} and its loaded? state is:
197
+ #
198
+ # @return [Sketchup::ExtensionsManager] an ExtensionsManager object.
199
+ #
200
+ # @version SketchUp 8.0 M2
201
+ def self.extensions
202
+ end
203
+
204
+ # The file_new method is used to create a new file.
205
+ #
206
+ # @example
207
+ # new_sketchup = Sketchup.file_new
208
+ #
209
+ # @return [Module] The Sketchup module.
210
+ #
211
+ # @version SketchUp 6.0
212
+ def self.file_new
213
+ end
214
+
215
+ # The find_support_files method is used to retrieve the relative path and name
216
+ # of a file within the SketchUp installation directory.
217
+ #
218
+ # Forward slashes must be used to delimit between directory names.
219
+ #
220
+ # @example
221
+ # help_file = Sketchup.find_support_file("help.html", "Plugins/")
222
+ # if help_file
223
+ # # Print out the help_file full path
224
+ # UI.messagebox(help_file)
225
+ #
226
+ # # Open the help_file in a web browser
227
+ # UI.openURL("file://" + help_file)
228
+ # else
229
+ # UI.messagebox("Failure")
230
+ # end
231
+ #
232
+ # @param [String] filename
233
+ # Name of the filename you want to find.
234
+ #
235
+ # @param [String] directory
236
+ # directory relative to the SketchUp
237
+ # installation directory.
238
+ #
239
+ # @return [String] the entire path if successful. If unsuccessful,
240
+ # the method returns false.
241
+ #
242
+ # @version SketchUp 6.0
243
+ def self.find_support_file(filename, directory)
244
+ end
245
+
246
+ # The find_support_files method is used to retrieve the path and name of all
247
+ # matching files within the SketchUp installation directory.
248
+ #
249
+ # Forward slashes must be used to delimit between directory names.
250
+ #
251
+ # @example
252
+ # files = Sketchup.find_support_files('rb', 'Plugins')
253
+ #
254
+ # @param [String] filename
255
+ # Extension of the files to be found.
256
+ #
257
+ # @param [String] directory
258
+ # directory relative to the SketchUp installation
259
+ # directory. Without this the result will
260
+ # be empty.
261
+ #
262
+ # @return [Array<String>] an array of files. If unsuccessful, the method
263
+ # returns false.
264
+ #
265
+ # @version SketchUp 6.0
266
+ def self.find_support_files(filename, directory)
267
+ end
268
+
269
+ # The fix_shadow_strings= method lets you control whether shadow rendering
270
+ # attempts to fix an artifact commonly referred to as "strings". The fix
271
+ # is actually very model dependent and not controllable from the UI, so this
272
+ # method can be used to control it.
273
+ #
274
+ # @example
275
+ # Sketchup.fix_shadow_strings = true
276
+ #
277
+ # @param [Boolean] enabled
278
+ # If true, shadow strings fix will be turned on. If
279
+ # false, it will be deactivated.
280
+ #
281
+ # @return [Boolean] true if shadow strings fix was turned on.
282
+ #
283
+ # @version SketchUp 8.0 M1
284
+ def self.fix_shadow_strings=(enabled)
285
+ end
286
+
287
+ # The fix_shadow_strings? method indicates whether the a fix for a shadow
288
+ # rendering artifact commonly referred to as "strings" is enabled. The fix
289
+ # is actually very model dependent and not controllable from the UI, so this
290
+ # method can be used to test it.
291
+ #
292
+ # @example
293
+ # is_on = Sketchup.fix_shadow_strings?
294
+ #
295
+ # @return [Boolean]
296
+ #
297
+ # @version SketchUp 8.0 M1
298
+ def self.fix_shadow_strings?
299
+ end
300
+
301
+ # The {.focus} method is used to focus the active model window.
302
+ #
303
+ # @example
304
+ # Sketchup.focus
305
+ #
306
+ # @see UI::HtmlDialog.bring_to_front
307
+ #
308
+ # @version SketchUp 2021.1
309
+ def self.focus
310
+ end
311
+
312
+ # The format_angle method takes a number as an angle in radians and formats it
313
+ # into degrees. For example, format_angle(Math::PI) will return 180.0.
314
+ #
315
+ # @example
316
+ # degrees = Sketchup.format_angle(Math::PI)
317
+ #
318
+ # @param [Numeric] number
319
+ # A number to be formatted.
320
+ #
321
+ # @return [String] an angle in degrees if successful, false if unsuccessful
322
+ #
323
+ # @version SketchUp 6.0
324
+ def self.format_angle(number)
325
+ end
326
+
327
+ # The {.format_area} method formats a number as an area using the current units
328
+ # settings.
329
+ #
330
+ # The +number+ must be in square inches.
331
+ #
332
+ # @example
333
+ # number = 3.m * 4.m # This will result in 12m2 in inches.
334
+ # formatted_area = Sketchup.format_area(number)
335
+ #
336
+ # @param [Numeric] number
337
+ # A number to be formatted.
338
+ #
339
+ # @return [String]
340
+ #
341
+ # @version SketchUp 6.0
342
+ def self.format_area(number)
343
+ end
344
+
345
+ # The format_degrees method formats a number as an angle given in degrees. For
346
+ # example, 10 becomes 10.0. This is the equivalent to a to_f call.
347
+ #
348
+ # @example
349
+ # degrees = Sketchup.format_degrees(number)
350
+ #
351
+ # @param [Numeric] number
352
+ # A number to be formatted.
353
+ #
354
+ # @return [String] degrees if successful, false if unsuccessful.
355
+ #
356
+ # @version SketchUp 6.0
357
+ def self.format_degrees(number)
358
+ end
359
+
360
+ # The {.format_length} method formats a number as a length using the current
361
+ # units settings.
362
+ #
363
+ # The default unit setting is inches. For example, 10 becomes 10".
364
+ #
365
+ # @example
366
+ # length = Sketchup.format_length(10)
367
+ #
368
+ # @overload format_length(number)
369
+ #
370
+ # @param [Numeric] number A number to be formatted.
371
+ #
372
+ # @overload format_length(number, precision)
373
+ #
374
+ # @param [Numeric] number A number to be formatted.
375
+ # @param [Integer] number A custom precision. Negative number will strip
376
+ # trailing zeros.
377
+ #
378
+ # @return [String]
379
+ #
380
+ # @version SketchUp 6.0
381
+ def self.format_length(*args)
382
+ end
383
+
384
+ # The {.format_volume} method formats a number as a volume using the current
385
+ # units settings.
386
+ #
387
+ # The +number+ must be in cubic inches.
388
+ #
389
+ # @example
390
+ # number = 3.m * 4.m * 5.m # This will result in 60m3 in inches.
391
+ # formatted_volume = Sketchup.format_area(number)
392
+ #
393
+ # @param [Numeric] number
394
+ # A number to be formatted.
395
+ #
396
+ # @return [String]
397
+ #
398
+ # @version SketchUp 2019.2
399
+ def self.format_volume(number)
400
+ end
401
+
402
+ # The get_datfile_info method is used to retrieve the value for the given key
403
+ # from Sketchup.dat.
404
+ #
405
+ # If the key is not found, default_value is returned.
406
+ #
407
+ # @example
408
+ # value = Sketchup.get_datfile_info(key, default_value)
409
+ #
410
+ # @param [String] key
411
+ # The key whose value you want to retrieve.
412
+ #
413
+ # @param [String] default_value
414
+ # The default value you want returned if key is not
415
+ # available.
416
+ #
417
+ # @return [String] a string value if successful.
418
+ #
419
+ # @version SketchUp 6.0
420
+ def self.get_datfile_info(key, default_value)
421
+ end
422
+
423
+ # The {.get_i18n_datfile_info} method is used to retrieve the value for the
424
+ # given key from the internationalization file that SketchUp uses to work
425
+ # in multiple languages.
426
+ #
427
+ # If the +key+ is not found, +default_value+ is returned.
428
+ #
429
+ # @example
430
+ # value = Sketchup.get_i18n_datfile_info(key, default_value)
431
+ #
432
+ # @param [String] key
433
+ # The key whose value you want to retrieve.
434
+ #
435
+ # @param [String] default_value
436
+ # The default value you want returned if key is not
437
+ # available.
438
+ #
439
+ # @return [String]
440
+ #
441
+ # @version SketchUp 6.0
442
+ def self.get_i18n_datfile_info(key, default_value)
443
+ end
444
+
445
+ # The os_language method returns the language code for the language SketchUp
446
+ # is running in. This is an alias for the get_locale method.
447
+ #
448
+ # Examples of return values are: en-US, fr, it, de, es, ja, ko, zh-CN, zh-TW,
449
+ # pt-BR, nl, ru and sv. For an up to date list os supported languages, see
450
+ # the SketchUp download page.
451
+ #
452
+ # @example
453
+ # language = Sketchup.os_language
454
+ #
455
+ # @return [String] a code representing the language SketchUp
456
+ # is displaying.
457
+ #
458
+ # @version SketchUp 6.0
459
+ def self.get_locale
460
+ end
461
+
462
+ # The get_resource_path is used to retrieve the directory where "resource"
463
+ # files are stored by SketchUp. Resource files include things like language
464
+ # localization files.
465
+ #
466
+ # @example
467
+ # directory = Sketchup.get_resource_path("Styles.strings")
468
+ #
469
+ # @param [String] filename
470
+ # The filename of a resource file in the resource directory hierarchy.
471
+ #
472
+ # @return [String] the directory path to the resources folder.
473
+ #
474
+ # @version SketchUp 6.0
475
+ def self.get_resource_path(filename)
476
+ end
477
+
478
+ # The get_shortcuts method retrieves an array of all keyboard shortcuts
479
+ # currently registered with SketchUp. Each shortcut is returned as a
480
+ # string with the shortcut and the command separated by a tab, similar
481
+ # to "Ctrl+A\\tEdit/Select All"
482
+ #
483
+ # @example
484
+ # shortcuts = Sketchup.get_shortcuts
485
+ #
486
+ # @return [Array<String>] an array of shortcut strings.
487
+ #
488
+ # @version SketchUp 6.0
489
+ def self.get_shortcuts
490
+ end
491
+
492
+ # Installs the contents of a ZIP archive file into SketchUp's Plugins folder.
493
+ # If the ZIP contains subfolders, these will be preserved. This allows for a
494
+ # Ruby API plugin or Extension developer to distribute their plugin as a single
495
+ # file regardless of how many asset files must be included.
496
+ #
497
+ # The user will be shown a warning message that they must agree to before the
498
+ # install proceeds. If they do not agree, an Interrupt error will be raised.
499
+ # If the user does agree but there is a problem with the unzip process, an
500
+ # Exception will be raised. You can capture these states via a begin/rescue.
501
+ # See the example below.
502
+ #
503
+ # If the install is successful, any Ruby files that have been added to
504
+ # the Plugins folder will immediately be executed, saving the user a restart.
505
+ #
506
+ # To create an archive file, use your favorite tool (7zip, Winzip, etc.) to zip
507
+ # up any files and folders in your plugins directory. If the archive contains a
508
+ # SketchupExtension that you would like users to be able to install from the
509
+ # Preferences > Extensions panel, rename your file to have a .rbz file
510
+ # extension.
511
+ #
512
+ # @example
513
+ # path = 'c:/temp/SomePluginPackage.zip'
514
+ # begin
515
+ # Sketchup.install_from_archive(path)
516
+ # rescue Interrupt => error
517
+ # UI.messagebox("User said 'no': " + error)
518
+ # rescue Exception => error
519
+ # UI.messagebox("Error during unzip: " + error)
520
+ # end
521
+ #
522
+ # @param [String] filepath
523
+ # The path to the RBZ or ZIP file to install.
524
+ #
525
+ # @param [Boolean] show_warning
526
+ # Whether to warn the user not to install untrusted extensions.
527
+ # In certain cases the warning can be confusing and redundant, e.g. when
528
+ # automatically updating a trusted extension. When the user has selected
529
+ # the archive themselves, it is best to warn about the possible risks.
530
+ #
531
+ # @raise [Exception] If the archive cannot be installed.
532
+ #
533
+ # @raise [Interrupt] If the user cancel the installation.
534
+ #
535
+ # @raise [Exception] If the archive cannot be found.
536
+ #
537
+ # @return [Boolean]
538
+ #
539
+ # @version SketchUp 8.0 M2
540
+ def self.install_from_archive(filepath, show_warning = true)
541
+ end
542
+
543
+ # This methods indicates whether the host SketchUp application is 64bit.
544
+ # Useful for extensions that ship with binaries and need to determine
545
+ # which versions to load.
546
+ #
547
+ # @example
548
+ # # For backward compatibility, check for the existence of the method
549
+ # # and load 32bit binaries for SketchUp versions that do not have this
550
+ # # method.
551
+ # if Sketchup.respond_to?(:is_64bit?) && Sketchup.is_64bit?
552
+ # # Load 64bit binaries.
553
+ # else
554
+ # # Load 32bit binaries.
555
+ # end
556
+ #
557
+ # @return [Boolean]
558
+ #
559
+ # @version SketchUp 2015
560
+ def self.is_64bit?
561
+ end
562
+
563
+ # The is_online method is used to verify a connection to the Internet. This
564
+ # method can take some time to execute, so be careful not to call it more often
565
+ # than you need.
566
+ #
567
+ # @example
568
+ # status = Sketchup.is_online
569
+ #
570
+ # @return [Boolean] true if successful, false if unsuccessful.
571
+ #
572
+ # @version SketchUp 6.0
573
+ def self.is_online
574
+ end
575
+
576
+ # Returns a boolean flag indicating whether the application is SketchUp Pro.
577
+ #
578
+ # @example
579
+ # if Sketchup.is_pro?
580
+ # UI.messagebox("You are running SU Pro.")
581
+ # end
582
+ #
583
+ # @note In SketchUp Make this method will return +true+ during the Pro trial
584
+ # period and revert to +false+ when the trial period is over.
585
+ #
586
+ # @return [Boolean]
587
+ #
588
+ # @version SketchUp 7.0
589
+ def self.is_pro?
590
+ end
591
+
592
+ # The is_valid_filename? method is used to determine whether a filename
593
+ # contains illegal characters.
594
+ #
595
+ # @example
596
+ # status = Sketchup.is_valid_filename?(filename)
597
+ #
598
+ # @param [String] filename
599
+ # A filename string.
600
+ #
601
+ # @return [Boolean]
602
+ #
603
+ # @version SketchUp 6.0
604
+ def self.is_valid_filename?(filename)
605
+ end
606
+
607
+ # The load method is used to include encrypted and nonencrypted ruby files.
608
+ #
609
+ # You do not need to include the file extension on the path. This method will
610
+ # look for .rb first (unencrypted) and then .rbe (encrypted) and finally .rbs
611
+ # (the deprecated scrambled format) files.
612
+ # See the "Distributing your Plugin" article for details.
613
+ #
614
+ # @example
615
+ # sfile = "application_loader" # file extension not required
616
+ # status = Sketchup.load(sfile)
617
+ #
618
+ # @param [String] path
619
+ # The path, including the filename, to the file you want
620
+ # to require.
621
+ #
622
+ # @return [Boolean] True if the file is included. False if the
623
+ # file is not included.
624
+ #
625
+ # @version SketchUp 6.0
626
+ def self.load(path)
627
+ end
628
+
629
+ # The {.open_file} method is used to open a SketchUp model.
630
+ #
631
+ # @example
632
+ # result = Sketchup.open_file("C:\\model.skp")
633
+ #
634
+ # @overload open_file(filename)
635
+ #
636
+ # @deprecated Prefer +with_status+ overload instead of this variant.
637
+ # @param [String] filename The model file to open.
638
+ # @return [Boolean] +true+ if opening the file succeeded,
639
+ # +false+ otherwise.
640
+ #
641
+ # @overload open_file(filename, with_status: true)
642
+ #
643
+ # Starting with SketchUp 2021.0 SketchUp attempts to load newer SketchUp
644
+ # models. If a newer model is loaded some information might have been skipped
645
+ # and extensions should be careful to not save over the file they loaded from
646
+ # as information might be lost.
647
+ #
648
+ # Success status codes:
649
+ # * {Sketchup::Model::LOAD_STATUS_SUCCESS}
650
+ # * {Sketchup::Model::LOAD_STATUS_SUCCESS_MORE_RECENT}
651
+ #
652
+ # @version SketchUp 2021.0
653
+ # @param [String] filename The model file to open.
654
+ # @return [Integer, false] status code if opening the file succeeded,
655
+ # +false+ otherwise.
656
+ #
657
+ # @version SketchUp 6.0
658
+ def self.open_file(*args)
659
+ end
660
+
661
+ # The os_language method returns the language code for the language SketchUp
662
+ # is running in. This is an alias for the get_locale method.
663
+ #
664
+ # Examples of return values are: en-US, fr, it, de, es, ja, ko, zh-CN, zh-TW,
665
+ # pt-BR, nl, ru and sv. For an up to date list os supported languages, see
666
+ # the SketchUp download page.
667
+ #
668
+ # @example
669
+ # language = Sketchup.os_language
670
+ #
671
+ # @return [String] a code representing the language SketchUp
672
+ # is displaying.
673
+ #
674
+ # @version SketchUp 6.0
675
+ def self.os_language
676
+ end
677
+
678
+ # The parse_length method parses a string as a length.
679
+ #
680
+ # For example, "200" becomes 200.0.
681
+ #
682
+ # @example
683
+ # float = Sketchup.parse_length("2'") # Returns 24 (representing inches)
684
+ # length = float.to_l # Convert to a Length type if needed.
685
+ #
686
+ # @param [String] string
687
+ # The string to be parsed as a number.
688
+ #
689
+ # @return [Float] the numerical representation of the string if
690
+ # successful, or nil if unsuccessful.
691
+ #
692
+ # @version SketchUp 6.0
693
+ def self.parse_length(string)
694
+ end
695
+
696
+ # This methods returns a symbol indicating the current platform.
697
+ #
698
+ # It should be used over RUBY_PLATFORM as this returns a different value for
699
+ # Windows since SketchUp 2014.
700
+ #
701
+ # Older SketchUp versions still need to check
702
+ # <code>RUBY_PLATFORM.include?('mswin')</code> or
703
+ # <code>RUBY_PLATFORM.include?('darwin')</code>.
704
+ #
705
+ # Possible return values:
706
+ # - :platform_win
707
+ # - :platform_osx
708
+ #
709
+ # @example
710
+ # module MyExtension
711
+ # IS_WIN = Sketchup.platform == :platform_win
712
+ # IS_OSX = Sketchup.platform == :platform_osx
713
+ # end
714
+ #
715
+ # @return [Symbol] Current OS platform.
716
+ #
717
+ # @version SketchUp 2014
718
+ def self.platform
719
+ end
720
+
721
+ # The plugins_disabled= method lets you control whether SketchUp will load
722
+ # Ruby scripts from the plugins directory at startup time. This is primarily
723
+ # a trouble-shooting method. If you are having strange behavior in SketchUp
724
+ # that you suspect is from a bad script, you can type
725
+ # Sketchup.plugins_disabled=true into the Ruby console and restart SketchUp
726
+ # to see if the problem is fixed.
727
+ #
728
+ # @example
729
+ # # Type this in the Ruby console then restart SketchUp.
730
+ # Sketchup.plugins_disabled = true
731
+ #
732
+ # # To reactivate plugins, type this into the Ruby console and restart.
733
+ # Sketchup.plugins_disabled = false
734
+ #
735
+ # @param [Boolean] enabled
736
+ # If true, the plugins directory will not load.
737
+ #
738
+ # @return [Boolean] true if plugins were disabled.
739
+ #
740
+ # @version SketchUp 8.0 M2
741
+ def self.plugins_disabled=(enabled)
742
+ end
743
+
744
+ # The plugins_disabled? method indicates whether Ruby scripts in the plugins
745
+ # directory will be loaded at startup time.
746
+ #
747
+ # @example
748
+ # is_disabled = Sketchup.plugins_disabled?
749
+ #
750
+ # @return [Boolean]
751
+ #
752
+ # @version SketchUp 8.0 M2
753
+ def self.plugins_disabled?
754
+ end
755
+
756
+ # The quit method is used to terminate the application. This will pop-up the
757
+ # usual model save prompts if there are unsaved models open. User can cancel
758
+ # the model save, in which case the application will not terminate.
759
+ #
760
+ # @example
761
+ # Sketchup.quit
762
+ # # Do not expect code to execute reliably after this point.
763
+ #
764
+ # @return self
765
+ #
766
+ # @version SketchUp 2014
767
+ def self.quit
768
+ end
769
+
770
+ # The read_default method is used to retrieve the string associated with a
771
+ # value within the specified sub-section section of a .INI file or registry
772
+ # (within the Software > SketchUp > SketchUp [Version] section).
773
+ #
774
+ # @example
775
+ # result = Sketchup.read_default("section", "variable", "default")
776
+ #
777
+ # @param [String] section
778
+ # A section in an .INI or registry.
779
+ #
780
+ # @param [String] variable
781
+ # A variable within the section.
782
+ #
783
+ # @param [Object] default
784
+ # A default value if the value is not found.
785
+ #
786
+ # @return [Object, nil] if unsuccessful, the value of the default
787
+ # if successful.
788
+ #
789
+ # @version SketchUp 6.0
790
+ def self.read_default(section, variable, default = nil)
791
+ end
792
+
793
+ # The redo method is used redo the last transaction on the redo stack.
794
+ #
795
+ # @example
796
+ # Sketchup.redo
797
+ #
798
+ # @return [nil]
799
+ #
800
+ # @version SketchUp 2021.0
801
+ def self.redo
802
+ end
803
+
804
+ # The register_extension method is used to register an extension with
805
+ # SketchUp's extension manager (in SketchUp preferences).
806
+ #
807
+ # @example
808
+ # utilities_extension = SketchupExtension.new("Utilities Tools",
809
+ # "Utilities/utilitiesTools.rb")
810
+ #
811
+ # utilities_extension.description = "Adds Tools->Utilities to the " +
812
+ # "SketchUp inteface. The Utilities submenu contains two tools: " +
813
+ # "Create Face and Query Tool."
814
+ #
815
+ # Sketchup.register_extension(utilities_extension, false)
816
+ #
817
+ # @note It is recommended to set +load_on_start+ to true unless you have a very
818
+ # good reason not to.
819
+ #
820
+ # @param [SketchupExtension] extension
821
+ # A SketchupExtension object.
822
+ #
823
+ # @param [Boolean] load_on_start
824
+ # Passing true into this will load the
825
+ # extension immediately and set it so
826
+ # that it will load automatically
827
+ # whenever SketchUp restarts.
828
+ #
829
+ # @return [Boolean] +true+ if extension registered properly
830
+ #
831
+ # @version SketchUp 6.0
832
+ def self.register_extension(extension, load_on_start = false)
833
+ end
834
+
835
+ # The register_importer method is used to register an importer with SketchUp.
836
+ #
837
+ # @example
838
+ # status = Sketchup.register_importer(importer)
839
+ #
840
+ # @param [Sketchup::Importer] importer
841
+ # An Importer object representing the importer.
842
+ #
843
+ # @return [Boolean] true if successful, false if unsuccessful.
844
+ #
845
+ # @version SketchUp 6.0
846
+ def self.register_importer(importer)
847
+ end
848
+
849
+ # The remove_observer method is used to remove an observer from the current
850
+ # object.
851
+ #
852
+ # @example
853
+ # status = Sketchup.remove_observer(observer)
854
+ #
855
+ # @param [Sketchup::AppObserver] observer
856
+ # An observer.
857
+ #
858
+ # @return [Boolean] true if successful, false if unsuccessful.
859
+ #
860
+ # @version SketchUp 6.0
861
+ def self.remove_observer(observer)
862
+ end
863
+
864
+ # The require method is used to include encrypted and nonencrypted ruby files.
865
+ # This is an alias of the Sketchup.load method.
866
+ #
867
+ # You do not need to include the file extension on the path. This method will
868
+ # look for .rbe first (encrypted) and then .rbs (the deprecated scrambled
869
+ # format) and finally .rb (unencrypted) files. The loading order was changed
870
+ # in SketchUp 2016 when the new .rbe encryption was introduced. Prior to
871
+ # SketchUp 2016 the loading order was first .rb then .rbs.
872
+ #
873
+ # @example
874
+ # sfile = "application_loader" # file extension not required
875
+ # status = Sketchup::require(sfile)
876
+ #
877
+ # @param [String] path
878
+ # The path, including the filename, to the file you want
879
+ # to require.
880
+ #
881
+ # @return [Boolean] True if the file is included. False if the
882
+ # file is not included.
883
+ #
884
+ # @version SketchUp 6.0
885
+ def self.require(path)
886
+ end
887
+
888
+ # The save_thumbnail method is used to generate a thumbnail for any SKP file -
889
+ # not necessarily the loaded model.
890
+ #
891
+ # @example
892
+ # status = Sketchup.save_thumbnail("skp_filename", "image_filename")
893
+ #
894
+ # @param [String] skp_filename
895
+ # The name of the SketchUp file whose model you want
896
+ # represented in the thumbnail.
897
+ #
898
+ # @param [String] img_filename
899
+ # The name of the file where the thumbnail will be saved.
900
+ #
901
+ # @return [Boolean] true if successful, false if unsuccessful.
902
+ #
903
+ # @version SketchUp 6.0
904
+ def self.save_thumbnail(skp_filename, img_filename)
905
+ end
906
+
907
+ # The send_action method sends a message to the message queue to perform some
908
+ # action asynchronously.
909
+ #
910
+ # Valid actions are:
911
+ # - showRubyPanel:
912
+ # - viewBack:
913
+ # - viewBottom:
914
+ # - viewFront:
915
+ # - viewIso:
916
+ # - viewLeft:
917
+ # - viewRight:
918
+ # - viewTop:
919
+ # - viewPerspective:
920
+ # - viewShowAxes:
921
+ # - viewShowHidden:
922
+ # - viewZoomExtents:
923
+ # - viewZoomToSelection:
924
+ # - viewUndo:
925
+ # - selectOrbitTool:
926
+ # - selectPositionCameraTool:
927
+ # - selectDollyTool:
928
+ # - selectTurnTool:
929
+ # - selectWalkTool:
930
+ # - selectZoomTool:
931
+ # - selectFieldOfViewTool:
932
+ # - selectZoomWindowTool:
933
+ # - pageAdd:
934
+ # - pageDelete:
935
+ # - pageUpdate:
936
+ # - pageNext:
937
+ # - pagePrevious:
938
+ # - renderWireframe:
939
+ # - renderHiddenLine:
940
+ # - renderMonochrome:
941
+ # - renderShaded:
942
+ # - renderTextures:
943
+ # - selectArcTool:
944
+ # - selectArc3PointTool:
945
+ # - selectArc3PointPieTool:
946
+ # - selectAxisTool:
947
+ # - selectCircleTool:
948
+ # - selectEraseTool:
949
+ # - selectFreehandTool:
950
+ # - selectLineTool:
951
+ # - selectMeasureTool:
952
+ # - selectMoveTool:
953
+ # - selectOffsetTool:
954
+ # - selectPaintTool:
955
+ # - selectPolygonTool:
956
+ # - selectProtractorTool:
957
+ # - selectPushPullTool:
958
+ # - selectRectangleTool:
959
+ # - selectRectangle3PointTool:
960
+ # - selectRotateTool:
961
+ # - selectScaleTool:
962
+ # - selectSectionPlaneTool:
963
+ # - selectTextTool:
964
+ # - selectDimensionTool:
965
+ # - selectExtrudeTool:
966
+ # - selectSelectionTool:
967
+ # - editUndo:
968
+ # - editRedo:
969
+ # - editHide:
970
+ # - editUnhide:
971
+ # - fixNonPlanarFaces:
972
+ #
973
+ # Added in SketchUp 8.0+:
974
+ # - addBuilding:
975
+ # - getPhotoTexture:
976
+ # - selectImageIglooTool:
977
+ # - selectNorthTool:
978
+ #
979
+ # Added in SketchUp 2013+:
980
+ # - showExtensionStore:
981
+ #
982
+ # Removed in SketchUp 2013+:
983
+ # - addBuilding:
984
+ #
985
+ # On the PC only, you can also send these numeric values. (Note that these are
986
+ # officially "unsupported" and are not guaranteed to work in current or
987
+ # future versions of the API.)
988
+ #
989
+ # - 10501: set view to Top
990
+ # - 10502: set view to Front
991
+ # - 10503: set view to Rear
992
+ # - 10504: set view to Left
993
+ # - 10505: set view to Right
994
+ # - 10506: set view to Bottom
995
+ # - 10507: set view to Axonometric
996
+ # - 10510: set render mode to Wire
997
+ # - 10511: set render mode to Hidden lines removal
998
+ # - 10512: set render mode to Surfaces Shading
999
+ # - 10513: set render mode to Transparency
1000
+ # - 10519: set camera to ortho (removes perspective)
1001
+ # - 10520: walk tool
1002
+ # - 10521: display the System Preferences dialog box (Files tab)
1003
+ # - 10522: removes axes display
1004
+ # - 10523: pan tool
1005
+ # - 10525: set the interactive eye height feature
1006
+ # - 10526: zoom window
1007
+ # - 10527: zoom extents
1008
+ # - 10529: zoom out 2
1009
+ # - 10531: toggle the Standard toolbar
1010
+ # - 10532: toggle the Camera toolbar
1011
+ # - 10533: display the Shadows Settings dialog box
1012
+ # - 10537: toggle the Views toolbar
1013
+ # - 10538: display the System Preferences dialog box (Display tab)
1014
+ # - 10545: toggle Color ByLayer
1015
+ # - 10546: toggle Shadows toolbar
1016
+ # - 10551: toogle Large icons
1017
+ # - 10576: toggle Render Mode toolbar
1018
+ # - 10596: set Render Mode to No Transparency (Preferences)
1019
+ # - 10597: set Render Mode to Wire (Preferences)
1020
+ # - 10598: set Render Mode to Transparency (Preferences)
1021
+ # - 10599: set Render Mode to Surfaces Shading (Preferences)
1022
+ # - 10600: set Render Mode to Texture (Preferences)
1023
+ # - 10601: set Render Mode to No Texture (Preferences)
1024
+ # - 10602: toggle Shadows
1025
+ # - 10603: toggle Profiles
1026
+ # - 10604: toggle Extension Lines
1027
+ # - 10605: toggle Jitter edges
1028
+ # - 21019: hide Status bar and VCB
1029
+ # - 21020: show Status bar and VCB
1030
+ # - 21022: hide Status bar and VCB
1031
+ # - 21023: place 3d text box
1032
+ # - 21024: select the Measure tool
1033
+ # - 21031: select the Freehand Draw tool
1034
+ # - 21041: select the PushPull tool
1035
+ # - 21048: select the Move tool
1036
+ # - 21052: hide selected objects
1037
+ # - 21056: create face with selected edges closed loop
1038
+ # - 21057: select the Protractor tool
1039
+ # - 21060: display Components Window
1040
+ # - 21061: toggle Draw toolbar
1041
+ # - 21063: toggle Model Bounding Box display
1042
+ # - 21065: select the Arc tool
1043
+ # - 21067: creat a new Page
1044
+ # - 21069: select the Arc 3 Point tool
1045
+ # - 21070: select the Arc 3 Point Pie tool
1046
+ # - 21074: show the Materials Browser Window
1047
+ # - 21076: display the Preferences dialog box (Text activated)
1048
+ # - 21077: display the Tip of the day Window
1049
+ # - 21078: select the Paint Bucket tool
1050
+ # - 21080: display the Page Manager Window
1051
+ # - 21082: display the Macros Dialog Box
1052
+ # - 21086: display the Components Browser Window
1053
+ # - 21094: select the Rectangle tool
1054
+ # - 21095: select the Polygon tool
1055
+ # - 21096: select the Circle tool
1056
+ # - 21098: open the Open Window
1057
+ # - 21100: select the Offset tool
1058
+ # - 21101: select all objects
1059
+ # - 21107: invert selection
1060
+ # - 21112: open the Import Window
1061
+ # - 21124: launch the validity check tool
1062
+ # - 21126: select the Axes tool
1063
+ # - 21029: select the Rotate tool
1064
+ # - 21032: toggle Layer toolbar
1065
+ # - 21036: display the Save as Window
1066
+ # - 21046: spin the model a full 360&deg; and display report
1067
+ # - 21047: fast Pick Time report
1068
+ # - 21049: open the Export model Window
1069
+ # - 21169: select the Position Camera tool
1070
+ # - 21170: display the Preferences, Tour Guide activated
1071
+ # - 21180: create a new Page just right of selected page
1072
+ # - 21200: display the Insert Image Window
1073
+ # - 21233: display Area of selected face
1074
+ # - 21234: display Area of all faces with selected material
1075
+ # - 21236: select the Scale tool
1076
+ # - 21237: display the Export 2D Graphics Window
1077
+ # - 21245: display a Polygon Offset Factors dialog box
1078
+ # - 21276: reverse selected face(s)
1079
+ # - 21287: select the Divide feature
1080
+ # - 21337: select the Section Plane Placement tool
1081
+ # - 21354: open the Layer Window
1082
+ # - 21386: open the Export Animation Window
1083
+ # - 21405: select the Text tool
1084
+ # - 21406: display Fog dialog box
1085
+ # - 21410: select the Dim tool
1086
+ # - 21433: toggle Edit toolbar
1087
+ # - 21442: select the FollowMe tool
1088
+ # - 21448: select the Axes tool
1089
+ # - 21453: select all objects
1090
+ # - 21460: display Licence
1091
+ # - 21462: display Authorization dialog box
1092
+ # - 21463: display un-authorizing message
1093
+ # - 21464: display Open Licence files (Network) Window
1094
+ # - 21466: display Quick reference Card in Adobe Reader
1095
+ # - 21467: display Licences in use dialog box
1096
+ # - 21469: zoom extents to selected objects
1097
+ # - 21476: perform a non-planar check on selected objects
1098
+ # - 21477: list accelerators in window
1099
+ # - 21485: erase selected objects
1100
+ # - 21487: display Edit current material dialog box
1101
+ # - 21485: erase all new created pages
1102
+ # - 21488: display Entity Info Window
1103
+ # - 21490: display Soften Edges Window
1104
+ # - 21491: display Profiles
1105
+ # - 21492: display Extended Edges
1106
+ # - 21493: display Jitter Lines
1107
+ # - 21494: select Field of view tool
1108
+ # - 21513: display the outliner
1109
+ # - 21520: override Tile Rendering Size dialog box
1110
+ # - 21525: select the FollowMe tool
1111
+ # - 21542: display the Insert Image Window
1112
+ # - 21560 and up: causes a runtime Error
1113
+ #
1114
+ # @example
1115
+ # result = Sketchup.send_action("selectArcTool:")
1116
+ #
1117
+ # @param [String, Integer] action
1118
+ # The action to be performed.
1119
+ #
1120
+ # @return [Boolean] +true+ if successful, +false+ if unsuccessful
1121
+ #
1122
+ # @version SketchUp 6.0
1123
+ def self.send_action(action)
1124
+ end
1125
+
1126
+ # The {.send_to_layout} method is used to open a file in LayOut.
1127
+ #
1128
+ # @example
1129
+ # result = Sketchup.send_to_layout("C:/models/hexaflexagon.layout")
1130
+ #
1131
+ # @param [String] file
1132
+ # The path and filename to open, either .skp or .layout.
1133
+ #
1134
+ # @return [Boolean] true if opening the file succeeded,
1135
+ # false otherwise. If LayOut is not installed or the file is not present
1136
+ # this function will return false.
1137
+ #
1138
+ # @version SketchUp 2018
1139
+ def self.send_to_layout(file)
1140
+ end
1141
+
1142
+ # The set_status_text method is used to
1143
+ # set the text appearing on the status bar within the drawing window.
1144
+ #
1145
+ # If no arguments are passed, the status bar content is cleared. Valid
1146
+ # positions are:
1147
+ #
1148
+ # - +SB_PROMPT+ - the text will appear at the left-side of the status bar
1149
+ # - +SB_VCB_LABEL+ - the text will appear in place of the VCB label
1150
+ # - +SB_VCB_VALUE+ - the text will appear in the VCB
1151
+ #
1152
+ # @example
1153
+ # result = Sketchup.set_status_text("This is a Test", SB_VCB_VALUE)
1154
+ # if result
1155
+ # #code to do something if set_status_text is successful
1156
+ # end
1157
+ #
1158
+ # @overload set_status_text
1159
+ #
1160
+ # Clears all status panes.
1161
+ # @return [nil]
1162
+ #
1163
+ # @overload set_status_text(status_text = '', position = SB_PROMPT)
1164
+ #
1165
+ # @param [String] status text the status text that will appear.
1166
+ # @param [Integer] position the position where the text will appear.
1167
+ # @return [nil]
1168
+ #
1169
+ # @version SketchUp 6.0
1170
+ def self.set_status_text(*args)
1171
+ end
1172
+
1173
+ # The status_text= method is used to set the text appearing on the status
1174
+ # bar within the drawing window.
1175
+ #
1176
+ # This is the same as calling set_status_text with a 2nd parameter of
1177
+ # SB_PROMPT.
1178
+ #
1179
+ # @example
1180
+ # result = Sketchup.status_text = "This is a Test"
1181
+ #
1182
+ # @param [String] status_text
1183
+ # The status text that will appear.
1184
+ #
1185
+ # @return [String]
1186
+ #
1187
+ # @version SketchUp 6.0
1188
+ def self.status_text=(status_text)
1189
+ end
1190
+
1191
+ # The temp_dir method is used to retrieve the OS temporary directory for the
1192
+ # current user. You can use this directory to write temporary files that are
1193
+ # not required to persist between SketchUp sessions.
1194
+ #
1195
+ # @example
1196
+ # temp_dir = Sketchup.temp_dir
1197
+ #
1198
+ # @return [String] a string containing the full temporary directory path
1199
+ #
1200
+ # @version SketchUp 2014
1201
+ def self.temp_dir
1202
+ end
1203
+
1204
+ # The template method is used to get the file name of the current template.
1205
+ # Templates are the .skp files that are loaded when the user select File > New.
1206
+ #
1207
+ # @example
1208
+ # name = Sketchup.template
1209
+ #
1210
+ # @return [String] the current template
1211
+ #
1212
+ # @version SketchUp 6.0
1213
+ def self.template
1214
+ end
1215
+
1216
+ # The template= method is used to set the file name of the current template.
1217
+ # Templates are the .skp files that are loaded when the user select File > New.
1218
+ #
1219
+ # @example
1220
+ # status = Sketchup.template = "filename"
1221
+ #
1222
+ # @param [String] filename
1223
+ # The name of the template to set.
1224
+ #
1225
+ # @return [String] true if successful, false if unsuccessful.
1226
+ #
1227
+ # @version SketchUp 6.0
1228
+ def self.template=(filename)
1229
+ end
1230
+
1231
+ # The template_dir is used to retrieve the directory where templates are
1232
+ # stored by the SketchUp install. Templates are the .skp files that are loaded
1233
+ # when the user select File > New.
1234
+ #
1235
+ # @example
1236
+ # directory = Sketchup.template_dir
1237
+ #
1238
+ # @return [String] containing the full template directory path
1239
+ #
1240
+ # @version SketchUp 6.0
1241
+ def self.template_dir
1242
+ end
1243
+
1244
+ # The undo method is used undo the last transaction on the undo stack.
1245
+ #
1246
+ # @example
1247
+ # Sketchup.undo
1248
+ #
1249
+ # @return [nil]
1250
+ #
1251
+ # @version SketchUp 6.0
1252
+ def self.undo
1253
+ end
1254
+
1255
+ # The vcb_label= method is used to set the label that appears on the vcb,
1256
+ # or the "value control box", which is another word for the "measurements"
1257
+ # text entry box that appears at the bottom on the SketchUp window.
1258
+ #
1259
+ # This is the same as calling set_status_text with a 2nd parameter of
1260
+ # SB_VCB_LABEL.
1261
+ #
1262
+ # @example
1263
+ # result = Sketchup.vcb_label = "This is a Test"
1264
+ #
1265
+ # @param [String] label_text
1266
+ # The label text that will appear.
1267
+ #
1268
+ # @return [String]
1269
+ #
1270
+ # @version SketchUp 6.0
1271
+ def self.vcb_label=(label_text)
1272
+ end
1273
+
1274
+ # The vcb_value= method is used to set the value that appears on the vcb,
1275
+ # or the "value control box", which is another word for the "measurements"
1276
+ # text entry box that appears at the bottom on the SketchUp window.
1277
+ #
1278
+ # This is the same as calling set_status_text with a 2nd parameter of
1279
+ # SB_VCB_VALUE.
1280
+ #
1281
+ # @example
1282
+ # result = Sketchup.vcb_value = "This is a Test"
1283
+ #
1284
+ # @param [String] value
1285
+ # The text that will appear as the vcb's value.
1286
+ #
1287
+ # @return [String]
1288
+ #
1289
+ # @version SketchUp 6.0
1290
+ def self.vcb_value=(value)
1291
+ end
1292
+
1293
+ # Gets the current version of sketchup in decimal form.
1294
+ #
1295
+ # @example
1296
+ # version = Sketchup.version
1297
+ # if (version)
1298
+ # UI.messagebox version
1299
+ # else
1300
+ # return
1301
+ # end
1302
+ #
1303
+ # @return [String] the decimal form of the version
1304
+ #
1305
+ # @version SketchUp 6.0
1306
+ def self.version
1307
+ end
1308
+
1309
+ # Get the current version of sketchup as a whole number for comparisons. The
1310
+ # number returned has the major, minor, and build values packed into an integer
1311
+ # value as follows:
1312
+ # - Major version = X
1313
+ # - Minor version = Y
1314
+ # - Build number = Z
1315
+ #
1316
+ # SketchUp 6.0 - SketchUp 2015
1317
+ # - XXYYYZZZ
1318
+ #
1319
+ # SketchUp 2016+
1320
+ # - XXYZZZZZZZ
1321
+ #
1322
+ # @example
1323
+ # if (15003000...15004000) === Sketchup.version_number
1324
+ # puts "SketchUp 15.3"
1325
+ # end
1326
+ # if Sketchup.version_number >= 1600000000
1327
+ # puts "New format"
1328
+ # end
1329
+ #
1330
+ # @return [Integer] the whole number form of the version
1331
+ #
1332
+ # @version SketchUp 6.0
1333
+ def self.version_number(*args)
1334
+ end
1335
+
1336
+ # The write_default method is used to set the string associated with a
1337
+ # variable within the specified sub-section of a .plist file on the Mac
1338
+ # or the registry on Windows
1339
+ # (within the Software > SketchUp > SketchUp [Version] section).
1340
+ #
1341
+ # @example
1342
+ # result = Sketchup.write_default("section", "key", "my_value")
1343
+ #
1344
+ # @param [String] section
1345
+ # A section in a .plist file (Mac) or the registry
1346
+ # (Windows).
1347
+ #
1348
+ # @param [String] key
1349
+ # A key within the section.
1350
+ #
1351
+ # @param [Object] value
1352
+ # The value to store.
1353
+ #
1354
+ # @return [Boolean] True if successful, false if unsuccessful.
1355
+ #
1356
+ # @version SketchUp 6.0
1357
+ def self.write_default(section, key, value)
1358
+ end
1359
+
1360
+ end