Ejemplo n.º 1
0
 public Main()
 {
     repetierKey     = Registry.CurrentUser.CreateSubKey("Software\\Repetier");
     main            = this;
     generator       = new GCodeGenerator();
     globalSettings  = new GlobalSettings();
     conn            = new PrinterConnection();
     printerSettings = new FormPrinterSettings();
     threeDSettings  = new ThreeDSettings();
     InitializeComponent();
     conn.eventConnectionChange += OnPrinterConnectionChange;
     conn.eventPrinterAction    += OnPrinterAction;
     conn.eventJobProgress      += OnJobProgress;
     printPanel      = new PrintPanel();
     printPanel.Dock = DockStyle.Fill;
     splitContainerPrinterGraphic.Panel1.Controls.Add(printPanel);
     logView      = new LogView();
     logView.Dock = DockStyle.Fill;
     splitVert.Panel2.Controls.Add(logView);
     skeinforge = new Skeinforge();
     PrinterChanged(printerSettings.currentPrinterKey, true);
     printerSettings.eventPrinterChanged += PrinterChanged;
     // GCode print preview
     printPreview      = new ThreeDControl();
     printPreview.Dock = DockStyle.Fill;
     splitContainerPrinterGraphic.Panel2.Controls.Add(printPreview);
     printPreview.SetEditor(false);
     printPreview.AutoUpdateable = true;
     printVisual = new GCodeVisual(conn.analyzer);
     printPreview.models.AddLast(printVisual);
     basicTitle = Text;
 }
Ejemplo n.º 2
0
 private void timer_Tick(object sender, EventArgs e)
 {
     if (newVisual != null)
     {
         jobPreview.models.RemoveLast();
         jobVisual.Clear();
         jobVisual = newVisual;
         jobPreview.models.AddLast(jobVisual);
         jobPreview.UpdateChanges();
         newVisual = null;
         editor.toolUpdating.Text = "";
     }
     if (recalcJobPreview && jobPreviewThreadFinished)
     {
         recalcJobPreview         = false;
         jobPreviewThreadFinished = false;
         JobUpdater workerObject = new JobUpdater();
         editor.toolUpdating.Text = "Updating ...";
         previewThread            = new Thread(workerObject.DoWork);
         previewThread.Start();
     }
     if (refreshCounter > 0)
     {
         if (--refreshCounter == 0)
         {
             Invalidate();
         }
     }
 }
Ejemplo n.º 3
0
 public void SetVisualGCode()
 {
     if (projectManager.ProjectManager.Instance.CurrentProject.SlicerView.models.Count > 0)
     {
         GCodeVisual visualGCode =
             projectManager.ProjectManager.Instance.CurrentProject.SlicerView.models.ElementAt(0) as GCodeVisual;
         analyzer.GCodeVisual = visualGCode;
     }
 }
Ejemplo n.º 4
0
        public void InitSlicerView()
        {
            GCodeVisual jobVisual = new GCodeVisual();

            _slicerView = new ThreeDView();
            _slicerView.SetEditor(false);
            jobVisual.OwnerControl = control;
            _slicerView.models.AddLast(jobVisual);
        }
Ejemplo n.º 5
0
            // This method will be called when the thread is started.
            public void DoWork()
            {
                RepetierEditor ed   = Main.main.editor;
                string         text = ed.getContent(1) + ed.getContent(0) + ed.getContent(2);

                visual = new GCodeVisual();
                visual.ParseText(text, true);
                visual.Reduce();
                //visual.stats();
                Main.main.newVisual = visual;
                Main.main.jobPreviewThreadFinished = true;
                Main.main.previewThread            = null;
            }
Ejemplo n.º 6
0
            // This method will be called when the thread is started.
            public void DoWork()
            {
                RepetierEditor ed = Main.main.editor;

                Stopwatch sw = new Stopwatch();
                sw.Start();
                visual = new GCodeVisual();
                switch (ed.ShowMode)
                {
                    case 0:
                        visual.minLayer = 0;
                        visual.maxLayer = 999999;
                        break;
                    case 1:
                        visual.minLayer = visual.maxLayer = ed.ShowMinLayer;
                        break;
                    case 2:
                        visual.minLayer = ed.ShowMinLayer;
                        visual.maxLayer = ed.ShowMaxLayer;
                        break;
                }
                visual.parseGCodeShortArray(Main.main.previewArray, true);
                Main.main.previewArray = null;
                visual.Reduce();
                //visual.stats();
                Main.main.newVisual = visual;
                Main.main.jobPreviewThreadFinished = true;
                Main.main.previewThread = null;
                sw.Stop();
                //Main.conn.log("Update time:" + sw.ElapsedMilliseconds, false, 3);
            }
Ejemplo n.º 7
0
        public Main()
        {
            executeHostCall = new executeHostCommandDelegate(this.executeHostCommand);
            repetierKey     = Registry.CurrentUser.CreateSubKey("Software\\Repetier");
            repetierKey.SetValue("installPath", Application.StartupPath);
            if (Path.DirectorySeparatorChar != '\\' && IsRunningOnMac())
            {
                IsMac = true;
            }

            /*String[] parms = Environment.GetCommandLineArgs();
             * string lastcom = "";
             * foreach (string s in parms)
             * {
             *  if (lastcom == "-home")
             *  {
             *      repetierKey.SetValue("installPath",s);
             *      lastcom = "";
             *      continue;
             *  }
             *  if (s == "-macosx") IsMac = true;
             *  lastcom = s;
             * }*/
            main            = this;
            generator       = new GCodeGenerator();
            globalSettings  = new GlobalSettings();
            conn            = new PrinterConnection();
            printerSettings = new FormPrinterSettings();
            threeDSettings  = new ThreeDSettings();
            InitializeComponent();
            RegMemory.RestoreWindowPos("mainWindow", this);
            if (WindowState == FormWindowState.Maximized)
            {
                Application.DoEvents();
            }
            splitLog.SplitterDistance = RegMemory.GetInt("logSplitterDistance", splitLog.SplitterDistance);
            if (IsMono)
            {
                if (!IsMac)
                {
                    splitContainerPrinterGraphic.SplitterDistance += 52;
                    foreach (ToolStripItem m in menu.Items)
                    {
                        m.Text = m.Text.Replace("&", null);
                    }
                }
                if (IsMac)
                {
                    /*Application.Events.Quit += delegate (object sender, ApplicationEventArgs e) {
                     *      Application.Quit ();
                     *      e.Handled = true;
                     * };
                     *
                     * ApplicationEvents.Reopen += delegate (object sender, ApplicationEventArgs e) {
                     *      WindowState = FormWindowState.Normal;
                     *      e.Handled = true;
                     * };*/

                    MinimumSize              = new Size(500, 640);
                    tab.MinimumSize          = new Size(500, 500);
                    splitLog.Panel1MinSize   = 520;
                    splitLog.Panel2MinSize   = 100;
                    splitLog.IsSplitterFixed = true;
                    splitJob.IsSplitterFixed = true;
                    //splitContainerPrinterGraphic.SplitterDistance -= 52;
                    splitLog.SplitterDistance = splitLog.Height - 100;
                }
            }
            toolShowLog.Checked         = RegMemory.GetBool("logShow", true);
            conn.eventConnectionChange += OnPrinterConnectionChange;
            conn.eventPrinterAction    += OnPrinterAction;
            conn.eventJobProgress      += OnJobProgress;
            printPanel      = new PrintPanel();
            printPanel.Dock = DockStyle.Fill;
            splitContainerPrinterGraphic.Panel1.Controls.Add(printPanel);
            printerSettings.formToCon();
            logView      = new LogView();
            logView.Dock = DockStyle.Fill;
            splitLog.Panel2.Controls.Add(logView);
            skeinforge = new Skeinforge();
            PrinterChanged(printerSettings.currentPrinterKey, true);
            printerSettings.eventPrinterChanged += PrinterChanged;
            // GCode print preview
            printPreview      = new ThreeDControl();
            printPreview.Dock = DockStyle.Fill;
            splitContainerPrinterGraphic.Panel2.Controls.Add(printPreview);
            printPreview.SetEditor(false);
            printPreview.AutoUpdateable = true;
            printVisual          = new GCodeVisual(conn.analyzer);
            printVisual.liveView = true;
            printPreview.models.AddLast(printVisual);
            basicTitle      = Text;
            jobPreview      = new ThreeDControl();
            jobPreview.Dock = DockStyle.Fill;
            splitJob.Panel2.Controls.Add(jobPreview);
            jobPreview.SetEditor(false);
            jobPreview.models.AddLast(jobVisual);
            editor.contentChangedEvent += JobPreview;
            editor.commands             = new Commands();
            editor.commands.Read("default", "en");
            UpdateHistory();
            UpdateConnections();
            Main.slic3r = new Slic3r();
            slicer      = new Slicer();
            if (IsMac)
            {
                tabGCode.Controls.Remove(splitJob);
                tabPrint.Controls.Remove(splitContainerPrinterGraphic);
            }
        }