Guia CNC Brasil - Tudo sobre CNC, Router, Laser, Torno e 3D Print
SOFTWARES => Controle => Mach 2/3 => Tópico iniciado por: Eng.Germano em 27 de Setembro de 2011, 12:04
-
Bom dia, senhores,
A bronca é no Artcam, mas devido ao pós-processador do Mach3
O Artcam Pro 2008 que estou usando não aceitou os Percursos que gerei (ferramentas diferentes), ele alegou que o pós-processador não aceita troca de ferramentas, quando fui salvar os Percursos, como poderia proceder além de utilizar a mesma ferramentas em todos, que não seria uma boa solução.
Obrigado
-
Estou com o manual do mach3 aqui e em tese ele aceita troca de ferramenta, é o Pós-processador default que vem no Artcam, não?
O "erro" está onde, no Artcam ou no Mach3? Ou eu mim (que é mais provável)
-
Germano,
O problema não é no Mach3 mas no Artcam ou melhor - no pós ´processador esdcolhido para o trabalho...
Das duas uma - ou escolhe um pós processador diferenre e que faça a coisa funcionar, ou edite o pós desejado para que ele faça o que quer...
-
Alguém aqui no fórum já editou/criou esse pós para o Mach3(interrogação)
Gostaria de habilitar Troca de ferramenta MANUAL após cada percurso, isso especifico no Artcam(Interrogação), ou seja, criar três percursos com ferramentas diferentes e uma confirmação de continuação após a troca de cada ferramenta manualmente, isso é feito no Artcam (interrogação)
Obrigado
-
Germano,
Me repetindo, creio que dependa do pós processador escolhido para fazer as trocas de ferramentas durante as usinagens.
Supondo que suia máquina (ou processo) seja de troca manual, o Mach3 pode ser configurado para parar e esperar pela confirmação do operador quando este efetuou a troca.
Na janela de configurações gerais, habilite este comando:
(http://www.guiacnc.com.br/w2box/data/Fabio%20Gilii/Mach3/stop_spindle.png)
Claro - isso é apenas o começo - depois voce irá precisar criar os "offsets" de todas as ferramentas que irá usar.
Troca de ferramentas mesmo sendo semi automático só é efetivo quando se tem pontos de origem fixos e bem definidos...
-
Como se cria essas offsets?
-
Creio que para responder à sua pergunta seja necessário conhecer a forma construtiva do sistema atual de sua máquina, pois há diversas maneiras de ajustar os offsets de ferramentas.
-
Como o artcam consegue reconhecer que o pos processador sera o mach3 ?? E se eu fosse usar o EMC2, nao daria este erro??
Eu troquei a opçao no mach3 e mesmo assim persistio o erro no artcam, como posso resolver isto?
Obrigado
-
Na hora de gerar o gcode ( no artcam ) mude o pós processador para um que aceite a troca de ferramentas.
-
voce poderia me falar um de exemplo, que o mach3 consiga ler.
Obrigado
-
Colega sei que você deseja é que o Mach3 pare a usinagem e fique aguardando sua ação para a troca da ferramenta e depois reinicie com o seu consentimento, vou lhe explicar como eu faço talvez lhe ajude até você descobrir da forma que quer. Desculpe se esses procedimentos forem triviais para você!
Quando vou gerar um arquivo que usa duas ferramentas faço assim:
1 - Salvo o primeiro percurso que usa a fresa de 6mm com nome de "Fresa 6mm"
2 - Salvo o segundo percurso que usa a fresa de 1/8" com nome de "Fresa 1/8"
3 - Com a peça posicionado zero a máquina carrego o primeiro arquivo e mando usinar
4 - Apos terminar a primeira usinagem mando a máquina voltar para origem usando Go-to
5 - Subo a ferramenta troco para 1/8" e depois zero apenas o eixo Z usando uma folha papel embaixo da fresa
6 - Mando a máquina executar a segunda e ultima usinagem
Experiencia com esse método: em alguns casos em que precisei por algum motivo usar o Stop ou simplesmente parei a máquina com o a tecla ESC
mesmo voltando a máquina para origem e reiniciando a usinagem a mesma parece perder alguns décimos de milimetro na posição correta, isso
ocorre quando uso o Stop ou ESC e em seguida corrijo a altura da ferramenta mas não sei porque isso ocorre apenas em algumas vezes.
-
Lembrando que operações de troca de ferramentas não dependem só do pós processador, mas também de configurações no Mach3 ou qualquer outro programa de controle.
Foi por isso que eu disse numa mensagem aí atrás que é necessário conhecer como sua máquina irá fazer as trocas, pois assim pode-se escrever uma lógica que funcione junto com os arquivos gerados.
-
Sakei, o melhor é fazer duas rotinas e trocar as fresas e zerar o eixo Z.
Mais tenho uma pergunta ainda, o que é esse pos-processador????
Tenho muita coriosidade
Obrigado
-
Olha nesse tópico eu fiz um vídeo de como alterar o pos processador para trocar ferramenta.
http://www.guiacnc.com.br/art-cam/pos-processador-para-mach3/msg166151/#msg166151 (http://www.guiacnc.com.br/art-cam/pos-processador-para-mach3/msg166151/#msg166151)
-
Mais tenho uma pergunta ainda, o que é esse pos-processador????
Tenho muita coriosidade
Obrigado
Engraçado...
Por que vc está mostrando não saber sobre um assunto que ja mostrou que tem algum conhecimento?
Qual é a jogada?
Aqui mostra que até modificou um pós.
http://www.guiacnc.com.br/art-cam/geracao-de-percurso/msg180829/#msg180829 (http://www.guiacnc.com.br/art-cam/geracao-de-percurso/msg180829/#msg180829)
-
Boa Noite.
Se você comparar os horário vai perceber que na hora desta afirmação eu estava tentando mexer no pós e graças a deus consegui alguns minutos depois, entretanto eu ainda não compreendo o que seja um pós processador.
Se eu fosse explicar para alguém hoje, diria que é uma rotina pre determinando que o software artcam utiliza para compilar o percurso de usinagem, entretanto não sei se isto esta certo, está?
Obrigado
-
Um pós processador é a parte de um programa de conversão de arquivos que tem informações de como este arquivo deve ser gerado para ter compatibilidade com o programa de controle.
Basicamente é um documento texto que contém comandos e ordens específicas para cada programa de conversão
-
Eu também tenho essa curiosidade mais "específica" sobre o pós, Fábio (e colegas).
Por exemplo: gero um Gcode 2D no Sketchup e mando direto para o Mach3 que corta sem problema.
Gero outro em 3D no Deskproto e mando direto para o Mach3 que também corta sem problema.
Só peço que me desculpe se a pergunta for básica demais... mas onde entra o pós-processador aí?
E quando eu possívelmente poderei precisar de um pós-processador usando o Mach3?
Ou o Mach3 já é completo (com pós e tudo)?
-
O pós processador é como um motor que gera um trabalho - ele usa um arquivo - normalmente em formato texto - que contém todas as informações de como aquele determinado desenho deve ser transformado em comandos de máquinas para "aquele" determinado comando - seja Mach3, EMC², Fanuc etc.
O pós processador é parte integrante de um programa de conversão de arquivos - este usa apenas as ordens contidos num documento - seja em formato texto ou em outro formato qualquer...
Anexo um exemplo de arquivo texto de um pós processador de ArtCam para Mach3 (mm) - veja que são informações em formato texto que contém comandos e ordens específicas para o ArtCam saber o que fazer...
;
; Fanuc G - Code 4-Axis rotary post processor
;
; Linear Y Axis is wrapped onto A rotary axis
;
; History
;
; Who When What
; === ======== ========================================
; TM 04/07/95 Written
; BEM 06/08/96 Modified for Rotary Axis support
; BEM 19/06/00 Fixed
; BEM 03/02/00 Added description
; JVG 27/10/03 Modified for Mach2 controller, Wolverine3 or Elite6 machines
; JVG 12/12/03 Modified for Mach2 3axis machining
; JVG Feb 23 05 Small modifications with Bill P
DESCRIPTION = "Mach2 mm(*.cnc)"
;
FILE_EXTENSION = "cnc"
;
UNITS = MM
;
;
; Cariage return - line feed at end of each line
;
END_OF_LINE = "[13][10]"
;
; Block numbering
;
LINE_NUM_START = 0
LINE_NUM_INCREMENT = 1
LINE_NUM_MAXIMUM = 999999
;
; Set up default formating for variables
;
; Line numbering
FORMAT = [N|@|N|1.0]
; Spindle Speed
FORMAT = [S|@|S|1.0]
; Feed Rate
FORMAT = [F|#|F|1.0]
; Tool moves in x,y and z
FORMAT = [X|#|X|1.3]
FORMAT = [Y|#|Y|1.3]
FORMAT = [Z|#|Z|1.3]
; Home tool positions
FORMAT = [XH|@|X|1.3]
FORMAT = [YH|@|Y|1.3]
FORMAT = [ZH|@|Z|1.3]
;
; Set up program header
;
START = "%"
START = "G90"
;START = "G21"
; G20 = Use MM as unit value
START = "G49"
;START = "M6 T1"
; M6T1 = tool change via macros (commented out)
START = "M3 [S]"
;START = "M7"
; M7 = turn misting coolant on (commented out)
;
; Program moves
;
FIRST_RAPID_RATE_MOVE = "G0 [X] [Y] [Z]"
FIRST_FEED_RATE_MOVE = "G1 [X] [Y] [Z] [F]"
FEED_RATE_MOVE = "[X] [Y] [Z]"
;
; End of file
;
END = "G0[ZH]"
END = "[XH][YH]"
END = "M05"
END = "M02"
END = "%"
Em anexo outro exemplo de arquivo em formato texto só que desta vez para o RhinoCam gerar arquivos para o Mach3 - o arquivo é do VisualMill, empresa que foi comprada pela Bob McNeil, dono do Rhinoceros ...
//This file is Visual Mill Post-Processor Macro File
//**************************************************************************************************
// Created by Post-Processor Generator
//**************************************************************************************************
//--------------------------------------------------------------------------------------------------
// INFORMATION SECTION
//--------------------------------------------------------------------------------------------------
INFORMATION_Version = 3.000
INFORMATION_MacroVersion = 1.020
//--------------------------------------------------------------------------------------------------
// GENERAL DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
GENERAL_Extension = .TXT
GENERAL_StartReadingChar =
GENERAL_StopReadingChar =
GENERAL_UseSequencNo = 1
GENERAL_PrefixLetter = N
GENERAL_Increment = 10
GENERAL_SequenceStartNo = 10
GENERAL_ShowLeadingZeros = 0
GENERAL_LeadingZerosNumOfDigit = 4
GENERAL_Mode = 0
GENERAL_AbsCode = G90
GENERAL_IncCode = G91
GENERAL_AbsCenterCode = G92
GENERAL_Units = 0
GENERAL_InchCode = G20
GENERAL_MetricCode = G21
GENERAL_ModalGCode = 0
GENERAL_ModalXYZ = 1
GENERAL_ModalFeedrate = 1
GENERAL_ModalSpindle = 1
GENERAL_Delimiter = 1
GENERAL_UserDefinedDelimiter = ,
GENERAL_EndBlockCharacter =
GENERAL_OutputPlusSign = 0
GENERAL_CommentOutput = 1
GENERAL_CommentStartChar = (
GENERAL_CommentEndChar = )
GENERAL_CommentSequenceMode = 1
GENERAL_XRegister = X
GENERAL_YRegister = Y
GENERAL_ZRegister = Z
//--------------------------------------------------------------------------------------------------
// MOTION DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
MOTION_BlockPrefix =
MOTION_LinearMotionCode = G01
MOTION_RapidMotionCode = G00
MOTION_BlockPostfix =
MOTION_Order = 0
MOTION_RapidFormat = 1
MOTION_ScaleFactorX = 1.000000
MOTION_ScaleFactorY = 1.000000
MOTION_ScaleFactorZ = 1.000000
MOTION_NumOfDecimalPlaces = 4
MOTION_LinearBlock = [G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z]
MOTION_ShowMotionTrailingZeros = 1
MOTION_RapidBlockStart
[G_CODE][DELIMITER][NEXT_Z]
[NEXT_X][DELIMITER][NEXT_Y]
MOTION_RapidBlockEnd
//--------------------------------------------------------------------------------------------------
// CIRCLE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
CIRCLE_ClockwiseArcCode = G02
CIRCLE_CClockwiseArcCode = G03
CIRCLE_XYPlaneCode = G17
CIRCLE_YZPlaneCode = G19
CIRCLE_ZXPlaneCode = G18
CIRCLE_BlockXYStart
[CIR_PLANE]
[G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z][DELIMITER][NEXT_I][DELIMITER][NEXT_J]
CIRCLE_BlockXYEnd
CIRCLE_BlockZXStart
[CIR_PLANE]
[G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z][DELIMITER][NEXT_I][DELIMITER][NEXT_K]
CIRCLE_BlockZXEnd
CIRCLE_BlockYZStart
[CIR_PLANE]
[G_CODE][DELIMITER][NEXT_X][DELIMITER][NEXT_Y][DELIMITER][NEXT_Z][DELIMITER][NEXT_J][DELIMITER][NEXT_K]
CIRCLE_BlockYZEnd
CIRCLE_ArcCenterCoordinate = 0
CIRCLE_Modal = 0
CIRCLE_Format = 1
CIRCLE_SwitchPlanes = 0
CIRCLE_LimitArcs = 0
CIRCLE_LimitAngle = 180.000000
CIRCLE_IRegister = I
CIRCLE_JRegister = J
CIRCLE_KRegister = K
CIRCLE_RRegister = R
//--------------------------------------------------------------------------------------------------
// HELIXSPIRAL DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
HELIXSPIRAL_ClockwiseArcCodeHelix =
HELIXSPIRAL_CClockwiseArcCodeHelix =
HELIXSPIRAL_ClockwiseArcCodeSpiral =
HELIXSPIRAL_CClockwiseArcCodeSpiral =
HELIXSPIRAL_BlockXYHelixStart
HELIXSPIRAL_BlockXYHelixEnd
HELIXSPIRAL_BlockZXHelixStart
HELIXSPIRAL_BlockZXHelixEnd
HELIXSPIRAL_BlockYZHelixStart
HELIXSPIRAL_BlockYZHelixEnd
HELIXSPIRAL_BlockXYSpiralStart
HELIXSPIRAL_BlockXYSpiralEnd
HELIXSPIRAL_BlockZXSpiralStart
HELIXSPIRAL_BlockZXSpiralEnd
HELIXSPIRAL_BlockYZSpiralStart
HELIXSPIRAL_BlockYZSpiralEnd
//--------------------------------------------------------------------------------------------------
// 4AXIS MOTION DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
GENERALMOTION_ClockwiseRotation = +
GENERALMOTION_CClockwiseRotation = -
GENERALMOTION_Aaxis = A
GENERALMOTION_Baxis = B
GENERALMOTION_Caxis = C
GENERALMOTION_ScaleFactor = 57.295779513082
GENERALMOTION_ShowTrailingZeros = 1
GENERALMOTION_NumOfDecimalPlaces = 3
GENERALMOTION_LinearBlockStart
[LINEAR][NEXT_X][NEXT_Y][NEXT_Z][ROTATION_AXIS][ROTATION_DIR][ANGLE][FEEDRATE_CODE][ROTATION_FEEDVALUE]
GENERALMOTION_LinearBlockEnd
GENERALMOTION_RapidBlockStart
[RAPID][NEXT_X][NEXT_Y][NEXT_Z][ROTATION_AXIS][ROTATION_DIR][ANGLE][FEEDRATE_CODE][ROTATION_FEEDVALUE]
GENERALMOTION_RapidBlockEnd
//--------------------------------------------------------------------------------------------------
// SPINDLE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
SPINDLE_BlockPrefix =
SPINDLE_Code = S
SPINDLE_BlockPostfix =
SPINDLE_ClockwiseRotationCode = M03
SPINDLE_CClockwiseRotationCode =
SPINDLE_OffCode = M05
SPINDLE_HighValue = 10000.000000
SPINDLE_LowValue = 1.000000
SPINDLE_ScaleFactor = 1.000000
SPINDLE_NumOfDecimalPlaces = 0
SPINDLE_Block = [SPINDLE_CODE][SPINDLE_SPD][DELIMITER][SPINDLE_ARC]
SPINDLE_ShowSpindleTrailingZeros = 0
//--------------------------------------------------------------------------------------------------
// FEEDRATE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
FEEDRATE_BlockPrefix =
FEEDRATE_Code = F
FEEDRATE_BlockPostfix =
FEEDRATE_HighValue = 20.000000
FEEDRATE_LowValue = 0.500000
FEEDRATE_ScaleFactor = 1.000000
FEEDRATE_NumOfDecimalPlaces = 1
FEEDRATE_Block = F[FEEDRATE]
FEEDRATE_OutputPlace = 1
FEEDRATE_ShowTrailingZeros = 1
FEEDRATE_FeedScaleFactor = 1.000000
FEEDRATE_FeedShowTrailingZeros = 0
FEEDRATE_FeedNumOfDecimalPlaces = 1
FEEDRATE_ZScaleFactor = 1.000000
//--------------------------------------------------------------------------------------------------
// MISCELLANEOUS DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
MISCELLANEOUS_CoolantOff = M09
MISCELLANEOUS_CoolantOn = M07
MISCELLANEOUS_CoolantMist = M07
MISCELLANEOUS_CoolantFlood = M08
MISCELLANEOUS_CoolantThru =
MISCELLANEOUS_CoolantTap =
MISCELLANEOUS_CompensationOff = G40
MISCELLANEOUS_CompensationLeft = G41
MISCELLANEOUS_CompensationRight = G42
MISCELLANEOUS_CompensationLength = G43
//--------------------------------------------------------------------------------------------------
// STARTUP DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
STARTUP_ProgramCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][OUTPUT_UNITS_CODE]
[SEQ_PRECHAR][SEQNUM][DELIMITER]G0[DELIMITER]G17[DELIMITER]G40[DELIMITER]G49[DELIMITER]G80[DELIMITER][OUTPUT_MODE_CODE]
[SEQ_PRECHAR][SEQNUM][DELIMITER]G61(CONSTANT CONTOUR OFF OR TURN ON W/G64)
STARTUP_ProgramCodeEnd
//--------------------------------------------------------------------------------------------------
// TOOLCHANGE DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
TOOLCHANGE_AdjustRegister = H
TOOLCHANGE_FirstMacroStart
[SEQ_PRECHAR][SEQNUM][DELIMITER]T[TOOL_NUM][DELIMITER]M6
[SEQ_PRECHAR][SEQNUM][DELIMITER]G43[DELIMITER][TOOL_ADJST_REG]
TOOLCHANGE_FirstMacroEnd
TOOLCHANGE_MacroStart
[SEQ_PRECHAR][SEQNUM][DELIMITER]T[TOOL_NUM][DELIMITER]M6
[SEQ_PRECHAR][SEQNUM][DELIMITER]G43[DELIMITER][TOOL_ADJST_REG]
TOOLCHANGE_MacroEnd
TOOLCHANGE_CutComLeftStart
TOOLCHANGE_CutComLeftEnd
TOOLCHANGE_CutComRightStart
TOOLCHANGE_CutComRightEnd
TOOLCHANGE_CutComOffStart
TOOLCHANGE_CutComOffEnd
//--------------------------------------------------------------------------------------------------
// CYCLES DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
CYCLES_DrillDwell = G82
CYCLES_DrillNoDwell = G81
CYCLES_Deep = G83
CYCLES_BreakChip = G73
CYCLES_CounterSink =
CYCLES_TapClockwise = G84
CYCLES_TapCClockwise = G74
CYCLES_BoreDragDwell = G89
CYCLES_BoreDragNoDwell = G85
CYCLES_BoreNoDragDwellOrient = G76
CYCLES_BoreNoDragDwellNoOrient = G86
CYCLES_BoreNoDragNoDwellOrient = G76
CYCLES_BoreNoDragNoDwellNoOrient = G86
CYCLES_BoreManualDwell = G87
CYCLES_BoreManualNoDwell = G87
CYCLES_BoreReverseDwell = G88
CYCLES_BoreReverseNoDwell = G88
CYCLES_CycleOff = G80
CYCLES_RigidTapClockwise = T00
CYCLES_RigidTapCClockwise = T01
CYCLES_UDDrill01 =
CYCLES_UDDrill02 =
CYCLES_UDTap01 =
CYCLES_UDTap02 =
CYCLES_UDBore01 =
CYCLES_UDBore02 =
CYCLES_UDRBore01 =
CYCLES_UDRBore02 =
CYCLES_ScaleFactor = 1.000000
CYCLES_Optimize = 0
CYCLES_FeedrateRegister = F
CYCLES_IncRegister = Q
CYCLES_DwellRegister = P
CYCLES_ClearRegister = R
CYCLES_OrientRegister = Q
CYCLES_DrillDwellCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]F[CYCL_IPM][DELIMITER]P[CYCL_DWELL]
CYCLES_DrillDwellCodeEnd
CYCLES_DrillNoDwellCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]F[CYCL_IPM]
CYCLES_DrillNoDwellCodeEnd
CYCLES_DeepCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]F[CYCL_IPM][DELIMITER]Q[CYCL_INCR]
CYCLES_DeepCodeEnd
CYCLES_BreakChipCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]F[CYCL_IPM][DELIMITER]Q[CYCL_INCR]
CYCLES_BreakChipCodeEnd
CYCLES_TapCWCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]F[CYCL_1/TPI]
CYCLES_TapCWCodeEnd
CYCLES_CounterSinkCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]F[CYCL_IPM][DELIMITER]Q[CYCL_INCR]
CYCLES_CounterSinkCodeEnd
CYCLES_TapCCWodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER][G_CODE][DELIMITER]X[NEXT_NONMDL_X][DELIMITER]Y[NEXT_NONMDL_Y][DELIMITER]Z[CYCL_Z-DEPTH][DELIMITER]R[CYCL_Z+CLEAR][DELIMITER]F[CYCL_1/TPI]
CYCLES_TapCCWodeEnd
CYCLES_BoreDragDwellCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]
[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]P[CYCL_SCALED_DWELL]F[CYCL_IPM]
CYCLES_BoreDragDwellCodeEnd
CYCLES_BoreDragNoDwellCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]
[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]
CYCLES_BoreDragNoDwellCodeEnd
CYCLES_BoreNoDragDOCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]
[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]Q[CYCL_ORIENT]
CYCLES_BoreNoDragDOCodeEnd
CYCLES_BoreNoDragDNOCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]
[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]L[CYCL_DWELL]
CYCLES_BoreNoDragDNOCodeEnd
CYCLES_BoreNoDragNDOCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]
[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]Q[CYCL_ORIENT]
CYCLES_BoreNoDragNDOCodeEnd
CYCLES_BoreNoDragNDNOCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]
[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]L[CYCL_DWELL]
CYCLES_BoreNoDragNDNOCodeEnd
CYCLES_BoreManualDwellCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]
[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]L[CYCL_DWELL]
CYCLES_BoreManualDwellCodeEnd
CYCLES_BoreManualNoDwellCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]
[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]F[CYCL_IPM]L[CYCL_DWELL]
CYCLES_BoreManualNoDwellCodeEnd
CYCLES_BoreReverseDwellCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]
[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]P[CYCL_SCALED_DWELL]F[CYCL_IPM]
CYCLES_BoreReverseDwellCodeEnd
CYCLES_BoreReverseNoDwellCodeStart
[SEQ_PRECHAR][SEQNUM][OUTPUT_UNITS_CODE][SPINDLE_BLK]
[SEQ_PRECHAR][SEQNUM][G_CODE]X[NEXT_NONMDL_X]Y[NEXT_NONMDL_Y]Z[CYCL_Z-DEPTH]R[CYCL_Z+CLEAR]P[CYCL_SCALED_DWELL]F[CYCL_IPM]
CYCLES_BoreReverseNoDwellCodeEnd
CYCLES_RigidTapClockwiseCodeStart
CYCLES_RigidTapClockwiseCodeEnd
CYCLES_RigidTapCClockwiseCodeStart
CYCLES_RigidTapCClockwiseCodeEnd
CYCLES_UDDrill01CodeStart
CYCLES_UDDrill01CodeEnd
CYCLES_UDDrill02CodeStart
CYCLES_UDDrill02CodeEnd
CYCLES_UDTap01CodeStart
CYCLES_UDTap01CodeEnd
CYCLES_UDTap02CodeStart
CYCLES_UDTap02CodeEnd
CYCLES_UDBore01CodeStart
CYCLES_UDBore01CodeEnd
CYCLES_UDBore02CodeStart
CYCLES_UDBore02CodeEnd
CYCLES_UDRBore01CodeStart
CYCLES_UDRBore01CodeEnd
CYCLES_UDRBore02CodeStart
CYCLES_UDRBore02CodeEnd
CYCLES_CycleOffCodeStart
[SEQ_PRECHAR][SEQNUM][G_CODE]
CYCLES_CycleOffCodeEnd
//--------------------------------------------------------------------------------------------------
// END DEFINITION SECTION
//--------------------------------------------------------------------------------------------------
END_ProgramCodeStart
[SEQ_PRECHAR][SEQNUM][DELIMITER]M05
[SEQ_PRECHAR][SEQNUM][DELIMITER]M30
END_ProgramCodeEnd
O conteúdo de cada arquivo é escrito de forma que os programas geradores de arquivos de corte saibam o que fazer...
Ficou claro agora?
-
Um outro exemplo de um arquivo em formato XML usado por um software chamado "SharpCam" - veja que é uma codificação bem diferente do que o usual, mas a idéia é sempre a mesma...
<?xml version="1.0" encoding="utf-8" ?>
- <Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ToolChangerType>NoPreSelectType</ToolChangerType>
<ToolChangePosition>DoNotOutput</ToolChangePosition>
<CommentsType>Parenthesis</CommentsType>
<OutputLineNumbers>true</OutputLineNumbers>
<OutputLineNumberAtATC>false</OutputLineNumberAtATC>
<OutputM01ForATC>DoNotOutput</OutputM01ForATC>
<SubProgramATC>0</SubProgramATC>
<MCodeForAtc>0</MCodeForAtc>
<ArcCentre>Incremental</ArcCentre>
<CodeToApplyToolOffsets>G43</CodeToApplyToolOffsets>
<SpecificMachine>None</SpecificMachine>
<YAxisUnloadPosition>0</YAxisUnloadPosition>
<XAxisToolUnloadPosition>0</XAxisToolUnloadPosition>
<YAxisToolUnloadPosition>0</YAxisToolUnloadPosition>
<ZAxisToolUnloadPosition>0</ZAxisToolUnloadPosition>
<OutputCycleTime>true</OutputCycleTime>
<ChipToChipAtcTime>10</ChipToChipAtcTime>
<RapidTraverseRate>5000</RapidTraverseRate>
<RapidPositionAccelerationDeceleration>0.2</RapidPositionAccelerationDeceleration>
</Configuration>
-
Germano,
O problema não é no Mach3 mas no Artcam ou melhor - no pós ´processador esdcolhido para o trabalho...
Das duas uma - ou escolhe um pós processador diferenre e que faça a coisa funcionar, ou edite o pós desejado para que ele faça o que quer...
EU TANBEM TENTEI NAO DA certo MESMO MUDANDO O POIS PROCESSADOR SE ALGUEM PUDER ME AJUDAR NA ARUDO REMOTA E SO ME DISER QUE EVIO MEU IMAIL