Google рд╕реНрдХреЗрдЪрдЕрдк рддреАрди рдЖрдпрд╛рдореА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдмрдирд╛рдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИред рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рд╕рд╛рджрдЧреА рд╕реНрдХреЗрдЪрдЕрдк 3 рдбреА рдореЙрдбрд▓рд┐рдВрдЧ рдФрд░ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрддреА рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред
рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рд╕реНрдХреЗрдЪрдЕрдк рдореЗрдВ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдПрдкреАрдЖрдИ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдХрд░ рдореЙрдбреНрдпреВрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рд╕реНрдХреЗрдЪрдЕрдк рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдФрд░ рдкреНрд▓рдЧ-рдЗрди рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдПрдХ рдирдИ рдкреНрд▓рдЧ-рдЗрди
рдмрд╛рдЗрдХ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
, рдЖрдкрдХреЛ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП
рд╕реНрдХреЗрдЪ рд╕реБрд╡рд┐рдзрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдЙрдкрдпреБрдХреНрдд рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд▓рдЧрдЗрди рдорд┐рд▓рд╛, рдЖрдк рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдЕрдЫреВрддрд╛ рд░рд╣ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд▓рдЧ-рдЗрди рдХреБрдЫ рдЧрдгрдирд╛ рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдХреЗрд╡рд▓ рдЙрдирдХреЗ рдЖрд╡реЗрджрди рдпрд╛ рджреГрд╢реНрдп рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВред
рд╕реНрдХреЗрдЪрдЕрдк рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕
рд░реВрдмреА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред
Google рдХреЛрдб рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рд▓реЗрдЦрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ 3 рдЦрдВрдб рд╣реЛрддреЗ рд╣реИрдВ: рдкрд░рд┐рдЪрдп, рддреНрд╡рд░рд┐рдд рд╕рдВрджрд░реНрдн рдФрд░ рд╡рд╕реНрддреБ рд╕рдВрджрд░реНрднред
1) рдкрд░рд┐рдЪрдп - рдПрдХ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдЦрдВрдб рдЬреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд▓рдЧ-рдЗрди рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИред
2) рддреНрд╡рд░рд┐рдд рд╕рдВрджрд░реНрдн - рдХрдХреНрд╖рд╛рдУрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рдПрдХ рд╕рдВрджрд░реНрдн рдЕрдиреБрднрд╛рдЧред
3) рдСрдмреНрдЬреЗрдХреНрдЯ рд░реЗрдлрд░реЗрдВрд╕ - рд╕реНрдХреЗрдЪрдЕрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдкрд░ рдПрдХ рд╕рдВрджрд░реНрдн рдЕрдиреБрднрд╛рдЧред рдСрдмреНрдЬреЗрдХреНрдЯ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдореИрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкреНрд▓рдЧ-рдЗрди рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реВрдВрдЧрд╛ред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬреЛ рд╕реНрдХреЗрдЪрдЕрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдереАред рдХрд╛рд░реНрдп рдЬрд▓реНрджреА рд╕реЗ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд╕реНрддреБ рдХреЗ рдЖрдХрд╛рд░ (рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ, рдореЛрдЯрд╛рдИ) рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдирд╛ рдерд╛ред рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рддреИрдпрд╛рд░ рдкреНрд▓рдЧрдЗрди рдкрд╛рдпрд╛ рдЧрдпрд╛ -
рдЧреЗрдЯрдбрд┐рдореЗрдВрд╢рди , рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдорд╛рдЗрдирд╕ рдерд╛: рдЗрд╕рдиреЗ
рдореИрд╕реЗрдЬрдмреЙрдХреНрд╕ рдореЗрдВ рдЖрдХрд╛рд░ рджрд┐рдЦрд╛рдпрд╛, рдЬрд┐рд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдмрдВрдж рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрд┐рд╕рдиреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╕реБрд╡рд┐рдзрд╛ рдкреИрджрд╛ рдХреАред рдореИрдВрдиреЗ рдЙрд╕рдХреЗ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдмрджрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
GetDimensions рдкреНрд▓рдЧрдЗрди рдХреЛрдб:require 'sketchup.rb'
def get_dimensions
model = Sketchup.active_model
mname = model.title
Sketchup::set_status_text(( "GET COMPONENT DIMENSIONS..." ), SB_PROMPT)
Sketchup::set_status_text( " " , SB_VCB_LABEL)
Sketchup::set_status_text( " " , SB_VCB_VALUE)
boundingBox = model.selection[0].bounds
dims = [ boundingBox.height,
boundingBox.width,
boundingBox.depth ]
dims.sort!
UI.messagebox( "Thickness: " + dims[0].to_s + "\nWidth: " + dims[1].to_s + "\nLength: " + dims[2].to_s)
end
if ( not file_loaded?( "GetDimensions.rb" ) )
add_separator_to_menu( "Plugins" )
UI.menu( "Plugins" ).add_item( "Get Dimensions" ) { get_dimensions }
end
file_loaded( "GetDimensions.rb" )
* This source code was highlighted with Source Code Highlighter .
рдХреЛрдб рдореЗрдВ рдкреНрд▓рдЧрдЗрди рд▓реЙрдЬрд┐рдХ (
get_dimensions
) рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдореЗрдиреНрдпреВ рдЖрдЗрдЯрдо (
Plugins -> рдЧреЗрдЯ рдбрд╛рдпрдореЗрдВрд╢рди ) рдЬреЛрдбрд╝рдХрд░ рдФрд░ рдкреНрд▓рдЧрдЗрди рдлрд╛рдЗрд▓ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╣реА рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ (
GetDimensions.rb )ред
рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд▓рдЧ-рдЗрди рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "
C: \ Program Files \ Google \ Google SketchUp \ Plugins \ " рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред
рдЪрд┐рддреНрд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдореБрдЦреНрдп рд╡рд╕реНрддреБ
model
ред
рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдореЗрдВ, рдкрд╣рд▓реЗ рдЪрдпрдирд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдЙрд╕рдХреЗ рдЖрдпрд╛рдо рд▓рд┐рдП рдЧрдП рд╣реИрдВред рдЖрдХрд╛рд░ рдЖрд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдореИрд╕реЗрдЬрдмреЙрдХреНрд╕ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдирд╛рдо рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░ рдиреЗ рддреБрд░рдВрдд рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдкреА рджреА, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЖрдХрд╛рд░реЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдкреНрд▓рдЧрдЗрди рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕рдВрд╢реЛрдзрди рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛:
def get_dimensions
model = Sketchup.active_model
entities = model.entities
boundingBox = model.selection[0].bounds
dims = [ boundingBox.height,
boundingBox.width,
boundingBox.depth ]
dims.sort!
Sketchup::set_status_text(( "Thickness: " + dims[0].to_s + ". Width: " + dims[1].to_s + ". Length: " + dims[2].to_s ), SB_PROMPT)
end
* This source code was highlighted with Source Code Highlighter .
рдПрдХ рддрддреНрд╡ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж,
рд╕реЗрд▓реЗрдХреНрдЯ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдореЗрдиреВ рд╕реЗ
рдЧреЗрдЯ рдбрд╛рдпрдореЗрдВрд╢рди рдХрдорд╛рдВрдб рдЪреБрдиреЗрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕реНрдерд┐рддрд┐ рдмрд╛рд░ рдЪрдпрдирд┐рдд рдЖрдЗрдЯрдо рдХреЗ рдЖрдпрд╛рдореЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдПрдХ рдЖрджреЗрд╢ рдХреЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЖрд╣реНрд╡рд╛рди рдХреЗ рд▓рд┐рдП, рдПрдХ рдЧрд░реНрдо рдХреБрдВрдЬреА рд╕реМрдВрдкреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рдЬрдм рдЖрдк рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЕрдЧрд▓рд╛ рдХрджрдо рдЖрдпрд╛рдореЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдирд╛ рдерд╛ред рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рджреЛ рд╡рд┐рдХрд▓реНрдк рдЖрдП: рдореЗрд░рд╛ рдЕрдкрдирд╛ рдЯреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдПрд▓рд┐рдореЗрдВрдЯ рд╕рд┐рд▓реЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрд╕реА рд╕рдордп рдиреАрдЪреЗ рдХреЗ рд╕рд╛рдЗрдЬ рдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛, рдпрд╛
рд╕реЗрд▓реЗрдХреНрдЯ рдЯреВрд▓ рдХреЛ рдореЙрдбрд┐рдлрд╛рдИ рдХрд░реЗрдЧрд╛, рддрд╛рдХрд┐ рд╡рд╣
рд╕рд┐рд▓реЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╕рд╛рдЗрдЬ рджрд┐рдЦрд╛ рджреЗред
рдСрдмреНрдЬреЗрдХреНрдЯ рд░реЗрдлрд░реЗрдВрд╕ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкреИрджрд╛ рд╣реБрдЖ рдерд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛,
рдСрдмреНрдЬрд░реНрд╡рд░ рдХреНрд▓рд╛рд╕реЗрд╕ -> рд╕реЗрд▓реЗрдХреНрд╢рдирдСрдмреНрдЬрд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк
рд╕реЗрд▓реЗрдХреНрдЯ рдЯреВрд▓ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрд╢реЛрдзрди рдХреЗ рдмрд╛рдж, рдкреНрд▓рдЧрдЗрди рддрд░реНрдХ рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
Dimensions_load.rbrequire 'sketchup.rb'
require 'Dimensions/GetDimensions.rb'
$PluginMenuName = "Tools"
$DimensionsMenuName = "Dimensions Tool"
$GetDimensionsMenuItem = "Get Dimensions"
$AutoDisplayMenuItem = "Auto Display Dimensions"
if (not file_loaded?( "dimensions_load.rb" ))
pluginMenu = UI.menu($PluginMenuName)
dimensions = Dimensions. new
pluginMenu.add_separator
getDimensionsSubMenu = pluginMenu.add_submenu($DimensionsMenuName){}
getDimensionsSubMenu.add_item($GetDimensionsMenuItem){dimensions.get_selection_dimensions}
autoDisplayItem = getDimensionsSubMenu.add_item($AutoDisplayMenuItem){dimensions.connect_observer}
getDimensionsSubMenu.set_validation_proc(autoDisplayItem){dimensions.menu_checked}
end
file_loaded( "dimensions_load.rb" )
* This source code was highlighted with Source Code Highlighter .
GetDimensions.rbrequire 'sketchup.rb'
class Dimensions < Sketchup::SelectionObserver
def initialize()
@usedObserver = false
end
def onSelectionBulkChange(selection)
get_dimensions(selection)
end
def get_selection_dimensions
get_dimensions(Sketchup.active_model.selection)
end
def get_dimensions(selection)
boundingBox = selection[0].bounds
dims = [ boundingBox.height,
boundingBox.width,
boundingBox.depth ]
dims.sort!
Sketchup::set_status_text(( "Thickness: " + dims[0].to_s + ". Width: " + dims[1].to_s + ". Length: " + dims[2].to_s ), SB_PROMPT)
end
def connect_observer
if (@usedObserver) then
return remove_observer
else
return add_observer
end
end
def add_observer
@usedObserver = true
Sketchup.active_model.selection.add_observer self
return MF_CHECKED
end
def remove_observer
@usedObserver = false
Sketchup.active_model.selection.remove_observer self
return MF_UNCHECKED
end
def menu_checked
if (@usedObserver) then
return MF_CHECKED
else
return MF_UNCHECKED
end
end
end
file_loaded( "GetDimensions.rb" )
* This source code was highlighted with Source Code Highlighter .
рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рд╕реЗрд▓реЗрдХреНрдЯ рдЯреВрд▓ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП,
SelectionObserver
рд╡рд░реНрдЧ рд╕реЗ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ,
onSelectionBulkChange(selection)
рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ, рдЬрд┐рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ
Sketchup.active_model.selection.add_observer
рд╕рдордп рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░
Sketchup.active_model.selection.add_observer
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВред
рдкреНрд▓рдЧрдЗрди рдХреЛ
рдЯреВрд▓ -> рдЖрдпрд╛рдо рдЯреВрд▓ рдореЗрдиреВ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рджреЛ рдЙрдк-рдЖрдЗрдЯрдо рд╣реИрдВ:
рдЖрдпрд╛рдо рдФрд░
рдСрдЯреЛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдЖрдпрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ ред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛, рдкреНрд▓рдЧрдЗрди рдХрд╛ рдХрд╛рд░реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдерд╛ рдЬрдм рдЗрд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдСрдЯреЛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдЖрдпрд╛рдо - рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рд╣реА рд╕рдордп рдкрд░ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░
рдЖрдпрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ - рдорд╛рдВрдЧ рдкрд░ рдкреНрд▓рдЧрдЗрди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ - рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдбред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореМрдЬреВрджрд╛ рдкреНрд▓рдЧрдЗрди рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЦрд░реЛрдВрдЪ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рд╡реИрд╕реЗ, рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рд░реВрдмреА рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдорд╣рд╛рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдерд╛ред
рдореИрдВ рдЖрдкрдХреЛ рд╢реБрднрдХрд╛рдордирд╛ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╕реНрдХреЗрдЪрдЕрдк рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВред