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.
- checksums.yaml +4 -4
- data/.yardopts +2 -0
- data/lib/sketchup-api-stubs.rb +1 -1
- data/lib/sketchup-api-stubs/sketchup.rb +145 -145
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +318 -318
- data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
- data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
- data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -401
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +492 -492
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
- data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -523
- data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
- data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -569
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +174 -186
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +514 -455
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +143 -155
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -359
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -123
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -86
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +371 -371
- data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
- data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
- data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +220 -232
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -563
- data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
- data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
- data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
- data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
- data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +204 -216
- data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
- data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
- data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +694 -547
- data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
- data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
- data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
- data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
- data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +140 -140
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
- data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +328 -328
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +577 -577
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +281 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +562 -554
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
- data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
- data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +194 -194
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +329 -329
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +72 -72
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +312 -312
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +38 -38
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +390 -390
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +508 -508
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1119 -1097
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -537
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +59 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +750 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +697 -697
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +409 -409
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +226 -226
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +190 -190
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +393 -393
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +82 -82
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +303 -303
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +285 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +244 -231
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +136 -136
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -123
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +416 -416
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +95 -95
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1638 -1483
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +356 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -282
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -650
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +456 -456
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +44 -44
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +454 -454
- data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
- data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +57 -57
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +225 -225
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +829 -829
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +154 -154
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +61 -61
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1301 -995
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +310 -310
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +356 -356
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +229 -229
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -303
- data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
- data/lib/sketchup-api-stubs/stubs/geom.rb +348 -233
- data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
- data/lib/sketchup-api-stubs/stubs/length.rb +278 -262
- data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
- data/lib/sketchup-api-stubs/stubs/sketchup.rb +1310 -1310
- data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/ui.rb +667 -660
- metadata +2 -16
@@ -1,1310 +1,1310 @@
|
|
1
|
-
# Copyright:: Copyright
|
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 {
|
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° 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° 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
|