private void HatchPatternXData(Hatch hatch) { if (hatch.XData.ContainsKey(ApplicationRegistry.Default.Name)) { XData xdataEntry = hatch.XData[ApplicationRegistry.Default.Name]; xdataEntry.XDataRecord.Clear(); xdataEntry.XDataRecord.Add(new XDataRecord(XDataCode.RealX, hatch.Pattern.Origin.X)); xdataEntry.XDataRecord.Add(new XDataRecord(XDataCode.RealY, hatch.Pattern.Origin.Y)); xdataEntry.XDataRecord.Add(new XDataRecord(XDataCode.RealZ, 0.0)); } else { XData xdataEntry = new XData(new ApplicationRegistry(ApplicationRegistry.Default.Name)); xdataEntry.XDataRecord.Add(new XDataRecord(XDataCode.RealX, hatch.Pattern.Origin.X)); xdataEntry.XDataRecord.Add(new XDataRecord(XDataCode.RealY, hatch.Pattern.Origin.Y)); xdataEntry.XDataRecord.Add(new XDataRecord(XDataCode.RealZ, 0.0)); hatch.XData.Add(xdataEntry.ApplicationRegistry.Name, xdataEntry); } if (!(hatch.Pattern is HatchGradientPattern)) { return; } HatchGradientPattern grad = (HatchGradientPattern)hatch.Pattern; if (hatch.XData.ContainsKey("GradientColor1ACI")) { XData xdataEntry = hatch.XData["GradientColor1ACI"]; XDataRecord record = new XDataRecord(XDataCode.Integer, grad.Color1.Index); xdataEntry.XDataRecord.Clear(); xdataEntry.XDataRecord.Add(record); } else { XData xdataEntry = new XData(new ApplicationRegistry("GradientColor1ACI")); xdataEntry.XDataRecord.Add(new XDataRecord(XDataCode.Integer, grad.Color1.Index)); hatch.XData.Add(xdataEntry.ApplicationRegistry.Name, xdataEntry); } if (hatch.XData.ContainsKey("GradientColor2ACI")) { XData xdataEntry = hatch.XData["GradientColor2ACI"]; XDataRecord record = new XDataRecord(XDataCode.Integer, grad.Color2.Index); xdataEntry.XDataRecord.Clear(); xdataEntry.XDataRecord.Add(record); } else { XData xdataEntry = new XData(new ApplicationRegistry("GradientColor2ACI")); xdataEntry.XDataRecord.Add(new XDataRecord(XDataCode.Integer, grad.Color2.Index)); hatch.XData.Add(xdataEntry.ApplicationRegistry.Name, xdataEntry); } }
private XData ReadXDataRecord(string appId, ref CodeValuePair code) { XData xData = new XData(this.appIds[appId]); code = this.ReadCodePair(); while (code.Code >= 1000 && code.Code <= 1071) { if (code.Code == XDataCode.AppReg) break; XDataRecord xDataRecord = new XDataRecord(code.Code, code.Value); xData.XDataRecord.Add(xDataRecord); code = this.ReadCodePair(); } return xData; }