require 'sketchup.rb'
def create_model()
@lengthl=100.m if not @length1
@widthl=50.m if not @widthl
@number=4 if not @number
@blength=10.m if not @blength
@bwidth=5.m if not @bwidth
@bheight=5.m if not @bheight
@spacing=5.m if not @spacing
prompts=["Length of Land; ","Width of Land; ","The Number of Building; ","Building Length; ","Building Width; ","Building Height; ","Building Spacing; "]###
defaults=[@lengthl,@widthl,@number,@blength,@bwidth,@bheight,@spacing]
input=UI.inputbox(prompts,defaults,[],"Create Model")
return nil if not input
@lengthl,@widthl,@number,@blength,@bwidth,@bheight,@spacing=input
amount=@number
model=Sketchup.active_model
entities=model.active_entities
if @blength>@lengthl
UI.messagebox('The Building Length is more than Length of Land!')
elsif @bwidth>@widthl
UI.messagebox('The Building Width is more than Width of Land!')
else
model.start_operation("Create Model")### for the 'undo'
x=0;y=0 ### also don't muddle the width/height !!!
amount.times{|i|
pt1=[x,y,0]###
pt2=[x+@bwidth,y,0]###
pt3=[x+@bwidth,y+@blength,0]###
pt4=[x,y+@blength,0]###
new_face=entities.add_face(pt1,pt2,pt3,pt4)
new_face.pushpull(-@bheight)
### pushUpull typo !!! -ve = pull up as the face is reversed...
y=y+@blength+@spacing ### set in a line
x=x+@bwidth+@spacing if y>@lengthl
UI.messagebox('The area of land is inadequate !') if x>@widthl
} ###
end #if##
model.commit_operation ###
end#def ###
if not file_loaded?("2.rb") ### so only get menu item once...
UI.menu("Plugins").add_item("Create Model2"){create_model} ###
end#if ###
file_loaded("2.rb") ###
I have difficult to the script,help me .Thanks!