sketchup-api-stubs 0.6.1 → 0.7.4

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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -0
  3. data/lib/sketchup-api-stubs.rb +1 -1
  4. data/lib/sketchup-api-stubs/sketchup.rb +145 -145
  5. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +318 -318
  6. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  7. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  8. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -401
  10. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  11. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +492 -492
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  13. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  14. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -523
  16. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
  17. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -569
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +174 -186
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +514 -455
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +143 -155
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -359
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -123
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -86
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +371 -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 +220 -232
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -563
  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 +204 -216
  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 +694 -547
  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/Sketchup/Animation.rb +140 -140
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +328 -328
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +577 -577
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +281 -281
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +562 -554
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +194 -194
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +329 -329
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +72 -72
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +102 -102
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +312 -312
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +38 -38
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +390 -390
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +508 -508
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1119 -1097
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -537
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +59 -59
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +750 -750
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +697 -697
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +409 -409
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +226 -226
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +190 -190
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +393 -393
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +82 -82
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +303 -303
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +285 -262
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +244 -231
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +136 -136
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -123
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +416 -416
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +311 -311
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +141 -141
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +95 -95
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1638 -1483
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +356 -356
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +132 -132
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -282
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -650
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +353 -353
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +76 -76
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +456 -456
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -356
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +44 -44
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +454 -454
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +57 -57
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +211 -211
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +225 -225
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +829 -829
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +154 -154
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +61 -61
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1301 -995
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +43 -43
  134. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +310 -310
  135. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +356 -356
  136. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +229 -229
  137. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  138. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
  139. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -303
  140. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  141. data/lib/sketchup-api-stubs/stubs/geom.rb +348 -233
  142. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  143. data/lib/sketchup-api-stubs/stubs/length.rb +278 -262
  144. data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
  145. data/lib/sketchup-api-stubs/stubs/sketchup.rb +1310 -1310
  146. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
  147. data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
  148. data/lib/sketchup-api-stubs/stubs/ui.rb +667 -660
  149. metadata +2 -16
@@ -1,1310 +1,1310 @@
1
- # Copyright:: Copyright 2019 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 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