Exemplo n.º 1
0
        public static int StartPath(PathObject pathObject)//string cmt)
        {
            Point  coordxy = pathObject.Start;
            double angle   = 0;

            angle = pathObject.StartAngle;

            PenUp();   // Don't set xmlMarker.figureEnd

            if (!pathInfo.IsSameAs(pathObject.Info) || FigureEndTagWasSet)
            {
                if (!FigureEndTagWasSet)
                {
                    SetFigureEndTag();
                }
                FigureEndTagWasSet = true;

                string xml = string.Format("{0} Id=\"{1}\"{2}> ", xmlMarker.figureStart, (++PathCount), getFigureAttributes(pathObject).ToString());                //attributeGeometry, attributeId, attributeColor, attributeToolNr);
                if (figureEnable)
                {
                    Comment(xml);
                }
                if (logCoordinates)
                {
                    Logger.Trace(" StartPath Option:{0}  {1}", pathObject.Options, xml);
                }
                FigureEndTagWasSet = false;

                pathInfo = pathObject.Info.Copy();

                if ((pathObject.Options & CreationOptions.AddPause) > 0)
                {
                    gcode.Pause(gcodeString);
                }
            }

            double setangle = 180 * angle / Math.PI;

            gcode.setTangential(gcodeString, setangle);
            gcode.MoveToRapid(gcodeString, coordxy);
            PenDown("");

            if (logCoordinates)
            {
                Logger.Trace("  StartPath at x{0:0.000} y{1:0.000} a={2:0.00}", coordxy.X, coordxy.Y, setangle);
            }

            lastGC = coordxy;
            return(PathCount);
        }
Exemplo n.º 2
0
        public static int StartPath(PathObject pathObject, int toolNr, string toolCmt)//string cmt)
        {
            Point  coordxy = pathObject.Start;
            double angle   = pathObject.StartAngle;
            int    iDToSet = PathCount;

            if (overWriteId && (pathObject.FigureId > 0))
            {
                iDToSet = pathObject.FigureId;
            }

            PenUp();   // Don't set xmlMarker.figureEnd

            if (!pathInfo.IsSameAs(pathObject.Info) || FigureEndTagWasSet)
            {
                if (!FigureEndTagWasSet)
                {
                    SetFigureEndTag();
                }
                FigureEndTagWasSet = true;

                iDToSet = ++PathCount;
                if (overWriteId && (pathObject.FigureId > 0))
                {
                    iDToSet = pathObject.FigureId;
                }

                string xml = string.Format("{0} Id=\"{1}\"{2}> ", xmlMarker.figureStart, iDToSet, getFigureAttributes(pathObject).ToString());                //attributeGeometry, attributeId, attributeColor, attributeToolNr);
                if (figureEnable)
                {
                    Comment(xml);
                }
                if (logCoordinates)
                {
                    Logger.Trace(" StartPath Option:{0}  {1}", pathObject.Options, xml);
                }
                FigureEndTagWasSet = false;

                pathInfo = pathObject.Info.Copy();

                if ((pathObject.Options & CreationOptions.AddPause) > 0)
                {
                    gcode.Pause(gcodeString, "StartPath");
                }
                if (pauseBeforePath)
                {
                    gcode.Pause(gcodeString, "Pause before path");
                }

                if (toolNr >= 0)
                {
                    ToolChange(toolNr, toolCmt);   // add tool change commands (if enabled) and set XYFeed etc.
                }
            }

            double setangle = 180 * angle / Math.PI;

            gcode.setTangential(gcodeString, setangle);
            gcode.MoveToRapid(gcodeString, coordxy);
            PenDown("");

            if (logCoordinates)
            {
                Logger.Trace("  StartPath at x{0:0.000} y{1:0.000} a={2:0.00}", coordxy.X, coordxy.Y, setangle);
            }

            lastGC = coordxy;
            return(iDToSet);     //PathCount;
        }