# freecad-python generated by Parametrix
# run the script with:
# freecad.cmd myScript.py

import FreeCAD as App
import Part

#print(sys.argv)
outFileName = "bookshelf"
if (len(sys.argv) == 3):
    outFileName = sys.argv[2]
print(f"outFileName: {outFileName}")

def ctr_face_bookshelf_faceFace_Fa0_Ctr0():
	P000 = App.Vector(20.0000, 60.0000, 0)
	P001 = App.Vector(1180.0000, 60.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(1180.0000, 630.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(20.0000, 630.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(20.0000, 60.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceFace_Fa0():
	FC000 = ctr_face_bookshelf_faceFace_Fa0_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def bookshelf_faceFace():
	FA000 = face_bookshelf_faceFace_Fa0()
	rOneFig = FA000
	rOneFig.check()
	return rOneFig

def ctr_face_bookshelf_faceSide_Fa0_Ctr0():
	P000 = App.Vector(280.0000, 0.0000, 0)
	P001 = App.Vector(280.0000, 630.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(0.0000, 630.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(0.0000, 60.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(30.0000, 60.0000, 0)
	S003 = Part.LineSegment(P003, P004)
	P005 = App.Vector(30.0000, 0.0000, 0)
	S004 = Part.LineSegment(P004, P005)
	P006 = App.Vector(280.0000, 0.0000, 0)
	S005 = Part.LineSegment(P005, P000)
	aShape = Part.Shape([S000, S001, S002, S003, S004, S005])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceSide_Fa0():
	FC000 = ctr_face_bookshelf_faceSide_Fa0_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def bookshelf_faceSide():
	FA000 = face_bookshelf_faceSide_Fa0()
	rOneFig = FA000
	rOneFig.check()
	return rOneFig

def ctr_face_bookshelf_faceSideMid_Fa0_Ctr0():
	P000 = App.Vector(280.0000, 0.0000, 0)
	P001 = App.Vector(280.0000, 630.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(20.0000, 630.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(20.0000, 60.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(30.0000, 60.0000, 0)
	S003 = Part.LineSegment(P003, P004)
	P005 = App.Vector(30.0000, 0.0000, 0)
	S004 = Part.LineSegment(P004, P005)
	P006 = App.Vector(280.0000, 0.0000, 0)
	S005 = Part.LineSegment(P005, P000)
	aShape = Part.Shape([S000, S001, S002, S003, S004, S005])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceSideMid_Fa0():
	FC000 = ctr_face_bookshelf_faceSideMid_Fa0_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def bookshelf_faceSideMid():
	FA000 = face_bookshelf_faceSideMid_Fa0()
	rOneFig = FA000
	rOneFig.check()
	return rOneFig

def ctr_face_bookshelf_faceTop_Fa0_Ctr0():
	P000 = App.Vector(0.0000, 0.0000, 0)
	P001 = App.Vector(1200.0000, 0.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(1200.0000, 280.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(0.0000, 280.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(0.0000, 0.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceTop_Fa0():
	FC000 = ctr_face_bookshelf_faceTop_Fa0_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def bookshelf_faceTop():
	FA000 = face_bookshelf_faceTop_Fa0()
	rOneFig = FA000
	rOneFig.check()
	return rOneFig

def ctr_face_bookshelf_facePlateau_Fa0_Ctr0():
	P000 = App.Vector(20.0000, 20.0000, 0)
	P001 = App.Vector(590.0000, 20.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(590.0000, 280.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(20.0000, 280.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(20.0000, 20.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_facePlateau_Fa0():
	FC000 = ctr_face_bookshelf_facePlateau_Fa0_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_facePlateau_Fa1_Ctr0():
	P000 = App.Vector(610.0000, 20.0000, 0)
	P001 = App.Vector(1180.0000, 20.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(1180.0000, 280.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(610.0000, 280.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(610.0000, 20.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_facePlateau_Fa1():
	FC000 = ctr_face_bookshelf_facePlateau_Fa1_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def bookshelf_facePlateau():
	FA000 = face_bookshelf_facePlateau_Fa0()
	FA001 = face_bookshelf_facePlateau_Fa1()
	rOneFig = FA000.fuse([FA001])
	rOneFig.check()
	return rOneFig

def ctr_face_bookshelf_faceBeamFace_Fa0_Ctr0():
	P000 = App.Vector(50.0000, 70.0000, 0)
	P001 = App.Vector(560.0000, 70.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(560.0000, 100.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(50.0000, 100.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(50.0000, 70.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa0():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa0_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa1_Ctr0():
	P000 = App.Vector(50.0000, 430.0000, 0)
	P001 = App.Vector(560.0000, 430.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(560.0000, 460.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(50.0000, 460.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(50.0000, 430.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa1():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa1_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa2_Ctr0():
	P000 = App.Vector(50.0000, 600.0000, 0)
	P001 = App.Vector(560.0000, 600.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(560.0000, 630.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(50.0000, 630.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(50.0000, 600.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa2():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa2_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa3_Ctr0():
	P000 = App.Vector(640.0000, 70.0000, 0)
	P001 = App.Vector(1150.0000, 70.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(1150.0000, 100.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(640.0000, 100.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(640.0000, 70.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa3():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa3_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa4_Ctr0():
	P000 = App.Vector(640.0000, 430.0000, 0)
	P001 = App.Vector(1150.0000, 430.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(1150.0000, 460.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(640.0000, 460.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(640.0000, 430.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa4():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa4_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa5_Ctr0():
	P000 = App.Vector(640.0000, 600.0000, 0)
	P001 = App.Vector(1150.0000, 600.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(1150.0000, 630.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(640.0000, 630.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(640.0000, 600.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa5():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa5_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa6_Ctr0():
	P000 = App.Vector(20.0000, 120.0000, 0)
	P001 = App.Vector(50.0000, 120.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(50.0000, 430.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(20.0000, 430.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(20.0000, 120.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa6():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa6_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa7_Ctr0():
	P000 = App.Vector(20.0000, 480.0000, 0)
	P001 = App.Vector(50.0000, 480.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(50.0000, 600.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(20.0000, 600.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(20.0000, 480.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa7():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa7_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa8_Ctr0():
	P000 = App.Vector(1150.0000, 120.0000, 0)
	P001 = App.Vector(1180.0000, 120.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(1180.0000, 430.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(1150.0000, 430.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(1150.0000, 120.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa8():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa8_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa9_Ctr0():
	P000 = App.Vector(1150.0000, 480.0000, 0)
	P001 = App.Vector(1180.0000, 480.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(1180.0000, 600.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(1150.0000, 600.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(1150.0000, 480.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa9():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa9_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa10_Ctr0():
	P000 = App.Vector(560.0000, 120.0000, 0)
	P001 = App.Vector(590.0000, 120.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(590.0000, 430.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(560.0000, 430.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(560.0000, 120.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa10():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa10_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa11_Ctr0():
	P000 = App.Vector(560.0000, 480.0000, 0)
	P001 = App.Vector(590.0000, 480.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(590.0000, 600.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(560.0000, 600.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(560.0000, 480.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa11():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa11_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa12_Ctr0():
	P000 = App.Vector(610.0000, 120.0000, 0)
	P001 = App.Vector(640.0000, 120.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(640.0000, 430.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(610.0000, 430.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(610.0000, 120.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa12():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa12_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamFace_Fa13_Ctr0():
	P000 = App.Vector(610.0000, 480.0000, 0)
	P001 = App.Vector(640.0000, 480.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(640.0000, 600.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(610.0000, 600.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(610.0000, 480.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamFace_Fa13():
	FC000 = ctr_face_bookshelf_faceBeamFace_Fa13_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def bookshelf_faceBeamFace():
	FA000 = face_bookshelf_faceBeamFace_Fa0()
	FA001 = face_bookshelf_faceBeamFace_Fa1()
	FA002 = face_bookshelf_faceBeamFace_Fa2()
	FA003 = face_bookshelf_faceBeamFace_Fa3()
	FA004 = face_bookshelf_faceBeamFace_Fa4()
	FA005 = face_bookshelf_faceBeamFace_Fa5()
	FA006 = face_bookshelf_faceBeamFace_Fa6()
	FA007 = face_bookshelf_faceBeamFace_Fa7()
	FA008 = face_bookshelf_faceBeamFace_Fa8()
	FA009 = face_bookshelf_faceBeamFace_Fa9()
	FA010 = face_bookshelf_faceBeamFace_Fa10()
	FA011 = face_bookshelf_faceBeamFace_Fa11()
	FA012 = face_bookshelf_faceBeamFace_Fa12()
	FA013 = face_bookshelf_faceBeamFace_Fa13()
	rOneFig = FA000.fuse([FA001, FA002, FA003, FA004, FA005, FA006, FA007, FA008, FA009, FA010, FA011, FA012, FA013])
	rOneFig.check()
	return rOneFig

def ctr_face_bookshelf_faceBeamTop_Fa0_Ctr0():
	P000 = App.Vector(20.0000, 20.0000, 0)
	P001 = App.Vector(50.0000, 20.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(50.0000, 170.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(20.0000, 170.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(20.0000, 20.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamTop_Fa0():
	FC000 = ctr_face_bookshelf_faceBeamTop_Fa0_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamTop_Fa1_Ctr0():
	P000 = App.Vector(1150.0000, 20.0000, 0)
	P001 = App.Vector(1180.0000, 20.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(1180.0000, 170.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(1150.0000, 170.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(1150.0000, 20.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamTop_Fa1():
	FC000 = ctr_face_bookshelf_faceBeamTop_Fa1_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamTop_Fa2_Ctr0():
	P000 = App.Vector(560.0000, 20.0000, 0)
	P001 = App.Vector(590.0000, 20.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(590.0000, 170.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(560.0000, 170.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(560.0000, 20.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamTop_Fa2():
	FC000 = ctr_face_bookshelf_faceBeamTop_Fa2_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def ctr_face_bookshelf_faceBeamTop_Fa3_Ctr0():
	P000 = App.Vector(610.0000, 20.0000, 0)
	P001 = App.Vector(640.0000, 20.0000, 0)
	S000 = Part.LineSegment(P000, P001)
	P002 = App.Vector(640.0000, 170.0000, 0)
	S001 = Part.LineSegment(P001, P002)
	P003 = App.Vector(610.0000, 170.0000, 0)
	S002 = Part.LineSegment(P002, P003)
	P004 = App.Vector(610.0000, 20.0000, 0)
	S003 = Part.LineSegment(P003, P000)
	aShape = Part.Shape([S000, S001, S002, S003])
	aWire = Part.Wire(aShape.Edges)
	subFace = Part.Face(aWire)
	subFace.check()
	return subFace

def face_bookshelf_faceBeamTop_Fa3():
	FC000 = ctr_face_bookshelf_faceBeamTop_Fa3_Ctr0()
	rOneFace = FC000
	rOneFace.check()
	return rOneFace

def bookshelf_faceBeamTop():
	FA000 = face_bookshelf_faceBeamTop_Fa0()
	FA001 = face_bookshelf_faceBeamTop_Fa1()
	FA002 = face_bookshelf_faceBeamTop_Fa2()
	FA003 = face_bookshelf_faceBeamTop_Fa3()
	rOneFig = FA000.fuse([FA001, FA002, FA003])
	rOneFig.check()
	return rOneFig

def fex_subpax_bookshelf_top():
	FIG = bookshelf_faceTop()
	VEX = FIG.extrude(App.Vector(0, 0, 20))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 0.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 0.0000)
	VFP = VR3.translate(App.Vector(0.0000, 0.0000, 630.0000))
	return VFP
subpax_bookshelf_top = fex_subpax_bookshelf_top()

def fex_subpax_bookshelf_plateau1():
	FIG = bookshelf_facePlateau()
	VEX = FIG.extrude(App.Vector(0, 0, 20))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 0.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 0.0000)
	VFP = VR3.translate(App.Vector(0.0000, 0.0000, 100.0000))
	return VFP
subpax_bookshelf_plateau1 = fex_subpax_bookshelf_plateau1()

def fex_subpax_bookshelf_plateau2():
	FIG = bookshelf_facePlateau()
	VEX = FIG.extrude(App.Vector(0, 0, 20))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 0.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 0.0000)
	VFP = VR3.translate(App.Vector(0.0000, 0.0000, 460.0000))
	return VFP
subpax_bookshelf_plateau2 = fex_subpax_bookshelf_plateau2()

def fex_subpax_bookshelf_back():
	FIG = bookshelf_faceFace()
	VEX = FIG.extrude(App.Vector(0, 0, 20))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 90.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 0.0000)
	VFP = VR3.translate(App.Vector(0.0000, 20.0000, 0.0000))
	return VFP
subpax_bookshelf_back = fex_subpax_bookshelf_back()

def fex_subpax_bookshelf_side0():
	FIG = bookshelf_faceSide()
	VEX = FIG.extrude(App.Vector(0, 0, 20))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 90.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 90.0000)
	VFP = VR3.translate(App.Vector(0.0000, 0.0000, 0.0000))
	return VFP
subpax_bookshelf_side0 = fex_subpax_bookshelf_side0()

def fex_subpax_bookshelf_side1():
	FIG = bookshelf_faceSide()
	VEX = FIG.extrude(App.Vector(0, 0, 20))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 90.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 90.0000)
	VFP = VR3.translate(App.Vector(1180.0000, 0.0000, 0.0000))
	return VFP
subpax_bookshelf_side1 = fex_subpax_bookshelf_side1()

def fex_subpax_bookshelf_sideMid():
	FIG = bookshelf_faceSideMid()
	VEX = FIG.extrude(App.Vector(0, 0, 20))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 90.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 90.0000)
	VFP = VR3.translate(App.Vector(590.0000, 0.0000, 0.0000))
	return VFP
subpax_bookshelf_sideMid = fex_subpax_bookshelf_sideMid()

def fex_subpax_bookshelf_beam1():
	FIG = bookshelf_faceBeamFace()
	VEX = FIG.extrude(App.Vector(0, 0, 30))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 90.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 0.0000)
	VFP = VR3.translate(App.Vector(0.0000, 50.0000, 0.0000))
	return VFP
subpax_bookshelf_beam1 = fex_subpax_bookshelf_beam1()

def fex_subpax_bookshelf_beam20():
	FIG = bookshelf_faceBeamTop()
	VEX = FIG.extrude(App.Vector(0, 0, 30))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 0.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 0.0000)
	VFP = VR3.translate(App.Vector(0.0000, 0.0000, 70.0000))
	return VFP
subpax_bookshelf_beam20 = fex_subpax_bookshelf_beam20()

def fex_subpax_bookshelf_beam21():
	FIG = bookshelf_faceBeamTop()
	VEX = FIG.extrude(App.Vector(0, 0, 30))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 0.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 0.0000)
	VFP = VR3.translate(App.Vector(0.0000, 0.0000, 430.0000))
	return VFP
subpax_bookshelf_beam21 = fex_subpax_bookshelf_beam21()

def fex_subpax_bookshelf_beam22():
	FIG = bookshelf_faceBeamTop()
	VEX = FIG.extrude(App.Vector(0, 0, 30))
	VR1 = VEX.rotate(App.Vector(0, 0, 0), App.Vector(1, 0, 0), 0.0000)
	VR2 = VR1.rotate(App.Vector(0, 0, 0), App.Vector(0, 1, 0), 0.0000)
	VR3 = VR2.rotate(App.Vector(0, 0, 0), App.Vector(0, 0, 1), 0.0000)
	VFP = VR3.translate(App.Vector(0.0000, 0.0000, 600.0000))
	return VFP
subpax_bookshelf_beam22 = fex_subpax_bookshelf_beam22()

def fvol_pax_bookshelf():
	V000 = subpax_bookshelf_top
	V001 = V000.fuse(subpax_bookshelf_plateau1)
	V002 = V001.fuse(subpax_bookshelf_plateau2)
	V003 = V002.fuse(subpax_bookshelf_back)
	V004 = V003.fuse(subpax_bookshelf_side0)
	V005 = V004.fuse(subpax_bookshelf_side1)
	V006 = V005.fuse(subpax_bookshelf_sideMid)
	V007 = V006.fuse(subpax_bookshelf_beam1)
	V008 = V007.fuse(subpax_bookshelf_beam20)
	V009 = V008.fuse(subpax_bookshelf_beam21)
	V010 = V009.fuse(subpax_bookshelf_beam22)
	VFC = V010.removeSplitter()
	return VFC
pax_bookshelf = fvol_pax_bookshelf()


pax_bookshelf.check()
#pax_bookshelf.exportBrep(f"{outFileName}.brep")
#pax_bookshelf.exportIges(f"{outFileName}.igs")
#pax_bookshelf.exportStep(f"{outFileName}.stp")
pax_bookshelf.exportStl(f"{outFileName}.stl")

