public static void makeDiceHolder() { double chamberDiameter = Inches.One; var singleChamberCenter = new Cylinder(chamberDiameter, Inches.Half + Inches.Eigth, true) { Resolution = 6 }; var singleChamber = new Cylinder(chamberDiameter + Inches.Eigth, Inches.Half + Inches.Eigth, true) { Resolution = 6 } - singleChamberCenter.Scale(1, 1, 2); singleChamber = singleChamber.Rotate(0, 0, 30); var bottom = singleChamber; for (int angle = 60; angle < 420; angle+=60) { bottom += singleChamber.Clone().Translate(chamberDiameter - Inches.Sixteenth, 0, 0).Rotate(0, 0, angle); } var hexSection = bottom.Clone(); var outerCylCenter = new Cylinder(chamberDiameter * 2.9, Inches.Half, true) { Resolution = 90 }.Translate(0, 0, Inches.Eigth); var outerCyl = (new Cylinder(chamberDiameter * 2.9 + Inches.Eigth, Inches.Half, true) { Resolution = 90 } - outerCylCenter).Translate(0, 0, bottom.Bounds().ZMin + Inches.Half); bottom += outerCyl; var lidCenter = new Cylinder(chamberDiameter * 2.9 + Inches.Eigth + Inches.Sixteenth*.5, Inches.One, true) { Resolution = 90 }.Translate(0, 0, Inches.Eigth); var lid = (new Cylinder(chamberDiameter * 2.9 + Inches.Quarter + Inches.Sixteenth * .5, Inches.One, true) { Resolution = 90 } - lidCenter).Translate(0, 0, bottom.Bounds().ZMin + Inches.Half); var top = lid.Clone().Mirror(0, 0, 1).Rotate(0, 180, 0); //OSCADObject dragon = ImportedImage.FromFile("dragonInsignia.png", new ImageImportOptions() { // UseGrayScale = true, // HeightMapping = ImageImportOptions.HeightMappingMode.None, // SimplificationAmount = 100 //}); //var topBounds = top.Bounds(); //dragon = dragon.Scale(.1, .1, Inches.Quarter).Translate(-topBounds.Length/2 + Inches.Sixteenth, -topBounds.Width/2 + Inches.Sixteenth, topBounds.ZMin - Inches.Eigth); var whole = top;//bottom;// /*bottom + */ top - dragon; whole.ToFile("diceHolder_cap").Open(); }