{Change Comments ***********************************************************}
{5/31/91
Modified: Dyna Myte 2000 long M346.76.3
For: Gibbs & Associates
Updated to Version 4.0 per Fanuc 6M M001.80 Format.
Modified to output literal 'GOf' on all Rapid moves, Rapid is not a modal condition.
DWB}
{2/6/97
Modified: Dyna Myte 2800 long M419.80
Created: Dyna Myte 2800 long M419.80.1
For: Gibbs & Associates
Versions: ncCad 4.33.02/ncCAM 4.33.01/ncPost 4.33.10/Compost 4.21.37/v1.0b4
Added Flag(1) at LineOverCk.
Added FlagF(1) at setup and initializations.
Added FlagF(1) at end of Prog.
Added HALT block at end of Prog.
If LineNumOver?(870) equals TRUE, Flag(1) is set and forces Post to output HALT block at end of
output.
This is necessary to keep control from automatic rewind and run caused by End NewPart block.
End NewPart automatically rewinds program to first line stored in memory.
Control is looking for SetUp block at start, but additional batch of blocks overwrites this.
DWB}
{5/27/98
Initial: Dyna Myte 2800 long M419.80.1
Created: Dyna Myte 2400 long MV98.80
ForUser: Cerprobe Corp.
Control: Dyna Myte 2400
Machine: Dyna 2400 Vertical 2-1/2 axis bench mill
Develop: ComPost2 1.1b3, Virtual Gibbs 4.24
Comment: New processor per marked up readout and conversation with David Caunt 408/570-3455.
Added lines to program header.
Changed 'END NEWPART' to 'END' at end of program.
Jim Radcliffe}
{18Jun98
Original: Dyna Myte 2400 [CC] MV98.80
Created: Dyna Myte 2400 [CC] MV98.80.1
For: Cerprobe Corp
Changes made per: Merlin Dudley
Deleted old version numbers and comments e.g. {.62}, {commands}, {literals}, etc
Added PostScript loop to allow up to 3 variables to be input in FirstOperation "At Op Start" using the TCZ Command.
If entered, they will be used in place of the XYZ Literals in FirstOp, to adjust the default part origin values sent to the Control.
Initialise Numbers in PSInit
Store parameters in PSStuff
Output Values in FirstOIperation
NOTE: There appears to be a bug in the EachPS/NextPS Loop.
This always does AT LEAST ONE MORE itteration than is necessary and this results in extra values
appearing in the Loop. In addition, the Loop will do extra itterations for each
used,
in the "At Op Start" box, even if the remainder of the line is blank.
Storing or updating data based on the number of items in the Loop has to be controlled independently.
Charles Winston}
{19Jun98
Original: Dyna Myte 2400 [CC] MV98.80
Created: Dyna Myte 2400 [CC] MV98.80.2
For: Cerprobe Corp
Changes made per: Merlin Dudley
Added formatting for ContourFeed2# and StartPosY# in Prog Numeric Format Definitions.
Changed FeedContour# to ContourFeed2# in FeedRate Sub.
Virtual outputs the ENTRY Feedrate instead of the CONTOUR FeedRate where an Entry Move is programmed.
This is not wanted in this post.
Added instructions, for the TCZ PostScript command, in Utility data.
Charles Winston}
{Prog Numeric Format Definitions *******************************************}
#1 = '#.00'
#2 = '0'
#3 = '00'
#4 = '########;0'
#5 = 'b0.0; 0.0'
#6 = '+b00.000; 00.000'
#7 = '-b0.0000; 0.0000'
#8 = '+b0.0000; 0.0000'
FORMAT(FileFeet#,1)
FORMAT(FileMeters#,1)
FORMAT(Tool#,2)
FORMAT(Program#,3)
FORMAT(Parts#,3)
FORMAT(NumFullPecks#,3)
FORMAT(Operation#,4)
FORMAT(FeedContour#,5)
FORMAT(ContourFeed2#,5)
FORMAT(FeedEntry#,5)
FORMAT(ArcAngle#,6)
FORMAT(ToolDiameter#,7)
FORMAT(HomeX#,7)
FORMAT(HomeY#,7)
FORMAT(StartPosX#,7)
FORMAT(StartPosY#,7)
FORMAT(SPX#,7)
FORMAT(SPY#,7)
FORMAT(SPZ#,7)
FORMAT(NUM#,7)
FORMAT(Recall#,7)
FORMAT(Save#,7)
FORMAT(Add#,7)
FORMAT(TCZ#,7)
FORMAT(ArcJ#,7)
FORMAT(ClearancePlane2#,7)
FORMAT(ZDepth#,8)
{Prog Subroutines **********************************************************}
DoCycleComment:
IF UseComments? AND SubComment?
'( CYCLE START )' 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
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
END
RETURN
MoveType:
'G' {all moves get this}
IF AutoCycle?
'R' {incremantal}
ELSE
'O' {absolute}
END
RETURN
FeedRates:
IF Milling?
'? ' 'FR XY =' ContourFeed2# EOL
END
'? ' 'FR Z =' FeedEntry# EOL
RETURN
LineOverCk:
IF LineNumOver?('870')
'? ' 'SKIP TO 900' EOL
'? ' 'DWELL 01' EOL
'900' EOL
'000' EOL
'Ś1' EOL {retag reseq starting value, Ś is option-7}
SetFlag('1') { Need HALT Block at end }
END
RETURN
PSInit:
RotateF
IF FirstOperation? { Initialise Values }
SetTCZ('999')
Save# Num#('6') Num#('6')
Save# Num#('7') Num#('999')
Save# Num#('8') Num#('999')
Save# Num#('9') Num#('999')
END
RETURN
PSStuff:
IF FourthCW?
FORMAT(FourthDegree#,2)
'? ' ' A' FourthDegree# EOL
FourthCWF
END
IF FourthCCW?
FORMAT(FourthDegree#,3)
'? ' ' A' FourthDegree# EOL
FourthCCWF
END
IF FifthCW?
FORMAT(FifthDegree#,2)
'? ' ' B' FifthDegree# EOL
FifthCWF
END
IF FifthCCW?
FORMAT(FifthDegree#,3)
'? ' ' B' FifthDegree# EOL
FifthCCWF
END
IF FirstOperation?
IF NotEqual? Num#('999') TCZ#
Save# Num#('6') Add# Num#('1') Recall# Num#('6')
Save# Recall# Num#('6') TCZ#
SetTCZ('999')
END
END
RETURN
DoPostScript:
PSInit
EachPS
PostScript EOL
PSStuff
NextPS
RETURN
DoEndOpPS:
PSInit
EachEOPS
EndOpPS EOL
PSStuff
NextPS
RETURN
EntryMove:
IF FeedEntry?
'? ' MoveType ' ' ZIn EOL
ELSE
'? ' MoveType 'f' ZIn EOL
END
RETURN
OpenMP:
EachPart
RETURN
CloseMP:
NextPart
RETURN
FormatArc:
IF XYPlane?
'? ' 'ARC ' EOL
IF AutoCycle?
SetAbs
'? ' PRIME ArcI EOL
'? ' PRIME ArcJ EOL
SetInc
ELSE
'? ' ArcI EOL
'? ' ArcJ EOL
END
'? ' ' a='
IF ArcCW?
'-'
ELSE
' '
END
ArcAngle# EOL
ELSE
IF Repeats?
'*** ERROR - CANNOT USE XZ OR YZ ARCS WITH REPEATS' EOL
ELSE
IF XZPlane?
'? ' 'ZERO Y' EOL
ELSE {YZPlane}
'? ' 'ZERO X' EOL
END
'? ' 'ZERO AT ' EOL
'? ' ' Z' ArcJ# EOL
'? ' 'GR Q'
IF ArcCW?
'-'
ELSE
' '
END
ArcAngle# EOL
'? ' '>REF COODS' EOL
END
END
RETURN
ToolPath:
EACHFeat
IF PointFeat?
IF FIRO? OR Peck?
'? ' ' X=' SPX# EOL
'? ' ' Y=' SPY# EOL
ELSE
IF NOT FirstFeat?
'? ' ' X=' SPX# EOL
'? ' ' Y=' SPY# EOL
END
IF FIFO?
'? ' 'GOcZ' SPZ# EOL
ELSE {Tap}
'? ' 'GO Z' SPZ# EOL
'? ' 'GOf' ZCP2 EOL
END
END
ELSE
IF RapidFeat?
IF AutoCycle? AND LastFeat? { PRIME used for XYZ Repeat preservation }
IF XMove? OR YMove?
'? ' MoveType 'f' PRIME MoveX EOL
'? ' MoveType 'f' PRIME MoveY EOL
END
IF ZMove?
'? ' MoveType 'f' PRIME MoveZ EOL
END
ELSE { NOT AutoCycle }
IF XMove? OR YMove?
'? ' MoveType 'f' MoveX EOL
'? ' MoveType 'f' MoveY EOL
END
IF ZMove?
'? ' MoveType 'f' MoveZ EOL
END
END
ELSE
IF LineFeat?
IF AutoCycle? AND LastFeat? { PRIME used for XYZ Repeat preservation }
IF XMove? OR YMove?
'? ' MoveType ' ' PRIME MoveX EOL
'? ' ' ' PRIME MoveY EOL
IF ZMove?
'? ' ' ' PRIME MoveZ EOL
END
ELSE
IF ZMove?
'? ' MoveType ' ' PRIME MoveZ EOL
END
END
ELSE { NOT AutoCycle }
IF XMove? OR YMove?
'? ' MoveType ' ' MoveX EOL
'? ' ' ' MoveY EOL
IF Repeats? AND ZshiftOnly? AND NoZMoves?
ELSE
IF ZMove?
'? ' ' ' MoveZ EOL
END
END
ELSE
IF ZMove?
'? ' MoveType ' ' MoveZ EOL
END
END
END
ELSE
IF ArcFeat?
EACHQuadrant { Do not use NOT, FIRST, LAST or NEXT modifiers in this loop }
FormatArc
NEXTQuadrant
END
END
END
END
LineOverCk
NEXTFeat
RETURN
WFOStuff:
{ Note: This Post Processor does not support Work Fixture Offsets. }
RETURN
AutoCycCutSub1: {part 1}
SaveSubStatus {save tool position}
SetPass1 {element cut moves}
SetSRXYtoSP
SetInc
RETURN
AutoCycCutSub2: {part 2}
SetAbs
IF Repeats? AND FeedConnect? AND ZshiftOnly?
ELSE
'? ' 'GOf' ZCP2 EOL
END
SetSRSubXY {restore SR to 1st position value}
SetSRSubMove
RETURN
Milling:
IF AutoCycle?
EACHFeat
DoCycleComment
IF NOT FirstFeat?
'? ' 'GOfX' SPX# EOL
'? ' 'GOfY' SPY# EOL
END
CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
SetStatusOff
SetACSPCompF
'? ' 'ZERO AT' EOL
'? ' ' X' SPX# EOL
'? ' ' Y' SPY# EOL
SetACSPComp
SetStatusOn
AutoCycCutSub1
EntryMove
ToolPath
AutoCycCutSub2
ReSetPass2 {restore for positioning moves}
'? ' '>REF COODS' EOL
NEXTFeat
ELSE
EntryMove
ToolPath
END
RETURN
G92Sub:
EachRep
IF NOT FirstCycle?
IF FeedConnect?
'? ' 'GO X' StartPosX# EOL
'? ' ' Y' StartPosY# EOL
ELSE
'? ' 'GOfX' StartPosX# EOL
'? ' 'GOfY' StartPosY# EOL
END
END
DoCycleComment
Milling
IF NOT FeedConnect?
'? ' 'GOf' PRIME ZCP2C EOL
END
NextRep
RETURN
XYOnlyRepAutoCycle:
EachRep
SetPass2 {position pattern}
EACHFeat
DoCycleComment
IF FirstCycle? AND FirstFeat?
ELSE
IF FeedConnect?
'? ' 'GO X' SPX# EOL
'? ' ' Y' SPY# EOL
ELSE
'? ' 'GOfX' SPX# EOL
'? ' 'GOfY' SPY# EOL
END
END
CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
SetStatusOff
SetACSPCompF
'? ' 'ZERO AT' EOL
'? ' ' X' SPX# EOL
'? ' ' Y' SPY# EOL
SetACSPComp
SetStatusOn
AutoCycCutSub1
EntryMove
ToolPath
AutoCycCutSub2
ReSetPass2 {restore for positioning moves}
'? ' '>REF COODS' EOL
NEXTFeat
SetPass1 {reset}
NextRep
RETURN
ZonlyRepAutoCycle:
SetPass2 {position pattern}
EACHFeat
IF NOT FirstFeat?
'? ' 'GOfX' SPX# EOL
'? ' 'GOfY' SPY# EOL
END
CalcACSRXY {calc tool position after sub call, CalcAutoCycleStatusRecordXY}
SetStatusOff
SetACSPCompF
'? ' 'ZERO AT' EOL
'? ' ' X' SPX# EOL
'? ' ' Y' SPY# EOL
SetACSPComp
SetStatusOn
AutoCycCutSub1
EachRep
IF FirstCycle?
DoCycleComment
EntryMove
ELSE
IF FeedConnect?
'? ' 'GO X' SPX# EOL
'? ' ' Y' SPY# EOL
ELSE
'? ' 'GOfX' SPX# EOL
'? ' 'GOfY' SPY# EOL
END
DoCycleComment
IF NOT FeedConnect?
EntryMove
END
END
ToolPath
IF NOT FeedConnect?
'? ' 'GRf' PRIME ZCP2 EOL
END
NextRep
AutoCycCutSub2
ReSetPass2 {restore for positioning moves}
IF FeedConnect?
'? ' 'GOf' PRIME ZCP2 EOL
END
'? ' '>REF COODS' EOL
NEXTFeat
RETURN
ZonlyRep:
EachRep
DoCycleComment
IF NOT FirstCycle?
IF FeedConnect?
'? ' 'GO X' StartPosX# EOL
'? ' ' Y' StartPosY# EOL
ELSE
'? ' 'GOfX' StartPosX# EOL
'? ' 'GOfY' StartPosY# EOL
IF FeedEntry?
'? ' 'GO ' ZCP2 EOL
END
END
END
Milling
IF NOT FeedConnect?
'? ' 'GOf' PRIME ZCP2 EOL
END
NextRep
RETURN
CheckPass:
IF AutoCycle? {use the correct StrtPos}
SetPass2
ELSE
SetPass1
END
RETURN
GetStartOfSameTool:
DoOpComments
DoPostScript
CheckPass
RETURN
{Start of executable Prog **************************************************}
{setup and initializations}
InitProg
ReverseXZArcs
UseSeparateSubCalls
SetMaxSeparateSubCalls ('50')
SetMaxRPM('3000')
SetMaxFeed('30')
SetLowerCaseOK
SetFlagF('1') { Need HALT Block at end }
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
' Using the TCZ() PostScript Command' EOL
' ' EOL
' Up to 3 TCZ() commands can be entered in the Utility Data At Op Start BOX.' EOL
' These will cause the Post to replace the default Block values at the start of the NC code.' EOL
' NOTE: Works in First Operation Utility Data ONLY.' EOL
' ' EOL
END
EachOp {Start of post processing *********************}
SetAbs
Plane
IF FirstOperation?
EOR EOL
'? ' 'START INS ' Program# 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 INCHES )' EOL
END
IF PartsComment?
'( PARTS PROGRAMMED: ' Parts# ' )' EOL
END
IF StartToolComment?
'( FIRST TOOL IN SPINDLE )' EOL
END
END
OpenSub
IF Metric? {CAM file is in metric, tools and tool path}
SetScale('.03937007874') { change to English, this is an English post}
END
{ added header lines 5/27/98 }
'? ' 'FR XYZ = 30.0' EOL
DoPostScript
{ Check for PostScript TCZ input. Output default values if not used }
{ '999' is used to permit the customer to use '0' as a valid TCZ }
IF Equal? Recall# Num#('7') Num#('999')
'? ' 'GO X' ' 3.1000' EOL
ELSE
'? ' 'GO X' ' ' Recall# Num#('7') EOL
END
IF Equal? Recall# Num#('8') Num#('999')
'? ' ' Y' ' 2.5000' EOL
ELSE
'? ' ' Y' ' ' Recall# Num#('8') EOL
END
IF Equal? Recall# Num#('9') Num#('999')
'? ' ' Z' ' 1.0000' EOL
ELSE
'? ' ' Z' ' ' Recall# Num#('9') EOL
END
SetTCZ('0')
'? ' 'SETUP >zcxyu' EOL
'? ' 'GO Z' ' 0.7500' EOL
IF MultipleParts? AND AllToolsOnePart?
OpenMP
END
'? ' 'SETUP >zcxyu' EOL
DoOpComments
'? ' 'TOOL ' Tool# EOL
IF CutterRadiusCompensation?
'? ' 'TD= ' ToolDiameter# EOL
END
FeedRates
'? ' 'SPINDLE ON' EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
END
CheckPass
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
END
'? ' 'GOfX' StartPosX# EOL
'? ' 'GOfY' StartPosY# EOL
ELSE
IF NewTool?
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
'? ' 'COOLANT OFF' EOL
'? ' 'Z>ZMAX' EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
IF ToolChangeAtHome?
'? ' 'GOfX' HomeX# EOL
'? ' 'GOfY' HomeY# EOL
END
'? ' 'SPINDLE OFF' EOL
IF LAST ProgStop?
'? ' 'HALT' EOL
ELSE
IF OptionalStops?
'? ' 'HALT' EOL
END
END
{Start new Operation}
DoOpComments
DoPostScript
'? ' 'TOOL ' Tool# EOL
IF CutterRadiusCompensation?
'? ' 'TD= ' ToolDiameter# EOL
END
FeedRates
'? ' 'SPINDLE ON' EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
OpenMP
END
CheckPass
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
OpenMP
END
'? ' 'GOfX' StartPosX# EOL
'? ' 'GOfY' StartPosY# EOL
ELSE
IF SameTool?
DoEndOpPS
IF LAST ProgStop?
'? ' 'Z>ZMAX' EOL
'? ' 'SPINDLE OFF' EOL
'? ' 'HALT' EOL
{Start new Operation}
GetStartOfSameTool
FeedRates
'? ' 'SPINDLE ON' EOL
'? ' 'GOfX' StartPosX# EOL
'? ' 'GOfY' StartPosY# EOL
ELSE
IF NewToolOffset?
'? ' 'Z>ZMAX' EOL
{Start new Operation}
GetStartOfSameTool
FeedRates
'? ' 'GOfX' StartPosX# EOL
'? ' 'GOfY' StartPosY# EOL
ELSE
{Start new Operation}
GetStartOfSameTool
FeedRates
'? ' 'GOfX' StartPosX# EOL
'? ' 'GOfY' StartPosY# EOL
END
END
END
END
END {common point for all operations}
IF Milling?
'? ' 'GOf' ZCP2 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?
FindAnyZMoves {for normal abs subroutine}
IF NoZMoves?
ZonlyRep
ELSE
G92Sub {pattern shift, not element}
END
ELSE {no sep subs desired}
G92Sub
END
END {end Auto Cycle IF}
ELSE {not Z only}
IF AutoCycle?
XYOnlyRepAutoCycle
ELSE
G92Sub
END
END {end Z only IF}
ELSE {no repeat OPs}
Milling
END
'? ' 'GOf' ZCP3 EOL
ELSE
IF Drilling?
GetCycle
IF Peck? OR FIRO?
IF Peck?
'? ' 'DRIL PECK=' NumFullPecks# EOL
ELSE
'? ' 'DRIL PECK=00' EOL
END
'? ZH=' ClearancePlane2# EOL
'? Zd= ' ZDepth# EOL
IF Repeats?
EachRep
DoCycleComment
END
ToolPath
IF Repeats?
NextRep
END
ELSE {NOT Peck? OR FIRO?}
'? ' 'GOf' ZCP2 EOL
IF Repeats?
EachRep
DoCycleComment
END
ToolPath
IF Repeats?
NextRep
END
END
'? ' 'GOf' ZCP3 EOL
END
END
NextOp {loops back to EachOP until last Operation}
{End of program ************************************************************}
{finish last operation}
IF MultipleParts? AND OneToolAllParts? AND ExitClearancePlane?
CloseMP
END
'? ' 'Z>ZMAX' EOL
IF MultipleParts? AND OneToolAllParts? AND FullUp?
CloseMP
END
DoEndOpPS
IF FIRST ToolChangeAtHome? {.71.2 added FIRST modifier}
'? ' 'GOfX' FIRST HomeX# EOL
'? ' 'GOfY' FIRST HomeY# EOL
END
'? ' 'SPINDLE OFF' EOL
IF ProgStop?
'? ' 'HALT' EOL
ELSE
IF Flag?('1')
SetFlagF('1') { Need HALT Block at end }
'? ' 'HALT' EOL
END
END
IF MultipleParts? AND AllToolsOnePart?
CloseMP
END
CloseSub
Post2 {organize Subs into one program}
'? ' 'END' EOL
Close
Retag
IF UseComments?
SetScale('1') {restore scale for comments}
Reopen
IF FileBytesComment?
'( FILE LENGTH: ' FileBytes# ' CHARACTERS )' EOL
END
IF FileFeetComment?
'( FILE LENGTH: ' FileFeet# ' FEET )' EOL
END
IF FileMetersComment?
'( FILE LENGTH: ' FileMeters# ' METERS )' EOL
END
Close
END
Wyszukiwarka
Podobne podstrony:
Dyna Myte 4000 long M405 80 1
Dyna Myte 2800 long M419 80 1
Dyna Myte 2000 long M346 80 1M
Dyna Myte 4400 long M307 80 1
Dyna Myte 2000 M119 80
Dyna Myte 4000 M404 80
Dyna Myte 4400 M228 80
Dyna Myte 2800 M420 80m
Dyna Myte 2000 M119 80M
Dyna Myte 3000 L188 82
Dyna Myte 2800 M420 85
Dynapath 10M [CC] M795 80
Dyna Myte 2000 M119 85
żuraw 80
więcej podobnych podstron