using GeoSigmaDrawLib; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Serialization; namespace SigmaDrawerElement { public class DrawerXyz : ElementBase { /// /// Initializes a new instance of the class. /// public DrawerXyz() { ElementType = DrawElementType.ELEMENT_XYZ; } [Browsable(false)] [XmlElement("Base")] public DrawerXyzBase Base { get; set; } = new DrawerXyzBase(); [XmlIgnore] [Category("\t数据"), DisplayName("X")] public double X { get { return Base.X; } set { Base.X = value; } } [XmlIgnore] [Category("\t数据"), DisplayName("Y")] public double Y { get { return Base.Y; } set { Base.Y = value; } } [XmlIgnore] [Category("\t数据"), DisplayName("Z")] public double Z { get { return Base.Z; } set { Base.Z = value; } } public override string Name { get { return Base.Z.ToString(); } } } public class DrawerXyzBase { private string dataValue = ""; [XmlAttribute("Value")] public string DataValue { get { return $"{X},{Y},{Z}"; } set { if (string.IsNullOrEmpty(value)) { return; } string[] saData = value.Split(','); if (saData.Length < 3) { return; } X = Convert.ToDouble(saData[0]); Y = Convert.ToDouble(saData[1]); Z = Convert.ToDouble(saData[2]); } } [XmlAttribute] public double X { get; set; } [XmlAttribute] public double Y { get; set; } [XmlAttribute] public double Z { get; set; } } }