Heidenhain CNC 234 M117 89 4m


{Change Comments ***********************************************************} {5/5/94 Created: Heid TNC 155 [HM] M654.81.2m For: Fructus/Hillar Malm Machine: Control: Heidenhain TNC 155 Versions: ncCad 4.32.03/ncCAM 4.32.03/ncPost 4.32.03/Compost 4.21.20 Changes made per Mikael Bagge of Fructus. This processor is a G-Code Heidenhain and resembles Fanuc control code. I used Fanuc 6M M001.2m as a template, and added the basic construction from Heid TNC 155 [EMC] M612.81.8m DWB} {2/24/95 Updated: Heid TNC 155 [HM] M654.81.2m For: Gibbs & Associates/Fructus/Hillar Malm/Micron Technology Versions: ncCad 4.33.01/ncCAM 4.33/ncPost 4.33.05/Compost 4.21.27 Versions: Catalyst v2.14.30C/Catalyst v2.14.30PPC/Compost 4.21.27 Updated to Version 4.2 per Fanuc 6M M001.81.2f Format. Added CkCRC sub for CRCOffC per version 4.2. CutterRadiusCompensation ExitLength will output G40 on LastFeat AND LineFeat at StdLine sub. Added logic to output CRCOnC in OneFeat ToolPath. Added logic to suppress output of CRCOnC on ZMove Feature. Added support of CRC during multiple pocket dog-bone operation. Added condition to output CRCOnC for XMove OR YMove only at CkCRC sub. Outputs G41/G42 on First LineFeat after Z Plunge. Modified condition to output CRCOffC for LastFeat AND AutoCycle at ToolPath RapidFeat. Assures that G40 is not output prior to LastFeat. Added CRCOffC to RapidFeat at ToolPath. Outputs G40 at all ZMoveOnly Retract Features. DWB} {1/25/96 Updated & Modified: Heid TNC 155 [HM] M654.81.3m For: Fructus/Hillar Malm Versions: ncCad 4.33.01/ncCAM 4.33.01/ncPost 4.33.09/Catalyst v2.28.08/Compost 4.21.34/1.0a Changes made per Mikael Bagge of Fructus. Updated for Catalyst v2.20 per Fanuc 6M M001.85.02 Format. Added forced LineFeed, ASCII 10, via SetLineStrtChr at setup and initializations. DWB} {6/19/96, Initial: Heid TNC 155 [HM] M654.85m Created: Heid CNC 254 Mxxx.89m For: Fructus/Ferromekano Deleted all coolant and spindle codes, then changed all tool change codes to SpinOn. Deleted Tool list at program beginning, Untooling and EOP at program end, changed literal 'Z+200.' at program end to 'Z+100.', all sub calls need to be succeeded by a decimal point and the number of reps (i.e. Sub 2 with 1 repetition is 'L2.1'), sub calls changed to output this way. Added EndSubs at program end. MPK} {8/26/96 Initial: Heidenhain CNC 234 M117.89m Created: Heidenhain CNC 234 M117.89.1m Develop: ComPost2 68k v1.0b3, Catalyst68K v3.04.10.C Comment: Modified per marked up readout from Fructus Deleted ZCP1 from Home line at beginning of program. Added CoolOn to StrtPos lines. Added CoolOff. Added ZCP1C to the end of the tools as a highest retract position. Changed EndSubs to EOP to output M30 at end of main program. Changed Drilling Depth P02 parameter from incremental to absolute. Jim Radcliffe} {2/25/97 Updated & Modified: Heidenhain CNC 234 M117.89.1m Created: Heidenhain CNC 234 M117.89.2m For: Fructus/Ferromekano Versions: Catalyst v3.30C/ComPost2 MSL 68K Changes made per Mikael Bagge of Fructus. Updated for Catalyst v3.30C per Fanuc 6M M001.89b Format Deleted forced LineFeed, ASCII 10, via SetLineStrtChr at setup and initializations per 1/25/96. DWB} {5/10/97 Modified: Heidenhain CNC 234 M117.89.2m Created: Heidenhain CNC 234 M117.89.3m For: Fructus/Ferromekano Versions: Catalyst v3.33C/ComPost2 MSL 68K Changes made per Mikael Bagge of Fructus. Changed SetMaxRPM from 10000 to 4000 at setup and initializations. Changed SetMaxFeed from 1000 to 5000 at setup and initializations. DWB} {7 Oct97 Original: Heidenhain CNC 234 M117.89.3m Created: Heidenhain CNC 234 M117.89.4m For: Fructus / Ferromekano Changed Use Sub-Programs to Use Sub-Routines in MachSpec Moved OpenSub up before 'G30' and 'G31' Block in FirstOperation Added Formatting for CurOriginPosX and CurOriginPosY, and allocated FORMAT#2 in Prog Numeric Format Definitions Modified CloseMP to output PartOrigin Shifts for Multiple Parts ( and an Origin Unshift IF AllToolsOnePart ) Deleted literal 'Z+100' at end of Prog Charles Winston} {Prog Numeric Format Definitions ****} #1 = '#.00' #2 = 'ą####0.###;+0' #3 = '*ą####0.###;+0' #4 = '####.###;0' #5 = '#######0' #6 = '###0.###;0' FORMAT(FileFeet#,1) FORMAT(FileMeters#,1) FORMAT(DIV#,2) FORMAT(XStockMin#,2) FORMAT(XStockMax#,2) FORMAT(YStockMin#,2) FORMAT(YStockMax#,2) FORMAT(ZStockMin#,2) FORMAT(ZStockMax#,2) FORMAT(CurOriginPosX#,2) FORMAT(CurOriginPosY#,2) FORMAT(CurOriginPosZ#,2) FORMAT(ToolLength#,2) FORMAT(SUB#,3) FORMAT(TLLength#,3) FORMAT(CalcCP2FmSurf#,3) FORMAT(Peck#,3) FORMAT(ToolDiameter#,4) FORMAT(TrackZNO#,4) FORMAT(Recall#,5) FORMAT(TLNum#,5) FORMAT(FeedEntry#,5) FORMAT(Program#,5) FORMAT(Program2#,5) FORMAT(CallMasterNum#,5) FORMAT(Operation#,5) FORMAT(Tool#,5) FORMAT(Parts#,5) FORMAT(PartsLess1#,5) FORMAT(Dwell#,6) {Prog Subroutines ****} RestoreScale: IF NOT Metric? { CAM file is in English, tools and tool path } SetScale('25.4') { change to Metric, this is a Metric post } ELSE SetScale('1') END RETURN WFOStuff: { NOTE: This Post Processor does not support WorkFixtureOffsets. } RETURN DoSubComment: IF UseComments? AND SubComment? '( SUB NUMBER: ' Program# ' )' EOL END RETURN DoOpComments: IF UseComments? SetScale('1') IF OperationIDComment? '( OPERATION ' Operation# ': ' OperationType$ ' )' EOL END IF OperationComment? '( ' OperationComment$ ' )' EOL END IF WorkGroupComment? '( ' WorkGroupComment$ ' )' EOL END IF ToolTypeComment? '( TOOL ' Tool# ': ' ToolDiameter# ' ' ToolType$ ' )' EOL END IF ToolComment? '( ' ToolComment$ ' )' EOL END RestoreScale END RETURN PSInit: NewWFOF RotateF OptCyc1F MasterOpF CallMasterOpF RETURN PSStuff: IF FourthCW? FORMAT(FourthDegree#,2) SeqC ' A' FourthDegree# EOL FourthCWF END IF FourthCCW? FORMAT(FourthDegree#,3) SeqC ' A' FourthDegree# EOL FourthCCWF END IF FifthCW? FORMAT(FifthDegree#,2) SeqC ' B' FifthDegree# EOL FifthCWF END IF FifthCCW? FORMAT(FifthDegree#,3) SeqC ' B' FifthDegree# EOL FifthCCWF END RETURN DoPostScript: PSInit EachPS SeqC PostScript EOL PSStuff NextPS RETURN DoEndOpPS: PSInit EachEOPS SeqC EndOpPS EOL PSStuff NextPS RETURN EntryMove: LoadFeat Num#('0') Num#('0') FIRST SPZ# IF ZMove? IF FeedEntry? SeqC FeedC ZInC FeedEntC EOL ELSE SeqC RapidC ZInC EOL END END RETURN StartSub: OpenSub SeqC ' G98 L' Program# EOL { SubID } DoSubComment RETURN SubWarning: IF NOT FeedConnect? IF AnyZshift? ' ' EOL '( WARNING Z CLEARANCE WILL CHANGE WITH EACH CYCLE OF SUB REPEAT )' EOL ' ' EOL END END RETURN StdSub: SeqC ' L' Program# '.' Repeats# EOL StartSub RETURN FinishSub1: {part 1} SeqC CRCOffC IF NOT FeedConnect? IF AutoCycle? ZCP3C ELSE IF FIFO? FeedC ZCP3C FeedEntC ELSE RapidC ZCP3C END END END EOL RETURN FinishSubG92: {part 2} SeqC Preset ShiftRC EOL SeqC ' G98 L0' EOL { EndSub } CloseSub SeqC Preset UnshftRC EOL RETURN OpenMP: IF EquallySpacedOffsets? NewProg Save# Num#('1') Program# SeqC ' G98 L' Program# EOL { SubCall CallLab } DoSubComment END RETURN CloseMP: IF EquallySpacedOffsets? SeqC ' G98 L0' EOL { EndSub } EachPart IF NOT FirstPart? SeqC ' G54' AbsOrInc IF AllToolsOnePart? FirstHome ELSE ' X' CurOriginPosX# ' Y' CurOriginPosY# END IF NotEqual? PartShiftZ# Num#('0') ' Z' CurOriginPosZ# END EOL ' L' Recall# Num#('1') '.0' EOL { '.0' is for one time thru the subprogram } END IF LastPart? AND NOT AllToolsOnePart? SeqC ' G54' AbsOrInc ' X+0 Y+0' { reset fixture offset to First Part } IF NotEqual? PartShiftZ# Num#('0') ' Z+0' END EOL END NextPart END RETURN DoAbsOrInc: IF Flag?('1') AND AbsoluteMoves? IF ZMove? AND AbsValue? IncValue ELSE IF NOT ZMove? AND NOT AbsValue? AbsValue END END END RETURN DoDrillAbsOrInc: IF Flag?('1') AND AbsoluteMoves? IF SPZMove? AND AbsValue? IncValue ELSE IF NOT SPZMove? AND NOT AbsValue? AbsValue END END END RETURN RestoreAbsOrInc: IF Flag?('1') AND AbsoluteMoves? AND NOT AbsValue? SeqC AbsValue EOL END RETURN FormatArc: DoAbsOrInc ArcIJ IF ArcCW? CWArc ELSE CCWArc END MoveXY MoveZC RETURN ckCRC: IF LastFeat? CRCOffC ELSE IF NOT ZMove? CRCOnC END END RETURN ckCRCNum: { Not supported } RETURN ToolPath: EACHFeat IF PointFeat? IF AutoCycle? SeqC MoveSXYC EOL SeqC ' L' Program# '.' Repeats# EOL { SubCall CallLab } CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY} ELSE IF RetractToCP1? {.81} IF NOT FirstFeat? SeqC ZCP1 EOL SeqC MoveSXYC EOL END SeqC MoveSZ ' G79' EOL { CycleCall } ELSE SeqC DoDrillAbsOrInc MoveSXYZC ' G79' EOL { CycleCall } END END ELSE IF RapidFeat? IF XMove? OR YMove? OR ZMove? SeqC DoAbsOrInc ckCRC RapidC MoveXYZC EOL END ELSE IF LineFeat? IF XMove? OR YMove? OR ZMove? IF Decelerate? IF RoomToDecel? DecelMove1 SeqC DoAbsOrInc ckCRC FeedC MoveXYZC FeedRateC EOL DecelMove2 END SeqC DoAbsOrInc ckCRC FeedC MoveXYZC DecelFeed EOL ELSE SeqC DoAbsOrInc ckCRC FeedC MoveXYZC FeedRateC EOL END END ELSE IF ArcFeat? EACHQuadrant { Do not use NOT, FIRST, LAST or NEXT modifiers in this loop } IF LastQuadrant? AND Decelerate? IF RoomToDecel? DecelMove1 SeqC FormatArc ArcFeedC EOL DecelMove2 END SeqC FormatArc DecelFeed EOL ELSE SeqC FormatArc ArcFeedC EOL END NEXTQuadrant END END END END NEXTFeat RestoreAbsOrInc RETURN AutoCycCutSub1: {part 1} SaveSubStatus {save tool position} SetPass1 {element cut moves} StartSub SetSRXYtoSP SeqC IncValue EOL RETURN AutoCycCutSub2: {part 2} ToolPath SeqC AbsOrInc IF Repeats? AND FeedConnect? AND ZshiftOnly? ELSE IF FIFO? FeedC ZCP2 FeedEntC ELSE RapidC ZCP2 END END EOL SeqC ' G98 L0' EOL { EndSub } CloseSub SetSRSubXY {restore SR to 1st position value} SetSRSubMove RETURN AutoCycPat: SetPass2 {position pattern} ToolPath {call after NewProg for correct sub calls} SetPass1 {reset} RETURN Milling: IF AutoCycle? NewProg AutoCycCutSub1 EntryMove AutoCycCutSub2 AutoCycPat ELSE EntryMove ToolPath END RETURN G92Sub: SubWarning StdSub SeqC AbsOrInc Connect StrtPos EOL Milling FinishSub1 FinishSubG92 RETURN ZonlyRepAutoCycle: AutoCycPat {write pattern moves and main calls} StartSub NewProg EachCycle SetSRXYtoEP IF FeedConnect? Feed IF NOT FirstCycle? IF SPXMove? OR SPYMove? SeqC IncValue StrtPosC EOL AbsOrInc END END SeqC ZInPlusInc FeedEnt EOL ELSE IF NOT FirstCycle? Rapid IF SPXMove? OR SPYMove? SeqC IncValue StrtPosC EOL AbsOrInc END IF FeedEntry? SeqC ZCP2PlusInc EOL END END IF FeedEntry? SeqC Feed ZInPlusInc FeedEnt EOL ELSE IF FirstCycle? Rapid END SeqC RapidC ZInPlusInc EOL END END IF FirstCycle? SetStatusOff {protect Z position for incremental sub} END SeqC ' L' Program# '.0' EOL { SubCall CallLab } NextCycle SetStatusOn AutoCycCutSub1 {build element sub} AutoCycCutSub2 IF FeedConnect? {there is no Z up in the sub} IF FIFO? SeqC Feed ZCP2 FeedEnt EOL ELSE SeqC Rapid ZCP2 EOL END END SeqC ' G98 L0' EOL { EndSub } CloseSub {Element shift, not pattern} RETURN ZonlyRep: EachCycle IF NOT FirstCycle? SeqC Connect StrtPos EOL END IF FeedConnect? SeqC FeedC ZInPlusInc FeedEnt EOL ELSE {Entry/Exit Connect} IF FeedEntry? IF NOT FirstCycle? SeqC RapidC ZCP2PlusIncC EOL END SeqC Feed ZInPlusInc FeedEnt EOL ELSE SeqC RapidC ZInPlusInc EOL END END SeqC ' L' Program# '.0' EOL { SubCall CallLab } NextCycle StartSub TrackZNO# FIRST SPZ# ToolPath FinishSub1 SeqC ' G98 L0' EOL { EndSub } CloseSub RETURN CheckPass: IF AutoCycle? {use the correct StrtPos} SetPass2 ELSE SetPass1 END RETURN SkipToLastFeat: EachFeat IF LastFeat? TrackXNO# SPX# TrackYNO# SPY# END NextFeat RETURN SetDrillEndOpZ: IF RetractToCP1? TrackZNO# ClearancePlane1# ELSE TrackZNO# ClearancePlane2# END RETURN GetStartOfSameTool: DoOpComments DoPostScript CheckPass RETURN {Start of executable Prog **************************************************} {setup and initializations} InitProg ReverseXZArcs SetFlood UseSeparateSubCalls SetMaxSeparateSubCalls('50') SetMaxRPM('4000') IF Metric? SetMaxFeed('5000') ELSE SetMaxFeed('196.85') END SaveProgNum2 SetProgNum('1') SetFlagF('1') { Milling ZShiftOnly SepSubs } IF PSComment? AND UseComments? 'PostScript:' EOL ' Literals: put between single or double quotes.' EOL ' Separate commands and literals with at least one space.' EOL ' A CR ( RETURN key ) will start a new line.' EOL ' Commands: may be capital and/or lower case letters. Separate commands with a space.' EOL ' EndOP -' EOL ' all literals and commands before an ENDOP command' EOL ' will appear at the beginning of the operation. All ' EOL ' literals and commands after an ENDOP command will appear' EOL ' at the end of the operation. ' EOL ' 4thAxisCW(12.5), 4ACW(12.5) -' EOL ' generates a + A move of the value you specify' EOL ' 4thAxisCCW(22.5), 4ACCW(22.5) -' EOL ' generates a - A move of the value you specify' EOL ' 5thAxisCW(30), 5ACW(30) -' EOL ' generates a + B move of the value you specify' EOL ' 5thAxisCCW(22.5), 5ACCW(22.5) -' EOL ' generates a - B move of the value you specify' EOL END EachOp {Start of post processing *********************} IF FirstOperation? EOR Program2# ' G71' EOL { Metric } OpenSub SeqC ' G30' Plane ' X' XStockMin# ' Y' YStockMin# ' Z' ZStockMin# EOL SeqC ' G31' AbsValue ' X' XStockMax# ' Y' YStockMax# ' Z' ZStockMax# EOL IF ToolChangeAtHome? SetHome END IF UseComments? IF ProgramNameComment? '( PROGRAM: ' ProgramName$ ' )' EOL END IF ProgramComment? '( ' ProgramComment$ ' )' EOL END IF FormatNameComment? '( FORMAT: ' FormatName$ ' )' EOL END IF TimeComment? '( ' Date$ ' AT ' Time$ ' )' EOL END IF MovesComment? '( OUTPUT IN ABSOLUTE MILLIMETERS )' EOL END IF PartsComment? '( PARTS PROGRAMMED: ' Parts# ' )' EOL END IF StartToolComment? '( FIRST TOOL IN SPINDLE )' EOL END END RestoreScale IF MultipleParts? AND AllToolsOnePart? OpenMP END DoOpComments DoPostScript Seq OpToolID Plane Speed SpinOn EOL SeqC ' G54' AbsOrInc Home EOL IF MultipleParts? AND OneToolAllParts? AND FullUp? OpenMP IF EquallySpacedOffsets? SeqC Speed SpinOn EOL END END CheckPass SeqC Rapid CRCOff AbsOrInc StrtPos CoolOn EOL SeqC ZCP1 EOL IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane? OpenMP IF EquallySpacedOffsets? SeqC Speed SpinOn EOL SeqC Rapid CRCOff AbsOrInc StrtPos EOL END END ELSE IF NewTool? {Finish off last Operation} IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane? CloseMP END SeqC RapidC ZCP1C CoolOff EOL IF MultipleParts? AND OneToolAllParts? AND FullUp? CloseMP END DoEndOpPS IF LAST ProgStop? SeqC ' M00' EOL ELSE SeqC ProgStop EOL END {Start new Operation} DoOpComments DoPostScript Seq OpToolID Plane Speed SpinOn EOL SeqC ' G54' AbsOrInc Home EOL IF MultipleParts? AND OneToolAllParts? AND FullUp? OpenMP IF EquallySpacedOffsets? SeqC Speed SpinOn EOL END END CheckPass SeqC Rapid CRCOff AbsOrInc StrtPos CoolOn EOL SeqC ZCP1 EOL IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane? OpenMP IF EquallySpacedOffsets? SeqC Speed SpinOn EOL SeqC Rapid CRCOff AbsOrInc StrtPos EOL END END ELSE IF SameTool? IF LAST ProgStop? SeqC RapidC ZCP1C CoolOff EOL DoEndOpPS SeqC ' M00' EOL {Start new Operation} GetStartOfSameTool SeqC ToolOfst PlaneC SpeedC SpinOn EOL SeqC ' G54' AbsOrInc Home EOL SeqC Rapid CRCOff AbsOrInc StrtPos CoolOn EOL SeqC ZCP1 EOL ELSE IF NewToolOffset? SeqC RapidC ZCP1C IF CoolOff? AND LAST NOT CoolOff? CoolOff END EOL DoEndOpPS {Start new Operation} GetStartOfSameTool SeqC ToolOfst PlaneC SpeedC EOL SeqC ' G54' AbsOrInc Home EOL SeqC Rapid CRCOff AbsOrInc StrtPos IF NOT CoolOff? AND LAST CoolOff? CoolOn END EOL SeqC ZCP1 EOL ELSE IF CoolOff? AND LAST NOT CoolOff? SeqC CoolOff EOL END DoEndOpPS {Start new Operation} GetStartOfSameTool SeqC PlaneC SpeedC EOL SeqC Rapid StrtPos IF NOT CoolOff? AND LAST CoolOff? CoolOn END EOL END END END END END {common point for all operations} IF Milling? SeqC ZCP2C EOL IF Repeats? NewProg IF ZshiftOnly? IF AutoCycle? {incremental Autocycle sub can have Z moves} ZonlyRepAutoCycle ELSE {Z shift only, NOT Auto Cycle} IF UseSeparateSubCalls? AND CyclesLessThanMaxSubCalls? SetFlag('1') { Milling ZShiftOnly SepSubs } ZonlyRep SetFlagF('1') ELSE {no sep subs desired} G92Sub END END {end Auto Cycle IF} ELSE {not Z only} G92Sub END {end Z only IF} ELSE {no repeat OPs} Milling END IF AutoCycle? SeqC ZCP3C EOL ELSE IF FIFO? SeqC FeedC CRCOffC ZCP3C FeedEntC EOL ELSE SeqC RapidC CRCOffC ZCP3C EOL END END ELSE IF Drilling? IF Repeats? NewProg StdSub SeqC AbsOrInc Rapid StrtPos EOL END SeqC DrillCP EOL GetCycle SeqC Cycle IF Tap? ' P01' CalcCP2FmSurf# ' P02' SPZ# ' P03' IF Dwell? Dwell# ELSE '0' END ' P04' FeedEntry# ELSE ' P01' CalcCP2FmSurf# ' P02' SPZ# ' P03' IF Peck? Peck# ELSE SUB# ClearancePlane2# FIRST SPZ# END ' P04' IF Dwell? Dwell# ELSE '0' END ' P05' FeedEntry# END EOL IF RetractToCP1? {.81} ToolPath SeqC RapidC ZCP3C EOL ELSE IF CallMasterOp? SeqC ' L' CallMasterNum# EOL { SubCall CallLab } SkipToLastFeat ELSE TrackZNO# FIRST SPZ# IF MasterOp? SetFlag('1') {std sep sub Zreps in effect} NewMasterProg SeqC ' L' Program# '.0' EOL { SubCall CallLab } StartSub ToolPath SeqC ' G98 L0' EOL { EndSub } CloseSub SetFlagF('1') {not std sep sub Zreps in effect} ELSE ToolPath END END SetDrillEndOpZ SeqC Rapid ZCP3 EOL END IF Repeats? FinishSubG92 END END END NextOp {loops back to EachOP until last Operation} {End of program ************************************************************} {finish last operation} IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane? CloseMP END SeqC RapidC ZCP1C CoolOff EOL IF MultipleParts? AND OneToolAllParts? AND FullUp? CloseMP END DoEndOpPS SeqC ' G54' AbsOrInc IF MultipleParts? AND EquallySpacedOffsets? FirstHome ELSE ' X+0 Y+0' END EOL SeqC ' X+220. Y+75. Z+100.' EOL IF ProgStop? SeqC ' M00' EOL END IF MultipleParts? AND AllToolsOnePart? CloseMP END SeqC EOP EOL CloseSub Post2 {organize Subs into one program} 'N9999' EOR Program2# ' G71' EOL { Metric } IF UseComments? SetScale('1') {restore scale for comments} IF FileBytesComment? '( FILE LENGTH: ' FileBytes# ' CHARACTERS )' EOL END IF FileFeetComment? '( FILE LENGTH: ' FileFeet# ' FEET )' EOL END IF FileMetersComment? '( FILE LENGTH: ' FileMeters# ' METERS )' EOL END END Close

Wyszukiwarka

Podobne podstrony:
Heidenhain TNC 151 M115 89 3m
Heid TNC 155 [JP] MX68 89 4m
K&T CNC [GH] MW98 89 1
Maho CNC 432 M194 89
CNC Pro BP [SE] MZ60 89 1
CNC Pro Bridgeport M915 89 1
CNC 8800 Retro Tek M045 89
Emco F1 CNC MZ98 89 5
Heidenhain 407 BP VMC MY90 89
Heidenhain frezarka iTNC 530 G kody pl
Bandit IV AB [DM] MV32 89 1
4M Badanie prostownik w jednofazowych i uk éad w filtruj¦ůcych
Fadal Format 2 [MM] MW60 89

więcej podobnych podstron