Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #------------------------------------------------------------------------
- mod = Sketchup.active_model # Open model
- ent = mod.entities # All entities in model
- sel = mod.selection # Current selection
- require 'sketchup.rb'
- #Naming conventions:
- # _ as prefix for Local variable eg. "_example = 1"
- #------------------------------------------------------------------------
- UI.menu("Plugins").add_item("Bemat Iwall") {
- #Creating an input textbox for rows and collums
- prompts = ["Horizontal", "vertical", "Width","Height","orientation"]
- defaults = [1,1,992,2480,"Align with x-axis"]
- lists = ["","","310|434|496|744|992", "434|496|744|992|1426|1488|1984|2356|2418|2480|2976","Align with x-axis|align with y-axis"]
- input = UI.inputbox(prompts, defaults,lists, "Wall specifications")
- horizontal = input[0]
- vertical = input [1]
- frame_width = input [2]
- frame_height= input [3]
- #Switch on width --------------------------------------------------------
- puts case frame_width
- # Frame width 310
- when 310
- puts case frame_height
- when 434
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 434 30.skp'
- when 496
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 496 30.skp'
- when 744
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 744 30.skp'
- when 992
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 992 30.skp'
- when 1426
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 1426 30.skp'
- when 1488
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 1488 30.skp'
- when 1984
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 1984 30.skp'
- when 2356
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 2356 30.skp'
- when 2418
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 2418 30.skp'
- when 2480
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 2480 30.skp'
- when 2976
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 2976 30.skp'
- else
- nil
- end
- # Frame width 434
- when 434
- puts case frame_height
- when 434
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 434 30.skp'
- when 496
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 496 30.skp'
- when 744
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 744 30.skp'
- when 992
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 992 30.skp'
- when 1426
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 1426 30.skp'
- when 1488
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 1488 30.skp'
- when 1984
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 1984 30.skp'
- when 2356
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 2356 30.skp'
- when 2418
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 2418 30.skp'
- when 2480
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 2480 30.skp'
- when 2976
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 2976 30.skp'
- else
- nil
- end
- # Frame Width 496
- when 496
- puts case frame_height
- when 434
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 434 30.skp'
- when 496
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 496 30.skp'
- when 744
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 744 30.skp'
- when 992
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 992 30.skp'
- when 1426
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 1426 30.skp'
- when 1488
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 1488 30.skp'
- when 1984
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 1984 30.skp'
- when 2356
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 2356 30.skp'
- when 2418
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 2418 30.skp'
- when 2480
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 2480 30.skp'
- when 2976
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 2976 30.skp'
- else
- nil
- end
- # Frame Width 744
- when 744
- puts case frame_height
- when 434
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 434 30.skp'
- when 496
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 496 30.skp'
- when 744
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 744 30.skp'
- when 992
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 992 30.skp'
- when 1426
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 1426 30.skp'
- when 1488
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 1488 30.skp'
- when 1984
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 1984 30.skp'
- when 2356
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 2356 30.skp'
- when 2418
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 2418 30.skp'
- when 2480
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 2480 30.skp'
- when 2976
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 2976 30.skp'
- else
- nil
- end
- # Frame Width 992
- when 992
- puts case frame_height
- when 434
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 434 30.skp'
- when 496
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 496 30.skp'
- when 744
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 744 30.skp'
- when 992
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 992 30.skp'
- when 1426
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 1426 30.skp'
- when 1488
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 1488 30.skp'
- when 1984
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 1984 30.skp'
- when 2356
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 2356 30.skp'
- when 2418
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 2418 30.skp'
- when 2480
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 2480 30.skp'
- when 2976
- path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 2976 30.skp'
- else
- nil
- end
- else
- nil
- end
- #------------------------------------------------------------------------
- #importing the model from source location
- model = Sketchup.active_model
- defn = model.definitions.load(path)
- #Drawing with for loop --------------------------------------------------
- model = Sketchup.active_model
- sel = model.selection
- ents = model.active_entities
- finalselection = []
- sel.clear
- _height = 0.mm
- _width = 0.mm
- #drawing rows
- for iv in 1..vertical
- for ih in 1..horizontal
- #add instances of definition
- model.active_entities.add_instance(defn,[_width ,0, _height])
- finalselection << model.active_entities
- UI.messagebox('entity added')
- ih+1
- _width = _width + frame_width.mm # needs to be replaced by component LenX
- end
- _height = _height+ frame_height.mm
- _width = 0.mm
- end
- sel.add finalselection.grep(Sketchup::Entity)
- }
- #------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement