private void LoadInternal(ref XmlHelper xh) { XmlNode sbc = xh.m_toplevel; dpmmX = xh.GetDouble(sbc, "DotsPermmX", 102.4); dpmmY = xh.GetDouble(sbc, "DotsPermmY", 76.8); xres = xh.GetInt(sbc, "XResolution", 1024); yres = xh.GetInt(sbc, "YResolution", 768); //ZThick = xh.GetDouble(sbc, "SliceHeight", 0.05); //layertime_ms = xh.GetInt(sbc, "LayerTime", 1000); // 1 second default //firstlayertime_ms = xh.GetInt(sbc, "FirstLayerTime", 5000); blanktime_ms = xh.GetInt(sbc, "BlankTime", 2000); // 2 seconds blank plat_temp = xh.GetInt(sbc, "PlatformTemp", 75); //exportgcode = xh.GetBool(sbc, "ExportGCode")); exportsvg = xh.GetInt(sbc, "ExportSVG", 0); // the problem is this was previously a boolean variable if ((exportsvg < 0) || (exportsvg > 4)) exportsvg = 0; export = xh.GetBool(sbc, "Export", false); ; exportpng = xh.GetBool(sbc, "ExportPNG", false); ; XOffset = xh.GetInt(sbc, "XOffset", 0); YOffset = xh.GetInt(sbc, "YOffset", 0); //numfirstlayers = xh.GetInt(sbc, "NumberofBottomLayers", 3); direction = (eBuildDirection)xh.GetEnum(sbc, "Direction", typeof(eBuildDirection), eBuildDirection.Bottom_Up); liftdistance = xh.GetDouble(sbc, "LiftDistance", 5.0); slidetiltval = xh.GetDouble(sbc, "SlideTiltValue", 0.0); antialiasing = xh.GetBool(sbc, "AntiAliasing", false); usemainliftgcode = xh.GetBool(sbc, "UseMainLiftGCode", false); aaval = xh.GetDouble(sbc, "AntiAliasingValue", 1.5); liftfeedrate = xh.GetDouble(sbc, "LiftFeedRate", 50.0); // 50mm/s bottomliftfeedrate = xh.GetDouble(sbc, "BottomLiftFeedRate", 25.0); // 50mm/s liftretractrate = xh.GetDouble(sbc, "LiftRetractRate", 100.0); // 100mm/s m_exportopt = xh.GetString(sbc, "ExportOption", "SUBDIR"); // default to saving in subdirectory m_flipX = xh.GetBool(sbc, "FlipX", false); m_flipY = xh.GetBool(sbc, "FlipY", false); m_notes = xh.GetString(sbc, "Notes", ""); m_createoutlines = xh.GetBool(sbc, "RenderOutlines", false); m_outlinewidth_inset = xh.GetDouble(sbc, "OutlineWidth_Inset", 2.0); m_outlinewidth_outset = xh.GetDouble(sbc, "OutlineWidth_Outset", 0.0); //m_resinprice = xh.GetDouble(sbc, "ResinPriceL", 0.0); m_headercode = xh.GetString(sbc, "GCodeHeader", DefGCodeHeader()); m_footercode = xh.GetString(sbc, "GCodeFooter", DefGCodeFooter()); m_preslicecode = xh.GetString(sbc, "GCodePreslice", DefGCodePreslice()); m_liftcode = xh.GetString(sbc, "GCodeLift", DefGCodeLift()); selectedInk = xh.GetString(sbc, "SelectedInk", "Default"); inks = new Dictionary<string, InkConfig>(); List<XmlNode> inkNodes = xh.FindAllChildElement(sbc, "InkConfig"); foreach (XmlNode xnode in inkNodes) { string name = xh.GetString(xnode, "Name", "Default"); InkConfig ic = new InkConfig(name); ic.Load(xh, xnode); inks[name] = ic; } if (!inks.ContainsKey(selectedInk)) { InkConfig ic = new InkConfig(selectedInk); ic.Load(xh, sbc); // try loading legacy settings from parent inks[selectedInk] = ic; } SetCurrentInk(selectedInk); minExposure = xh.GetInt(sbc, "MinTestExposure", 500); exposureStep = xh.GetInt(sbc, "TestExposureStep", 200); exportpreview = (PreviewGenerator.ePreview)xh.GetEnum(sbc, "ExportPreview", typeof(PreviewGenerator.ePreview), PreviewGenerator.ePreview.None); xh.LoadUserParamList(userParams); }
bool Load(XmlHelper xh) { bool retval = false; XmlNode mc = xh.m_toplevel; m_PlatXSize = xh.GetDouble(mc, "PlatformXSize", 102.0); m_PlatYSize = xh.GetDouble(mc, "PlatformYSize", 77.0); m_PlatZSize = xh.GetDouble(mc, "PlatformZSize", 100.0); m_XMaxFeedrate = xh.GetDouble(mc, "MaxXFeedRate", 100.0); m_YMaxFeedrate = xh.GetDouble(mc, "MaxYFeedRate", 100.0); m_ZMaxFeedrate = xh.GetDouble(mc, "MaxZFeedRate", 100.0); XRenderSize = xh.GetInt(mc, "XRenderSize", 1024); YRenderSize = xh.GetInt(mc, "YRenderSize", 768); MachineControls = xh.GetString(mc, "DisplayedControls", "XYZPG"); m_machinetype = (eMachineType)xh.GetEnum(mc, "MachineType", typeof(eMachineType), eMachineType.UV_DLP); m_multimontype = (eMultiMonType)xh.GetEnum(mc, "MultiMonType", typeof(eMultiMonType), eMultiMonType.eHorizontal); if (m_driverconfig.Load(xh, mc)) { retval = true; } //m_monitorconfig.Load(xh, mc); List<XmlNode> monitornodes = xh.FindAllChildElement(mc, "MonitorDriverConfig"); m_lstMonitorconfigs = new List<MonitorConfig>(); foreach (XmlNode node in monitornodes) { MonitorConfig monc = new MonitorConfig(); monc.Load(xh, node); m_lstMonitorconfigs.Add(monc); } if (m_lstMonitorconfigs.Count > 0) { // we need at least 1 monitor //m_monitorconfig = m_lstMonitorconfigs[0]; } else { DebugLogger.Instance().LogError("No monitor configurations found!"); } CalcPixPerMM(); CorrectMonitorConfig(); userParams = new UserParameterList(); xh.LoadUserParamList(userParams); return retval; }