Advertisement
Guest User

Untitled

a guest
Sep 5th, 2016
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 8.57 KB | None | 0 0
  1. #------------------------------------------------------------------------  
  2. mod = Sketchup.active_model # Open model
  3. ent = mod.entities # All entities in model
  4. sel = mod.selection # Current selection
  5. require 'sketchup.rb'
  6.  
  7. #Naming conventions:
  8. # _ as prefix for Local variable eg. "_example = 1"
  9. #------------------------------------------------------------------------  
  10.  
  11. UI.menu("Plugins").add_item("Bemat Iwall") {
  12.  
  13. #Creating an input textbox for rows and collums
  14.   prompts = ["Horizontal", "vertical", "Width","Height","orientation"]
  15.   defaults = [1,1,992,2480,"Align with x-axis"]
  16.   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"]
  17.   input = UI.inputbox(prompts, defaults,lists, "Wall specifications")
  18.   horizontal = input[0]
  19.   vertical = input [1]
  20.   frame_width = input [2]
  21.   frame_height= input [3]
  22.  
  23.   #Switch on width --------------------------------------------------------
  24.   puts case frame_width
  25.   # Frame width 310
  26.   when 310
  27.       puts case frame_height
  28.     when 434
  29.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 434 30.skp'
  30.     when 496
  31.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 496 30.skp'
  32.     when 744
  33.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 744 30.skp'
  34.     when 992
  35.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 992 30.skp'
  36.     when 1426
  37.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 1426 30.skp'
  38.     when 1488
  39.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 1488 30.skp'
  40.     when 1984
  41.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 1984 30.skp'
  42.     when 2356
  43.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 2356 30.skp'
  44.     when 2418
  45.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 2418 30.skp'
  46.     when 2480
  47.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 2480 30.skp'
  48.     when 2976
  49.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 310 2976 30.skp'
  50.     else
  51.       nil
  52.   end
  53.  
  54.   # Frame width 434
  55.   when 434
  56.       puts case frame_height
  57.     when 434
  58.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 434 30.skp'
  59.     when 496
  60.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 496 30.skp'
  61.     when 744
  62.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 744 30.skp'
  63.     when 992
  64.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 992 30.skp'
  65.     when 1426
  66.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 1426 30.skp'
  67.     when 1488
  68.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 1488 30.skp'
  69.     when 1984
  70.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 1984 30.skp'
  71.     when 2356
  72.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 2356 30.skp'
  73.     when 2418
  74.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 2418 30.skp'
  75.     when 2480
  76.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 2480 30.skp'
  77.     when 2976
  78.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 434 2976 30.skp'
  79.     else
  80.       nil
  81.   end
  82.  
  83.   # Frame Width 496
  84.   when 496
  85.       puts case frame_height
  86.     when 434
  87.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 434 30.skp'
  88.     when 496
  89.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 496 30.skp'
  90.     when 744
  91.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 744 30.skp'
  92.     when 992
  93.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 992 30.skp'
  94.     when 1426
  95.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 1426 30.skp'
  96.     when 1488
  97.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 1488 30.skp'
  98.     when 1984
  99.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 1984 30.skp'
  100.     when 2356
  101.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 2356 30.skp'
  102.     when 2418
  103.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 2418 30.skp'
  104.     when 2480
  105.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 2480 30.skp'
  106.     when 2976
  107.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 496 2976 30.skp'
  108.     else
  109.       nil
  110.   end
  111.  
  112.   # Frame Width 744
  113.   when 744
  114.       puts case frame_height
  115.     when 434
  116.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 434 30.skp'
  117.     when 496
  118.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 496 30.skp'
  119.     when 744
  120.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 744 30.skp'
  121.     when 992
  122.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 992 30.skp'
  123.     when 1426
  124.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 1426 30.skp'
  125.     when 1488
  126.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 1488 30.skp'
  127.     when 1984
  128.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 1984 30.skp'
  129.     when 2356
  130.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 2356 30.skp'
  131.     when 2418
  132.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 2418 30.skp'
  133.     when 2480
  134.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 2480 30.skp'
  135.     when 2976
  136.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 744 2976 30.skp'
  137.     else
  138.       nil
  139.   end
  140.    
  141.     # Frame Width 992
  142.   when 992
  143.       puts case frame_height
  144.     when 434
  145.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 434 30.skp'
  146.     when 496
  147.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 496 30.skp'
  148.     when 744
  149.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 744 30.skp'
  150.     when 992
  151.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 992 30.skp'
  152.     when 1426
  153.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 1426 30.skp'
  154.     when 1488
  155.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 1488 30.skp'
  156.     when 1984
  157.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 1984 30.skp'
  158.     when 2356
  159.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 2356 30.skp'
  160.     when 2418
  161.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 2418 30.skp'
  162.     when 2480
  163.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 2480 30.skp'
  164.     when 2976
  165.       path = 'C:\Users\sande\Desktop\Bematrix skp plugin\606 ++++ ++++ 30\606 992 2976 30.skp'
  166.     else
  167.       nil
  168.     end
  169.  
  170.   else
  171.     nil
  172. end
  173.  
  174. #------------------------------------------------------------------------  
  175.  
  176.   #importing the model from source location
  177.   model = Sketchup.active_model
  178.   defn = model.definitions.load(path)  
  179.  
  180. #Drawing with for loop --------------------------------------------------    
  181.  
  182.     model = Sketchup.active_model
  183.     sel = model.selection
  184.     ents = model.active_entities
  185.     finalselection = []
  186.     sel.clear
  187.      
  188.     _height = 0.mm
  189.     _width = 0.mm
  190.    
  191.     #drawing rows
  192.     for iv in 1..vertical
  193.    
  194.         for ih in 1..horizontal  
  195.        
  196.           #add instances of definition
  197.           model.active_entities.add_instance(defn,[_width ,0, _height])
  198.           finalselection << model.active_entities
  199.          
  200.           UI.messagebox('entity added')
  201.          
  202.           ih+1    
  203.          
  204.           _width = _width + frame_width.mm # needs to be replaced by component LenX
  205.          
  206.         end  
  207.        
  208.        _height = _height+ frame_height.mm  
  209.        _width = 0.mm
  210.     end  
  211.        sel.add finalselection.grep(Sketchup::Entity)    
  212.  
  213.    
  214. }
  215. #------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement