Exemple #1
0
 public void Setup(UserParameterList parms)
 {
     try
     {
         m_parms = parms;
         lvParams.Items.Clear();
         //parms.paramDict.
         foreach (KeyValuePair <string, CWParameter> parm in parms.paramDict)
         {
             CWParameter  cwp = parm.Value;
             ListViewItem lvi = lvParams.Items.Add(parm.Key);
             if (cwp.ParamType == typeof(string))
             {
                 GuiParam <string> dat = (GuiParam <string>)cwp;
                 lvi.SubItems.Add(dat.GetVal());
             }
             //GuiParam prm
         }
         lvParams.Refresh();
     }
     catch (Exception ex)
     {
         DebugLogger.Instance().LogError(ex);
     }
 }
        public void CopyFrom(SliceBuildConfig source)
        {
            dpmmX             = source.dpmmX;        // dots per mm x
            dpmmY             = source.dpmmY;        // dots per mm y
            xres              = source.xres;
            yres              = source.yres;         // the resolution of the output image
            ZThick            = source.ZThick;       // thickness of the z layer - slicing height
            layertime_ms      = source.layertime_ms; // time to project image per layer in milliseconds
            firstlayertime_ms = source.firstlayertime_ms;
            blanktime_ms      = source.blanktime_ms;
            plat_temp         = source.plat_temp;       // desired platform temperature in celsius
            // exportgcode = source.exportgcode; // export the gcode file when slicing
            exportsvg          = source.exportsvg;      // export the svg slices when building
            export             = source.export;         // export image slices when building
            exportpng          = source.exportpng;
            m_headercode       = source.m_headercode;   // inserted at beginning of file
            m_footercode       = source.m_footercode;   // inserted at end of file
            m_preslicecode     = source.m_preslicecode; // inserted before each slice
            m_liftcode         = source.m_liftcode;     // its the main lift code
            m_shutterclosecode = source.m_shutterclosecode;
            m_shutteropencode  = source.m_shutteropencode;

            liftdistance       = source.liftdistance;
            direction          = source.direction;
            numfirstlayers     = source.numfirstlayers;
            XOffset            = source.XOffset;
            YOffset            = source.YOffset;
            slidetiltval       = source.slidetiltval;
            antialiasing       = source.antialiasing;
            usemainliftgcode   = source.usemainliftgcode;
            liftfeedrate       = source.liftfeedrate;
            bottomliftfeedrate = source.bottomliftfeedrate;
            liftretractrate    = source.liftretractrate;
            aaval = source.aaval;//
            //m_generateautosupports = source.m_generateautosupports;
            m_exportopt           = source.m_exportopt;
            m_flipX               = source.m_flipX;
            m_flipY               = source.m_flipY;
            m_notes               = source.m_notes;
            m_resinprice          = source.m_resinprice;
            selectedInk           = source.selectedInk;
            m_createoutlines      = source.m_createoutlines;
            m_outlinewidth_inset  = source.m_outlinewidth_inset;
            m_outlinewidth_outset = source.m_outlinewidth_outset;
            if (source.inks != null)
            {
                inks = new Dictionary <string, InkConfig>();
                foreach (KeyValuePair <string, InkConfig> entry in source.inks)
                {
                    inks[entry.Key] = entry.Value;
                }
            }
            minExposure   = source.minExposure;
            exposureStep  = source.exposureStep;
            exportpreview = source.exportpreview;

            userParams = source.userParams;
        }
Exemple #3
0
        public bool Load(string filename)
        {
            m_filename = filename;
            m_lstMonitorconfigs.Clear(); // clear any previously loaded monitors
            m_name = Path.GetFileNameWithoutExtension(filename);
            bool      retval    = false;
            XmlHelper xh        = new XmlHelper();
            bool      fileExist = xh.Start(m_filename, "MachineConfig");
            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();

            if (!fileExist)
            {
                xh.Save(FILE_VERSION);
            }
            CorrectMonitorConfig();
            userParams = new UserParameterList();
            xh.LoadUserParamList(userParams);
            return(retval);
        }
 public void CreateDefault()
 {
     numfirstlayers    = 3;
     layertime_ms      = 1000; // 1 second default
     firstlayertime_ms = 5000;
     blanktime_ms      = 2000; // 2 seconds blank
     xres           = 1024;
     yres           = 768;
     ZThick         = .05;
     plat_temp      = 75;
     dpmmX          = 102.4;
     dpmmY          = 76.8;
     XOffset        = 0;
     YOffset        = 0;
     numfirstlayers = 3;
     //exportgcode = true;
     exportsvg    = 0;
     export       = false;
     exportpng    = false;
     direction    = eBuildDirection.Bottom_Up;
     liftdistance = 5.0;
     //raise_time_ms = 750;
     slidetiltval       = 0.0;
     antialiasing       = false;
     usemainliftgcode   = false;
     aaval              = 1.5;
     liftfeedrate       = 50.0;     // 50mm/s
     bottomliftfeedrate = 25.0;
     liftretractrate    = 100.0;    // 100mm/s
     m_exportopt        = "SUBDIR"; // default to saving in subdirectory
     m_flipX            = false;
     m_flipY            = false;
     m_notes            = "";
     m_resinprice       = 0.0;//
     //set the default gcode segments
     m_headercode       = DefGCodeHeader();
     m_footercode       = DefGCodeFooter();
     m_liftcode         = DefGCodeLift();
     m_preslicecode     = DefGCodePreslice();
     m_shutteropencode  = DefGCodeOpenShutter();
     m_shutterclosecode = DefGCodeCloseShutter();
     inks                  = new Dictionary <string, InkConfig>();
     selectedInk           = "Default";
     inks[selectedInk]     = new InkConfig(selectedInk);
     minExposure           = 500;
     m_createoutlines      = false;
     m_outlinewidth_inset  = 2.0;
     m_outlinewidth_outset = 0.0;
     exposureStep          = 200;
     exportpreview         = PreviewGenerator.ePreview.None;
     userParams            = new UserParameterList();
 }
 public MachineConfig()
 {
     m_PlatXSize    = 102.0;
     m_PlatYSize    = 77.0;
     m_PlatZSize    = 100; // 100 mm default, we have to load this
     m_XMaxFeedrate = 100;
     m_YMaxFeedrate = 100;
     m_ZMaxFeedrate = 100;
     XRenderSize    = 1024;
     YRenderSize    = 768;
     m_driverconfig = new DeviceDriverConfig();
     //m_monitorconfig = new MonitorConfig();
     m_lstMonitorconfigs = new List <MonitorConfig>(); // create a list of monitors attached to the system
     m_machinetype       = eMachineType.UV_DLP;
     m_multimontype      = eMultiMonType.eVertical;
     MachineControls     = "";
     userParams          = new UserParameterList();
     CalcPixPerMM();
 }
        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);
            m_OverrideRenderSize = xh.GetBool(mc, "OverrideRenderSize", false);

            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);
            m_ip            = xh.GetString(mc, "ip", "192.168.1.6");
            var ComPortnodes = xh.FindAllChildElement(mc, "ComPortSettings");

            foreach (XmlNode node in ComPortnodes)
            {
                serialComPort  = xh.GetString(node, "PortName", "COM1");
                serialBaudRate = xh.GetString(node, "Speed", "9600");
                serialDataBits = xh.GetString(node, "Databits", "8");
                serialParity   = xh.GetString(node, "Parity", "0");
                serialStopBits = xh.GetString(node, "Stopbits", "1");
            }
            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();
            //if we have a special render size, don't wipe it out...
            if (m_OverrideRenderSize == false)
            {
                CorrectMonitorConfig();
            }
            userParams = new UserParameterList();
            xh.LoadUserParamList(userParams);
            return(retval);
        }