Arch: Added 4-pane window preset

This commit is contained in:
Yorik van Havre
2018-04-25 09:37:01 -03:00
parent 5ccb7e7d37
commit aa14ed6ba8

View File

@@ -54,7 +54,7 @@ __url__ = "http://www.freecadweb.org"
WindowPartTypes = ["Frame","Solid panel","Glass panel","Louvre"]
AllowedHosts = ["Wall","Structure","Roof"]
WindowPresets = ["Fixed", "Open 1-pane", "Open 2-pane", "Sash 2-pane",
"Sliding 2-pane", "Simple door", "Glass door"]
"Sliding 2-pane", "Simple door", "Glass door", "Sliding 4-pane"]
WindowOpeningModes = ["None","Arc 90","Arc 90 inv","Arc 45","Arc 45 inv","Arc 180","Arc 180 inv","Triangle","Triangle inv","Sliding","Sliding inv"]
Roles = ["Undefined","Window","Door"]
@@ -349,6 +349,85 @@ def makeWindowPreset(windowtype,width,height,h1,h2,h3,w1,w2,o1,o2,placement=None
wp.extend(["RightFrame","Frame","Wire4,Wire5",str(w2),str(o1+o2+w2)])
wp.extend(["RightGlass","Glass panel","Wire5",str(w2/gla),str(o1+o2+w2+w2/2)])
elif windowtype == "Sliding 4-pane":
wp = outerFrame(s,width,height,h1,w1,o1)
p1 = Vector(h1+tol,h1+tol,0)
p2 = Vector(width/4-tol,h1+tol,0)
p3 = Vector(width/4-tol,height-(h1+tol),0)
p4 = Vector(h1+tol,height-(h1+tol),0)
p5 = Vector(h1+h2,h1+h2,0)
p6 = Vector(width/4-h2,h1+h2,0)
p7 = Vector(width/4-h2,height-(h1+h2),0)
p8 = Vector(h1+h2,height-(h1+h2),0)
addFrame(s,p1,p2,p3,p4,p5,p6,p7,p8)
p1 = Vector(width/4+tol,h1+tol,0)
p2 = Vector(width/2-tol,h1+tol,0)
p3 = Vector(width/2-tol,height-(h1+tol),0)
p4 = Vector(width/4+tol,height-(h1+tol),0)
p5 = Vector(width/4+h2,h1+h2,0)
p6 = Vector(width/2-h2,h1+h2,0)
p7 = Vector(width/2-h2,height-(h1+h2),0)
p8 = Vector(width/4+h2,height-(h1+h2),0)
addFrame(s,p1,p2,p3,p4,p5,p6,p7,p8)
p1 = Vector(width/2+tol,h1+tol,0)
p2 = Vector(width*3/4-tol,h1+tol,0)
p3 = Vector(width*3/4-tol,height-(h1+tol),0)
p4 = Vector(width/2+tol,height-(h1+tol),0)
p5 = Vector(width/2+h2,h1+h2,0)
p6 = Vector(width*3/4-h2,h1+h2,0)
p7 = Vector(width*3/4-h2,height-(h1+h2),0)
p8 = Vector(width/2+h2,height-(h1+h2),0)
addFrame(s,p1,p2,p3,p4,p5,p6,p7,p8)
p1 = Vector(width*3/4+tol,h1+tol,0)
p2 = Vector(width-(h1+tol),h1+tol,0)
p3 = Vector(width-(h1+tol),height-(h1+tol),0)
p4 = Vector(width*3/4+tol,height-(h1+tol),0)
p5 = Vector(width*3/4+h2,h1+h2,0)
p6 = Vector(width-(h1+h2),h1+h2,0)
p7 = Vector(width-(h1+h2),height-(h1+h2),0)
p8 = Vector(width*3/4+h2,height-(h1+h2),0)
addFrame(s,p1,p2,p3,p4,p5,p6,p7,p8)
s.addConstraint(Sketcher.Constraint('DistanceX',4,1,8,1,tol))
s.addConstraint(Sketcher.Constraint('DistanceX',8,2,16,1,tol))
s.addConstraint(Sketcher.Constraint('DistanceX',17,1,27,2,tol))
s.addConstraint(Sketcher.Constraint('DistanceX',24,2,32,1,tol))
s.addConstraint(Sketcher.Constraint('DistanceX',32,2,4,2,tol))
s.addConstraint(Sketcher.Constraint('DistanceY',4,1,8,1,tol))
s.addConstraint(Sketcher.Constraint('DistanceY',10,2,6,2,tol))
s.addConstraint(Sketcher.Constraint('DistanceY',17,2,26,2,0.0))
s.addConstraint(Sketcher.Constraint('DistanceY',25,2,34,2,0.0))
s.addConstraint(Sketcher.Constraint('DistanceY',8,2,16,1,0.0))
s.addConstraint(Sketcher.Constraint('DistanceY',9,2,18,2,0.0))
s.addConstraint(Sketcher.Constraint('DistanceY',16,2,24,1,0.0))
s.addConstraint(Sketcher.Constraint('DistanceY',24,2,32,1,0.0))
s.addConstraint(Sketcher.Constraint('DistanceX',8,1,12,1,h2))
s.addConstraint(Sketcher.Constraint('DistanceY',8,1,12,1,h2))
s.addConstraint(Sketcher.Constraint('DistanceX',13,2,9,2,h2))
s.addConstraint(Sketcher.Constraint('DistanceY',13,2,9,2,h2))
s.addConstraint(Sketcher.Constraint('DistanceX',16,1,20,1,h2))
s.addConstraint(Sketcher.Constraint('DistanceY',16,1,20,1,h2))
s.addConstraint(Sketcher.Constraint('DistanceX',21,2,17,2,h2))
s.addConstraint(Sketcher.Constraint('DistanceY',21,2,17,2,h2))
s.addConstraint(Sketcher.Constraint('DistanceX',24,1,28,1,h2))
s.addConstraint(Sketcher.Constraint('DistanceY',24,1,28,1,h2))
s.addConstraint(Sketcher.Constraint('DistanceX',29,2,25,2,h2))
s.addConstraint(Sketcher.Constraint('DistanceY',29,2,25,2,h2))
s.addConstraint(Sketcher.Constraint('DistanceX',32,1,36,1,h2))
s.addConstraint(Sketcher.Constraint('DistanceY',32,1,36,1,h2))
s.addConstraint(Sketcher.Constraint('DistanceX',37,2,33,2,h2))
s.addConstraint(Sketcher.Constraint('DistanceY',37,2,33,2,h2))
s.addConstraint(Sketcher.Constraint('Equal',14,22))
s.addConstraint(Sketcher.Constraint('Equal',22,30))
s.addConstraint(Sketcher.Constraint('Equal',30,38))
wp.extend(["LeftMostFrame","Frame","Wire2,Wire3",str(w2),str(o1+o2)])
wp.extend(["LeftMostGlass","Glass panel","Wire3",str(w2/gla),str(o1+o2+w2/2)])
wp.extend(["LeftFrame","Frame","Wire4,Wire5",str(w2),str(o1+o2+w2)])
wp.extend(["LeftGlass","Glass panel","Wire5",str(w2/gla),str(o1+o2+w2+w2/2)])
wp.extend(["RightFrame","Frame","Wire6,Wire7",str(w2),str(o1+o2+w2)])
wp.extend(["RightGlass","Glass panel","Wire7",str(w2/gla),str(o1+o2+w2+w2/2)])
wp.extend(["RightMostFrame","Frame","Wire8,Wire9",str(w2),str(o1+o2)])
wp.extend(["RightMostGlass","Glass panel","Wire9",str(w2/gla),str(o1+o2+w2/2)])
elif windowtype == "Simple door":
wp = doorFrame(s,width,height,h1,w1,o1)
wp.extend(["Door","Solid panel","Wire1",str(w2),str(o1+o2)])