Circle Code G2 G3

  • Noch was:


    Ich hab als Postprocessor einen für CNCUSB , der auch Circle Code ausgeben könnte.

    Dies sind wohl die G2 und G3 Codes.

    Leider sehe ich niemals in irgendeinem "Werkzeugweg" von Aspire diese Codes.
    Es wird immer alles in gerade Segmente zerlegt, was in riesigen Dateien resultiert.

    Muß das irgendwo definiert werden, damit Aspire das richtig macht?


    Wie ist das bei euch?

  • Im PP sindefinitiv die codes drin, hab sie ja selber reingeschrieben!


    (kann das nicht hochladen! )

    +================================================
    + History

    +

    + Who When What

    + ======== ========== ===========================

    + Tony 15/11/2005 Written for metric

    + Tony 06/01/2006 Added ATC option

    + Tony 14/05/2006 Fixed G21 mm in header

    + Tony 24/07/2006 Added G2 & G3 Arc support + removed (( ))

    + Tony 18/06/2007 Replaced the Tool comment

    + Mark 14/08/2008 Added G1 to Feed moves,

    + Mark 28/08/2009 Added G91.1 to force use of incremental arcs

    + Mark 30/11/2009 Added TOOLPATHS_OUTPUT.

    + Brian 15/12/2009 Remove M05 from NEW_SEGMENT

    + Masanori 17/05/2011 Modified to read in USBCNC

    + Egbert 16/03/2016 geändert für Planet CNCUSB

    + ARC: mit

    + Egbert 13/05/2016 ToolChange

    +================================================

    POST_NAME = "CNCUSB(mm)_ARC_TC (*.nc)"

    FILE_EXTENSION = "nc"

    UNITS = "MM"

    SUBSTITUTE = "({)}"

    +------------------------------------------------

    + Line terminating characters

    +------------------------------------------------

    LINE_ENDING = "[13][10]"

    +------------------------------------------------

    + Block numbering

    +------------------------------------------------

    LINE_NUMBER_START = 0

    LINE_NUMBER_INCREMENT = 1

    LINE_NUMBER_MAXIMUM = 999999

    +================================================

    + Formating for variables

    +

    +================================================

    VAR LINE_NUMBER = [N|A|N|1.0]

    VAR SPINDLE_SPEED = [S|A|S|1.0]

    VAR FEED_RATE = [F|C|F|1.1]

    VAR X_POSITION = [X|C|X|1.3]

    VAR Y_POSITION = [Y|C|Y|1.3]

    VAR Z_POSITION = [Z|C|Z|1.3]

    VAR X_HOME_POSITION = [XH|A|X|1.3]

    VAR Y_HOME_POSITION = [YH|A|Y|1.3]

    VAR Z_HOME_POSITION = [ZH|A|Z|1.3]

    VAR SAFE_Z_HEIGHT = [SAFEZ|A|Z|1.3]

    VAR ARC_CENTRE_I_INC_POSITION = [I|A|I|1.3]

    VAR ARC_CENTRE_J_INC_POSITION = [J|A|J|1.3]

    +================================================

    +

    + Block definitions for toolpath output

    +

    +================================================

    +---------------------------------------------------

    + Commands output at the start of the file

    +---------------------------------------------------

    begin HEADER

    "( [TP_FILENAME] )"

    "( Generiert am: [DATE] - [TIME])"

    "( CNCUSB_ARC Postprocessor )"

    "( Material Dimension)"

    "( X= [XLENGTH], Y= [YLENGTH], Z= [ZLENGTH])"

    "([FILE_NOTES])"

    "(Benutzte Werkzeugwege:)"

    "([TOOLPATHS_OUTPUT])"

    "(Benutzte Werkzeuge: )"

    "([TOOLS_USED])"

    "[N]G00G21G17G90G40G49"

    "[N]G80"

    "[N] ([TOOLNAME])"

    "[N]G00G43[ZH]H[T]"

    "[N][S]M03"

    "[N](Werkzeugweg:- [TOOLPATH_NAME])"

    "[N]([TOOLPATH_NOTES])"

    "[N]G94"

    "[N][XH][YH][F]"

    +---------------------------------------------------

    + Commands output for rapid moves

    +---------------------------------------------------

    begin RAPID_MOVE

    "[N]G00[X][Y][Z]"

    +---------------------------------------------------

    + Commands output for the first feed rate move

    +---------------------------------------------------

    begin FIRST_FEED_MOVE"[N]G1[X][Y][Z][F]"

    +---------------------------------------------------

    + Commands output for feed rate moves

    +---------------------------------------------------

    begin FEED_MOVE

    "[N]G1[X][Y][Z]"

    +---------------------------------------------------

    + Commands output for the first clockwise arc move

    +---------------------------------------------------

    begin FIRST_CW_ARC_MOVE

    "[N]G2[X][Y][I][J][F]"

    +---------------------------------------------------

    + Commands output for clockwise arc move

    +---------------------------------------------------

    begin CW_ARC_MOVE

    "[N]G2[X][Y][I][J]"

    +---------------------------------------------------

    + Commands output for the first counterclockwise arc move

    +---------------------------------------------------

    begin FIRST_CCW_ARC_MOVE

    "[N]G3[X][Y][I][J][F]"

    +---------------------------------------------------

    + Commands output for counterclockwise arc move

    +---------------------------------------------------

    begin CCW_ARC_MOVE

    "[N]G3[X][Y][I][J]"

    +---------------------------------------------------

    + Commands output for a new segment - toolpath

    + with same toolnumber but maybe different feedrates

    +---------------------------------------------------

    begin NEW_SEGMENT

    "[N][S]M03"

    "([TOOLPATH_NAME])"

    "([TOOLPATH_NOTES])"

    +---------------------------------------------------

    + Commands output at toolchange

    +---------------------------------------------------

    begin TOOLCHANGE

    "[N] T[T] M6"

    "[N] G43H[T]"

    "[N] [S] M03"

    +---------------------------------------------------

    + Commands output at the end of the file

    +---------------------------------------------------

    begin FOOTER

    "[N]G00[ZH]"

    "[N]G00[XH][YH]"

    "[N]M09"

    "[N]M30"

    %