private void AppendPackElement(PackProperties packProperties, XmlElement elemPackAnalysis, XmlDocument xmlDoc) { string ns = xmlDoc.DocumentElement.NamespaceURI; // pack element XmlElement elemPack = CreateElement("pack", null, elemPackAnalysis, xmlDoc, ns); // name CreateElement("name", packProperties.Name, elemPack, xmlDoc, ns); // description CreateElement("description", packProperties.Description, elemPack, xmlDoc, ns); // arrangement PackArrangement arrangement = packProperties.Arrangement; CreateElement( "arrangement" , string.Format("{0} * {1} * {2}", arrangement.Length, arrangement.Width, arrangement.Height) , elemPack, xmlDoc, ns); // length / width /height AppendElementValue(xmlDoc, elemPack, "length", UnitsManager.UnitType.UT_LENGTH, packProperties.Length); AppendElementValue(xmlDoc, elemPack, "width", UnitsManager.UnitType.UT_LENGTH, packProperties.Width); AppendElementValue(xmlDoc, elemPack, "height", UnitsManager.UnitType.UT_LENGTH, packProperties.Height); // weight AppendElementValue(xmlDoc, elemPack, "netWeight", UnitsManager.UnitType.UT_MASS, packProperties.NetWeight); AppendElementValue(xmlDoc, elemPack, "wrapperWeight", UnitsManager.UnitType.UT_MASS, packProperties.Wrap.Weight); AppendElementValue(xmlDoc, elemPack, "weight", UnitsManager.UnitType.UT_MASS, packProperties.Weight); // --- build image Graphics3DImage graphics = new Graphics3DImage(new Size(ImageSizeDetail, ImageSizeDetail)); graphics.CameraPosition = Graphics3D.Corner_0; graphics.Target = Vector3D.Zero; Pack pack = new Pack(0, packProperties); pack.ForceTransparency = true; graphics.AddBox(pack); DimensionCube dc = new DimensionCube(pack.Length, pack.Width, pack.Height); dc.FontSize = 6.0f; graphics.AddDimensions(dc); graphics.Flush(); // view_pack_iso XmlElement elemImage = xmlDoc.CreateElement("view_pack_iso", ns); TypeConverter converter = TypeDescriptor.GetConverter(typeof(Bitmap)); elemImage.InnerText = Convert.ToBase64String((byte[])converter.ConvertTo(graphics.Bitmap, typeof(byte[]))); XmlAttribute styleAttribute = xmlDoc.CreateAttribute("style"); styleAttribute.Value = string.Format("width:{0}pt;height:{1}pt", graphics.Bitmap.Width / 4, graphics.Bitmap.Height / 4); elemImage.Attributes.Append(styleAttribute); elemPack.AppendChild(elemImage); // save image SaveImageAs(graphics.Bitmap, "view_pack_iso.png"); }
public void Draw(Graphics3DControl ctrl, Graphics3D graphics) { // build pack PackProperties packProperties = new PackProperties(null, SelectedBox, Arrangement, BoxOrientation, Wrapper); if (uCtrlOuterDimensions.Checked) packProperties.ForceOuterDimensions( new Vector3D(uCtrlOuterDimensions.X, uCtrlOuterDimensions.Y, uCtrlOuterDimensions.Z) ); Pack pack = new Pack(0, packProperties); pack.ForceTransparency = true; graphics.AddBox(pack); graphics.AddDimensions(new DimensionCube(Vector3D.Zero, pack.Length, pack.Width, pack.Height, Color.Black, true)); if (packProperties.Wrap.Transparent) graphics.AddDimensions( new DimensionCube( packProperties.InnerOffset , packProperties.InnerLength, packProperties.InnerWidth, packProperties.InnerHeight , Color.Red, false)); }
internal void Draw(Pack pack) { System.Drawing.Graphics g = Graphics; Vector3D[] points = pack.Points; }