mainControl1=polygon([ [0,0],[0.5,4],[1.5,4],[2.5,0] ]); mainControl2=extrudeShape(mainControl1, 1).rotateY(90); mainControl3=polygon([ [0,0],[0,2.5],[2.5,2.5,0.05],[2.5,0] ]); mainControl4=extrudeShape(mainControl3, 1).rotateX(-90).moveX(-0.75).moveY(3.25).moveZ(1); mainControl5=cube(1.5,2.5,1.5,1).rotateX(90).moveY(4.5).moveX(0.5).moveZ(-0.5); mainControl6=polygon([ [0,0.5],[0,1.5],[0.5,1.5],[1,0] ]); mainControl7=extrudeShape(mainControl6, 0.5).rotateY(90).moveY(3.5).moveX(0.25).moveZ(-1.5); mainControl=mainControl2.add(mainControl4).add(mainControl5).add(mainControl7); mainControl.moveY(24).moveZ(-2).moveX(-0.5); //miscellaneous style1=polygon([ [0,1],[0,4,0.1],[10,4],[10,0,0.1] ]); style = extrudeShape(style1,9); style.rotateX(90).rotateY(27).moveY(24.5).moveZ(-17).moveX(-17); style2=polygon([ [0,1],[0,4,0.1],[10,4],[10,0,0.1] ]); style3 = extrudeShape(style1,9); style3.rotateX(90).rotateY(147).moveY(24.5).moveZ(-13).moveX(14); engineBase1 = polygon([ [4,10],[4,11],[12,8],[12,4],[4,0],[4,1] ]); engineBase = extrudeShape(engineBase1,20); engineBase.rotateY(90).moveY(13.5).moveZ(29).moveX(-10); enginePlatform=cube(27,7,11); enginePlatform.moveZ(21.5).moveY(19); //engines engine1Pt1=cylinder(3,5); engine1Pt2=cylinder(2.5,4.5).moveY(0.51); engine1=engine1Pt1.subtract(engine1Pt2); subEngine1Pt1=cylinder(1.5,4); subEngine1Pt2=cylinder(1.25,3.75).moveY(0.51); subEngine1=subEngine1Pt1.subtract(subEngine1Pt2); subEngine1.moveX(4).moveZ(2).moveY(-2); engine2Pt1=cylinder(3,5); engine2Pt2=cylinder(2.5,4.5).moveY(0.51); engine2=engine2Pt1.subtract(engine2Pt2); engine2.moveX(-8); subEngine2Pt1=cylinder(1.5,4); subEngine2Pt2=cylinder(1.25,3.75).moveY(0.51); subEngine2=subEngine2Pt1.subtract(subEngine2Pt2); subEngine2.moveX(-4).moveZ(2).moveY(-2); engine3Pt1=cylinder(3,5); engine3Pt2=cylinder(2.5,4.5).moveY(0.51); engine3=engine3Pt1.subtract(engine3Pt2); engine3.moveX(8); subEngine3Pt1=cylinder(1.5,4); subEngine3Pt2=cylinder(1.25,3.75).moveY(0.51); subEngine3=subEngine3Pt1.subtract(subEngine3Pt2); subEngine3.moveX(12).moveZ(2).moveY(-2); subEngine4Pt1=cylinder(1.5,4); subEngine4Pt2=cylinder(1.25,3.75).moveY(0.51); subEngine4=subEngine4Pt1.subtract(subEngine4Pt2); subEngine4.moveX(-12).moveZ(2).moveY(-2); engines=engine1.add(subEngine1).add(engine2).add(subEngine2).add(engine3).add(subEngine3).add(subEngine4); engines.rotateX(90).moveZ(29).moveY(19.5); //connecter connecter1=cylinder(3,12).rotateZ(90); connecterAbsence1=cube(13,5,2).moveZ(-2.5); connecterAbsence2=cube(13,5,2).moveZ(2.5); connectorAbsence=connecterAbsence1.add(connecterAbsence2); connecter=connecter1.subtract(connectorAbsence); connecter.rotateZ(90).rotateX(90).moveY(20).moveZ(10); //broadcasting dish 1 WingThing1=polygon([ [0,0],[0.2,0.8],[1.8,0.4],[1.8,0] ]); wingThing1=extrudeShape(WingThing1,0.05).moveX(0.8) WingThing2=polygon([ [0,0],[0,0.4],[1.6,0.8],[1.8,0] ]); wingThing2=extrudeShape(WingThing2,0.05).moveX(-2.6); wingThings=wingThing1.add(wingThing2); wingThings.rotateX(90).moveY(-0.2).moveZ(-0.4); //Dish disk1=sphere(1); disk2=sphere(2).moveY(1.6); disk=disk1.subtract(disk2); pointyThingy=cone(0.2,0.06,1.4); bigDishThingy=wingThings.add(disk).add(pointyThingy); bigDishThingy.rotateY(90).rotateZ(70).moveY(22.3).moveZ(4.5).moveX(-24); //broadcasting dish 2 WingThing1=polygon([ [0,0],[0.2,0.8],[1.8,0.4],[1.8,0] ]); wingThing1=extrudeShape(WingThing1,0.05).moveX(0.8) WingThing2=polygon([ [0,0],[0,0.4],[1.6,0.8],[1.8,0] ]); wingThing2=extrudeShape(WingThing2,0.05).moveX(-2.6); wingThings=wingThing1.add(wingThing2); wingThings.rotateX(90).moveY(-0.2).moveZ(-0.4); //Dish disk1=sphere(1); disk2=sphere(2).moveY(1.6); disk=disk1.subtract(disk2); pointyThingy=cone(0.2,0.06,1.4); bigDishThingy2=wingThings.add(disk).add(pointyThingy); bigDishThingy2.rotateY(90).rotateZ(70).moveY(23).moveX(-17.2).moveZ(16.5); //broadcasting dish 3 WingThing1=polygon([ [0,0],[0.2,0.8],[1.8,0.4],[1.8,0] ]); wingThing1=extrudeShape(WingThing1,0.05).moveX(0.8) WingThing2=polygon([ [0,0],[0,0.4],[1.6,0.8],[1.8,0] ]); wingThing2=extrudeShape(WingThing2,0.05).moveX(-2.6); wingThings=wingThing1.add(wingThing2); wingThings.rotateX(90).moveY(-0.2).moveZ(-0.4); //Dish disk1=sphere(1); disk2=sphere(2).moveY(1.6); disk=disk1.subtract(disk2); pointyThingy=cone(0.2,0.06,1.4); bigDishThingy3=wingThings.add(disk).add(pointyThingy); bigDishThingy3.rotateY(90).rotateZ(70).moveY(22.3).moveX(-23).moveZ(-9); //broadcasting dish 4 WingThing1=polygon([ [0,0],[0.2,0.8],[1.8,0.4],[1.8,0] ]); wingThing1=extrudeShape(WingThing1,0.05).moveX(0.8) WingThing2=polygon([ [0,0],[0,0.4],[1.6,0.8],[1.8,0] ]); wingThing2=extrudeShape(WingThing2,0.05).moveX(-2.6); wingThings=wingThing1.add(wingThing2); wingThings.rotateX(90).moveY(-0.2).moveZ(-0.4); //Dish disk1=sphere(1); disk2=sphere(2).moveY(1.6); disk=disk1.subtract(disk2); pointyThingy=cone(0.2,0.06,1.4); bigDishThingy4=wingThings.add(disk).add(pointyThingy); bigDishThingy4.rotateY(90).rotateX(-20).rotateZ(70).moveY(22.3).moveX(-18).moveZ(-17); //broadcasting dish 5 WingThing1=polygon([ [0,0],[0.2,0.8],[1.8,0.4],[1.8,0] ]); wingThing1=extrudeShape(WingThing1,0.05).moveX(0.8) WingThing2=polygon([ [0,0],[0,0.4],[1.6,0.8],[1.8,0] ]); wingThing2=extrudeShape(WingThing2,0.05).moveX(-2.6); wingThings=wingThing1.add(wingThing2); wingThings.rotateX(120).moveY(-0.2).moveZ(-0.4); //Dish disk1=sphere(1); disk2=sphere(2).moveY(1.6); disk=disk1.subtract(disk2); pointyThingy=cone(0.2,0.06,1.4); bigDishThingy5=wingThings.add(disk).add(pointyThingy); bigDishThingy5.rotateY(-90).rotateZ(-70).moveY(22.3).moveZ(-4.5).moveX(24); //broadcasting dish 6 WingThing1=polygon([ [0,0],[0.2,0.8],[1.8,0.4],[1.8,0] ]); wingThing1=extrudeShape(WingThing1,0.05).moveX(0.8) WingThing2=polygon([ [0,0],[0,0.4],[1.6,0.8],[1.8,0] ]); wingThing2=extrudeShape(WingThing2,0.05).moveX(-2.6); wingThings=wingThing1.add(wingThing2); wingThings.rotateX(90).moveY(-0.2).moveZ(-0.4); //Dish disk1=sphere(1); disk2=sphere(2).moveY(1.6); disk=disk1.subtract(disk2); pointyThingy=cone(0.2,0.06,1.4); bigDishThingy6=wingThings.add(disk).add(pointyThingy); bigDishThingy6.rotateY(-90).rotateZ(-70).moveY(23).moveX(17.2).moveZ(-16.5); //broadcasting dish 7 WingThing1=polygon([ [0,0],[0.2,0.8],[1.8,0.4],[1.8,0] ]); wingThing1=extrudeShape(WingThing1,0.05).moveX(0.8) WingThing2=polygon([ [0,0],[0,0.4],[1.6,0.8],[1.8,0] ]); wingThing2=extrudeShape(WingThing2,0.05).moveX(-2.6); wingThings=wingThing1.add(wingThing2); wingThings.rotateX(90).moveY(-0.2).moveZ(-0.4); //Dish disk1=sphere(1); disk2=sphere(2).moveY(1.6); disk=disk1.subtract(disk2); pointyThingy=cone(0.2,0.06,1.4); bigDishThingy7=wingThings.add(disk).add(pointyThingy); bigDishThingy7.rotateY(-90).rotateZ(-70).moveY(22.3).moveX(23).moveZ(9); //broadcasting dish 8 WingThing1=polygon([ [0,0],[0.2,0.8],[1.8,0.4],[1.8,0] ]); wingThing1=extrudeShape(WingThing1,0.05).moveX(0.8) WingThing2=polygon([ [0,0],[0,0.4],[1.6,0.8],[1.8,0] ]); wingThing2=extrudeShape(WingThing2,0.05).moveX(-2.6); wingThings=wingThing1.add(wingThing2); wingThings.rotateX(90).moveY(-0.2).moveZ(-0.4); //Dish disk1=sphere(1); disk2=sphere(2).moveY(1.6); disk=disk1.subtract(disk2); pointyThingy=cone(0.2,0.06,1.4); bigDishThingy8=wingThings.add(disk).add(pointyThingy); bigDishThingy8.rotateY(-90).rotateX(20).rotateZ(-70).moveY(22.3).moveX(18).moveZ(17); hull1=polygon([ [16,18],[16,23],[18,24],[20,23.25],[20,23],[24,22],[27,20],[27,18],[24,17],[20,16.25],[16,17.99,0.25]]); hull2=revolveShape(hull1); absence=cone(10,5,50).rotateX(90).moveY(19.5).moveZ(-20); control1=sphere(7).moveY(19.5); control2=cone(4,1.25,8).rotateX(-90).moveY(20).moveZ(14); hull3=hull2.subtract(absence); interior1=polygon([ [20,19],[20,21,0.01],[23,21],[23,19,0.01] ]); interior=revolveShape(interior1); hull4=hull3.add(style).add(style3); theHull = hull4.subtract(interior).add(control1); LucrehulkclassDroidControlShip=mainControl.add(theHull).add(engineBase).add(enginePlatform).add(engines).add(connecter).add(bigDishThingy).add(bigDishThingy2).add(bigDishThingy3).add(bigDishThingy4).add(bigDishThingy5).add(bigDishThingy6).add(bigDishThingy7).add(bigDishThingy8) LucrehulkclassDroidControlShip.display().rotateX(90);