Sign in to follow this  
Followers 0
bbuser99

Optimize NC code

27 posts in this topic

Hi all!

I have very little coding experience, but need to create a special script to optimize NC code for CNC machine. I thought it would be easy, but the deeper i got the more i realized that it was not easy at all.

What I have is a folder with several dozen NC files.

All of the files need to be edited to optimize cutting speeds in order to decrease cycle time.

As NC code is sequential in nature, the nc instructions for the machine are read line by line into the CNC controller.

To determine how to optimize the code, the script will need to compare x, y, and z coordinates of two successive code blocks.

Here is a summary of what the script needs to do:

================================================================================================

Section 1: First Pass Optimization

Select file sequentially.

Search file sequentially for first operation using tool x.

Search sequentially for code blocks with straight line segment data with z depth of 0.4 mm.

If long segment is found, insert max F&S.(Feed rate and spindle speed)

- And skip through segments until segment is not long.

If a short segment is found, insert min F&S.

- And skip through segments until segment is not short.

If a medium segment is found, insert med F&S.

- And skip through segments until segment is not medium.

If a large arc is found, change to max F&S. All other arc segments are unchanged.

If a Z depth of negative 0.1 mm is found, begin last pass optimization.

Section 2: Last Pass Optimization

Search sequentially for code blocks with straight line segment data with z depth of negative 0.1 mm.

If long segment is found, and (next segment is also long), insert max F&S.

- And skip through segments until segment is not long, until end of operation.

If long segment is found, and (next segment is med), insert med F&S.

- And skip through segments until segment is not med, until end of operation.

If long segment is found, and (next segment is short), insert min F&S.

- And skip through segments until segment is not short, until end of operation.

If a short segment is found, insert min F&S.

If a medium segment is found, insert med F&S.

If a large arc is found, change to max F&S. All other arc segments are unchanged.

When end of file is reached, end loop.

============================================================================================

Here is an example of a typical nc code segment:

(segment 1)

[G1]

AFB=1

AGGDREHBAR=AGGDREHBAR

AGGFWKL=AGGWKL

AGGGEDREHT=0

AGGOFFSET=AGGOFFSET

BEZB=Straight line

EB=EBG

F=15000

X=118.446

Y=418.32

Z=-0.1

(segment 2)

[G1]

AFB=1

AGGDREHBAR=AGGDREHBAR

AGGFWKL=AGGWKL

AGGGEDREHT=0

AGGOFFSET=AGGOFFSET

BEZB=Straight line

EB=EBG

F=15000

X=115.273

Y=421.844

Z=-0.1

F=feed rate

N=spindle speed

A GUI should appear asking for the correct folder with files to be optimized. All files with extension fmc should be processed, not including subfolders.

When the optimization is done, a report dialog should appear with relevant data such as # of files processed, # of optimizations made, etc.

I would love to write the script myself, but I just don't have the know-how. If I could get a basic framework to work with, I might be able to work with that.

Share this post


Link to post
Share on other sites



bbuser99,

Welcome to the AutoIt forum. :)

I am ready to give this a go - on the strict understanding that YOU are responsible for ensuring that the output is suitable and that I bear no responsibility at all for any damages or errors caused by you using the resultant files to run your machines.

If you are prepared to accept that then I need some more information before we even think of beginning to code. Can you please answer the following:

- 1. Are the 2 segments you show consecutive in the same file? How many segments are there likely to be? Are they all of exactly the same format - i.e. to the left of the = sign?

- 2. "the script will need to compare x, y, and z coordinates of two successive code blocks" Are we dealing with pairs (1-2, then 3-4, then 5-6, etc) or sequentially (1-2, then 2-3, then 3-4, and so on)?

- 3. "Search file sequentially for first operation using tool x" How do we indentify tool x?

- 4. "Search sequentially for code blocks with straight line segment data with z depth of 0.4 mm." Is this always shown by the BEZB= and Z= lines?

- 5. "If long segment is found, and (next segment is also long)" What is a "long" segment? And similarly, what are "short" and "medium" segments? And how is it determined that segments are no longer of the same type?

- 6. "insert max/med/min F&S" What are these values and where do they fit? I can see F= but there is no sign of S=.

- 7. "If a large arc is found" What defines a "large arc"?

- 8. "If a Z depth of negative 0.1 mm is found, begin last pass optimization" Does this mean we start again from the beginning or just carry on with the remaining segments?

"A GUI should appear asking for the correct folder with files to be optimized. All files with extension fmc should be processed, not including subfolders. When the optimization is done, a report dialog should appear with relevant data such as # of files processed, # of optimizations made, etc."

That is not difficult to do - it is the detail inside the loops that will be tricky. :idiot:

Over to you. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Hi Melba23!

Thanks for reply. Here goes:

YOU are responsible for ensuring that the output is suitable and that I bear no responsibility at all for any damages or errors caused by you using the resultant files to run your machines.

Understood and agreed.

- 1. Are the 2 segments you show consecutive in the same file? How many segments are there likely to be? Are they all of exactly the same format - i.e. to the left of the = sign?

Yes, the two segments are consecutive. There are anywhere from several hundred to several thousand segments per file. It varies depending on complexity of the job. Yes the format is the same.

- 2. "the script will need to compare x, y, and z coordinates of two successive code blocks" Are we dealing with pairs (1-2, then 3-4, then 5-6, etc) or sequentially (1-2, then 2-3, then 3-4, and so on)?

I will say sequentially, because every segment needs to be compared to the segment following. We may need to refine this process, but this method can work, i think.

- 3. "Search file sequentially for first operation using tool x" How do we identify tool x?

SWKZID=3/8 COMPRESSION. Tools are called by name (string).

- 4. "Search sequentially for code blocks with straight line segment data with z depth of 0.4 mm." Is this always shown by the BEZB= and Z= lines?

Yes you are correct. G1 is a machining move. BEZB=Straight line tells us it is not an arc. Z=0.4 tells us this is a first pass (which leaves 0.4mm of material behind for a 2nd pass).

[G1]

AFB=1

AGGDREHBAR=AGGDREHBAR

AGGFWKL=AGGWKL

AGGGEDREHT=0

AGGOFFSET=AGGOFFSET

BEZB=Straight line

EB=EBG

F=15000

X=111.956

Y=573.82

Z=0.4

- 5. "If long segment is found, and (next segment is also long)" What is a "long" segment? And similarly, what are "short" and "medium" segments? And how is it determined that segments are no longer of the same type?

These variables should be tunable by the end user. Good starting values:

Long: => 533

Medium: > 150 and < 533

Short: =< 150

The x and y values need to be compared to look for changes in direction and distance. They are simple vector data, so even diagonal moves can be found by checking for changes in both x and y. For a 533mm in length 45 degree diagonal segement, both x and y will change 375.

- 6. "insert max/med/min F&S" What are these values and where do they fit? I can see F= but there is no sign of S=.

Correction, the RPM variable is N, not S.

N (rpm) can be inserted on the next line after F (feed rate).

Good starting values:

- - - Max - - - Med - - - Min - - Large Arc

F - 30000 - 18000 - 12000 - 30000

N - 24000 - 15000 - 10000 - 24000

- 7. "If a large arc is found" What defines a "large arc"?

A large arc is defined is => 250 for the RAD (radius) value. This is an arc segment code block:

[G3]

AFB=1

AGGDREHBAR=AGGDREHBAR

AGGFWKL=AGGWKL

AGGGEDREHT=0

AGGOFFSET=AGGOFFSET

BEZB=Circle anticlockwise

EB=EBG

F=V

MPX=85.95

MPY=424.81

RAD=6.121

X=87.472

Y=418.882

Z=-0.1

BEZB value can be "cicle clockwise" or "circle anticlockwise"

- 8. "If a Z depth of negative 0.1 mm is found, begin last pass optimization" Does this mean we start again from the beginning or just carry on with the remaining segments?

We carry on with the remaining segments. The first pass and last pass are different stages in the machining process.

Most of the variables should be tunable in the gui if this isn't too inconvenient.

Edited by bbuser99

Share this post


Link to post
Share on other sites

bbuser99,

That helped a lot. But a couple more questions after a first read:

- 1. "How do we identify tool x? SWKZID=3/8 COMPRESSION" Where does that fit in the segments? Or is it a standalone line somewhere in the file which runs for all segments until we hit another SWKZID line?

- 2. Leading on from the above - are there any "loose lines" in these files which do not form part of the segments. We need to be able to identify such lines, even if only to ignore them.

I will try and work up something over the weekend. Do you have any particular wishes for the "look and feel" of the GUI (for example do you want a company logo - and if so what size - or a specific title) or shall I use my imagination! :)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Here is a sample file from an actual job:

[VARDEFAU]
INH=6.6
VAR=@VERSION

[VARDEFAU]
INH=6
VAR=@SUBVERSION

[VARDEFAU]
INH=0.10000
VAR=@MASSTAB


[LAYER]
AN=1
FCOL=0
IAN=0
IAUS=0
LS=-1
LT=0
NAME=NC-Programm

[PRODUZ30]
AFB=1
BEZB=Production via job-list
BTG=SRC
JOK=0
JON=1
KAF= 
KOM= (Planit NC Center)
STZ=1
WDA=1

[HAUPTPRG]
ABSTS=30
AFB=1
AXV=0
AYV=0
BEZB=PROGRAM HEAD
BSDT=1
FTB=1218.998
FTD=16.2
FTL=2437.995
HOLKA=-1
KOM1=R0X0406N
KOM2=16 Pre-Laq. Birch Ply
LOESEN=0
MPB=51
RTB=1218.998
RTL=2437.995
SPGLWKS=0
VERSION=2.6.03
ZSCHABLO=50


[VBY_40]
AFB=1
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1782.996
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1762.996
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1826.996
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1762.996
Y1=1135.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1826.996
Y1=1135.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1733.997
Y1=1179.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1765.996
Y1=1179.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1762.996
Y1=911.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1826.996
Y1=911.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1762.996
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1826.996
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1782.996
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1419.247
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1399.247
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1463.247
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1399.247
Y1=911.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1463.247
Y1=911.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1399.247
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1463.247
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1399.247
Y1=1135.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1463.247
Y1=1135.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1419.247
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1055.498
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1035.498
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1099.498
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1035.498
Y1=1135.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1099.498
Y1=1135.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1035.498
Y1=911.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1099.498
Y1=911.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1035.498
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1099.498
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1055.498
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=691.749
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=671.749
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=735.749
Y1=893.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=671.749
Y1=911.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=735.749
Y1=911.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=671.749
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=735.749
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=671.749
Y1=1135.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=735.749
Y1=1135.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=691.749
Y1=1117.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=446.249
Y1=1179.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=414.249
Y1=1179.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=211.75
Y1=1179.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=243.75
Y1=1179.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=123
Y1=1179.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=91
Y1=1179.498
ZSM=0

[VBY_40]
AFB=1
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=1.5
X=13
Y1=1186.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=1.5
X=773.798
Y1=32.5
ZSM=0

[VBY_40]
AFB=1
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=883.798
Y1=39.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=851.798
Y1=39.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=973.098
Y1=39.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1005.098
Y1=39.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1207.098
Y1=39.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1175.098
Y1=39.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1280.397
Y1=34.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1312.397
Y1=34.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1344.397
Y1=34.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1376.397
Y1=34.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1408.397
Y1=34.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1526.597
Y1=34.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1558.597
Y1=34.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1590.597
Y1=34.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1622.597
Y1=34.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1654.597
Y1=34.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1720.797
Y1=39.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1752.796
Y1=39.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1526.597
Y1=254.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1558.597
Y1=254.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1590.597
Y1=254.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1622.597
Y1=254.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1654.597
Y1=254.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1280.397
Y1=254.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1312.397
Y1=254.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1344.397
Y1=254.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1376.397
Y1=254.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=5
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1408.397
Y1=254.499
ZSM=0

[VBY_40]
AFB=1
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.995
Y1=1198.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.995
Y1=1166.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.995
Y1=1134.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.995
Y1=1070.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.995
Y1=1006.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.795
Y1=923.098
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.795
Y1=891.098
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.795
Y1=859.098
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.795
Y1=795.098
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.795
Y1=731.099
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.795
Y1=658.099
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=2424.795
Y1=626.099
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1884.996
Y1=626.099
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1884.996
Y1=594.099
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1884.996
Y1=658.099
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1884.996
Y1=731.099
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1884.996
Y1=795.098
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1884.996
Y1=859.098
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1884.996
Y1=891.098
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1884.996
Y1=923.098
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1885.196
Y1=1006.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1885.196
Y1=1070.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1885.196
Y1=1134.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1885.196
Y1=1166.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1885.196
Y1=1198.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1842.196
Y1=1198.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1842.196
Y1=1070.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1842.196
Y1=942.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1842.196
Y1=814.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1842.196
Y1=686.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1842.196
Y1=558.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1828.796
Y1=20.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1828.796
Y1=84.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1828.796
Y1=148.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1828.796
Y1=212.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1828.796
Y1=276.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1090.198
Y1=20.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1090.198
Y1=84.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1090.198
Y1=148.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=1090.198
Y1=212.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=773.798
Y1=20.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=773.798
Y1=84.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=773.798
Y1=148.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=773.798
Y1=212.5
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=773.798
Y1=276.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=1198.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=1134.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=1070.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=1006.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=942.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=878.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=814.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=750.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=686.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=622.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=329.199
Y1=558.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=13
Y1=1198.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=13
Y1=1070.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=13
Y1=942.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=13
Y1=814.498
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=13
Y1=686.499
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=8
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=12
X=13
Y1=558.499
ZSM=0

[VBY_40]
AFB=1
BEZB=BORING VIA DIAMETER
DM=6
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=16.38
X=2425.995
Y1=471.799
ZSM=0

[VBY_40]
BEZB=BORING VIA DIAMETER
DM=6
F=2000
FAN=1000
GRP=1
LGEAB=0
LGEAN=0
MRICHT=0
PLM=
S=3000
TASTEIN=-1
TI=16.38
X=2013.196
Y1=471.799
ZSM=0

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=2134.096
Y=982.998
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=2154.996
Y=982.998
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2425.77
Y=982.998
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2425.77
Y=973.248
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1884.221
Y=973.248
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1884.221
Y=982.998
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2154.996
Y=982.998
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2164.546
Y=982.998
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2185.446
Y=982.998
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=2175.896
Y=708.249
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=2154.996
Y=708.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1884.221
Y=708.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1884.221
Y=717.999
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2425.77
Y=717.999
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2425.77
Y=708.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2154.996
Y=708.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2145.446
Y=708.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2124.546
Y=708.249
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=2175.896
Y=579.349
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=2154.996
Y=579.349
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1884.221
Y=579.349
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1884.221
Y=589.099
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2425.77
Y=589.099
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2425.77
Y=579.349
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2154.996
Y=579.349
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2145.446
Y=579.349
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2124.546
Y=579.349
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=2198.496
Y=476.999
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=2219.396
Y=476.999
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2441.77
Y=476.999
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2441.77
Y=467.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1997.021
Y=467.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1997.021
Y=476.999
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2219.396
Y=476.999
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2228.946
Y=476.999
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2249.845
Y=476.999
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=2452.095
Y=434.199
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=2442.545
Y=434.199
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2432.995
Y=434.199
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=2432.995
Y=434.199
Z=9.5

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1850.996
Y=434.199
Z=9.5

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=1850.996
Y=434.199
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1841.446
Y=434.199
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1831.896
Y=434.199
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=2428.995
Y=-16.1
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=2428.995
Y=-6.55
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2428.995
Y=3
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=2428.995
Y=3
Z=9.5

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2428.995
Y=438.199
Z=9.5

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=2428.995
Y=438.199
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2428.995
Y=447.749
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2428.995
Y=457.299
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=1831.896
Y=7
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=1841.446
Y=7
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1850.996
Y=7
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=1850.996
Y=7
Z=9.5

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2432.995
Y=7
Z=9.5

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=2432.995
Y=7
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2442.545
Y=7
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=2452.095
Y=7
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=1854.996
Y=457.299
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=1854.996
Y=447.749
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1854.996
Y=438.199
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=1854.996
Y=438.199
Z=9.5

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1854.996
Y=3
Z=9.5

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=1854.996
Y=3
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1854.996
Y=-6.55
Z=19.2

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1854.996
Y=-16.1
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=1280.797
Y=294.249
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=1301.697
Y=294.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1829.371
Y=294.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1829.371
Y=284.499
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=774.023
Y=284.499
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=774.023
Y=294.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1301.697
Y=294.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1311.247
Y=294.249
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1332.147
Y=294.249
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=913.198
Y=484.499
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=6000
X=934.098
Y=484.499
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1854.971
Y=484.499
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=1854.971
Y=474.749
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=13.225
Y=474.749
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=13.225
Y=484.499
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=934.098
Y=484.499
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=943.648
Y=484.499
Z=11.75

[G1]
BEZB=Lineær - G1
EB=0
F=16000
X=964.548
Y=484.499
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=8000
FAN=8000
KD=0
LGEAB=0
LGEAN=0
N=15000
SWKZID=3/8 COMPRESSION
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8 COMPRESSION
X=1199.419
Y=437.504
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=8000
X=1155.599
Y=435.499
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=766.298
Y=435.499
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=766.298
Y=315.999
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1544.899
Y=315.999
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1544.899
Y=435.499
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1155.599
Y=435.499
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1145.999
Y=435.499
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1102.179
Y=437.504
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=8000
FAN=8000
KD=0
LGEAB=0
LGEAN=0
N=15000
SWKZID=3/8 COMPRESSION
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8 COMPRESSION
X=1761.815
Y=437.504
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=8000
X=1717.995
Y=435.499
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1598.494
Y=435.499
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1598.494
Y=315.999
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1837.496
Y=315.999
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1837.496
Y=435.499
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1717.995
Y=435.499
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1708.395
Y=435.499
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1664.575
Y=437.504
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=8000
FAN=8000
KD=0
LGEAB=0
LGEAN=0
N=15000
SWKZID=3/8 COMPRESSION
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8 COMPRESSION
X=2111.176
Y=558.194
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=8000
X=2154.996
Y=560.199
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=560.199
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=675.599
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=675.599
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=560.199
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2154.996
Y=560.199
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2164.596
Y=560.199
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2208.416
Y=558.194
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=8000
FAN=8000
KD=0
LGEAB=0
LGEAN=0
N=15000
SWKZID=3/8 COMPRESSION
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8 COMPRESSION
X=2263.415
Y=548.704
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=8000
X=2219.596
Y=546.699
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2006.196
Y=546.699
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2006.196
Y=460.799
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=460.799
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=546.699
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2219.596
Y=546.699
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2209.996
Y=546.699
Z=0.4

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2166.176
Y=548.704
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=8000
FAN=8000
KD=0
LGEAB=0
LGEAN=0
N=15000
SWKZID=3/8 COMPRESSION
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8 COMPRESSION
X=2434.498
Y=1035.007
Z=22.2

[G1]
BEZB=Lineær - G1
EB=0
F=8000
X=2432.995
Y=1079.768
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=1215.998
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=1215.998
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=1074.488
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1850.196
Y=1074.488
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1850.196
Y=1215.998
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=5
Y=1215.998
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=5
Y=466.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1850.196
Y=466.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1850.196
Y=628.459
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=628.459
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=560.199
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2230.156
Y=560.199
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2230.156
Y=546.699
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2006.196
Y=546.699
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2006.196
Y=460.799
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2230.156
Y=460.799
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2230.156
Y=438.199
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1850.996
Y=438.199
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1850.996
Y=365.189
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1837.496
Y=365.189
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1837.496
Y=435.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1598.494
Y=435.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1598.494
Y=315.999
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1727.955
Y=315.999
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1727.955
Y=302.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1145.039
Y=302.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1145.039
Y=315.999
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1544.899
Y=315.999
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1544.899
Y=435.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=766.298
Y=435.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=766.298
Y=350.401
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=752.798
Y=350.401
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=752.798
Y=405.923
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=5
Y=405.923
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=5
Y=3
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=752.798
Y=3
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=752.798
Y=371.521
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=766.298
Y=371.521
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=766.298
Y=315.999
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1166.159
Y=315.999
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1166.159
Y=302.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=766.298
Y=302.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=766.298
Y=3
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1836.296
Y=3
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1836.296
Y=302.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1706.835
Y=302.499
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1706.835
Y=315.999
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1837.496
Y=315.999
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1837.496
Y=386.309
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1850.996
Y=386.309
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1850.996
Y=3
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=3
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=438.199
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2209.036
Y=438.199
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2209.036
Y=460.799
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=460.799
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=546.699
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2209.036
Y=546.699
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2209.036
Y=560.199
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=560.199
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=675.599
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2144.436
Y=675.599
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2144.436
Y=689.099
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=689.099
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=940.598
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=940.598
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=689.099
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2165.556
Y=689.099
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2165.556
Y=675.599
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=675.599
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=607.339
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1850.196
Y=607.339
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1850.196
Y=1095.608
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=1095.608
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=1876.996
Y=954.098
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=954.098
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2432.995
Y=1090.328
Z=-0.1

[G1]
BEZB=Lineær - G1
EB=0
F=15216.538
X=2434.498
Y=1135.089
Z=22.2

[KOABFA30]
BEZB=Køre Vaek

[PROGEND2]
AFB=1
BEZB=Program end
PP=2

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

- 1. "How do we identify tool x? SWKZID=3/8 COMPRESSION" Where does that fit in the segments? Or is it a standalone line somewhere in the file which runs for all segments until we hit another SWKZID line?

The tool name is referenced in a code block preceding the machine moves, called the router definition. The variable name is SWKZID or WKZID. WKZ is german acronym for Werkzeug, or tool.

Each time a different operation is begun (such as last pass), even if the tool is the same, there will be a router definition similar to the one below. We don't need to identify the tool inside each segment because the router definition has already done that.

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=1280.797
Y=294.249
Z=22.2

- 2. Leading on from the above - are there any "loose lines" in these files which do not form part of the segments. We need to be able to identify such lines, even if only to ignore them.

See the sample file that i posted. There are various code blocks including drilling ops, or program head which are not part of optimization. These should be readily apparent. As long as the code block begins with [G1], that can only be a straight line move; similarly, we can find [G2] (arc clockwise) and [G3] (arc anticlockwise) code blocks.

The important thing is to look at the z depth. If it is changing from segment to segment in a negative progression that indicates an approach move which shouldn't be modified. Segments to be optimized will always have a constant z-depth.

I will try and work up something over the weekend. Do you have any particular wishes for the "look and feel" of the GUI (for example do you want a company logo - and if so what size - or a specific title) or shall I use my imagination! :)

That would be fantastic. Yeah a company logo would look great. Link here. keep it small. For a title it should be called Imawop Optimizer or something similar.

Edited by bbuser99

Share this post


Link to post
Share on other sites

bbuser99,

Got it all. Interestingly the file is a standard Windows ini format - which makes it really easy to extract the data. ;)

Let me go and absorb what you have written so far about the task - I think I have enough to be going on with. I will admit that it is a rather more complicated task than I originally thought - but then it will help keep my little grey cells busy for a while. :)

I will start coding after my usual round of golf tomorrow morning - got to get the priorities right! :idiot:

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Thanks!

Enjoy your game! :)

Share this post


Link to post
Share on other sites

I had a thought. :)

Would it make the project much more difficult if we were to have four segment lengths instead of three?

If the script is successful, it will be helpful to refine the feed rates and spindles speeds to be as dynamic as is practical.

Four segment lengths would give us better definition at the low end, where it is important.

Share this post


Link to post
Share on other sites

bbuser99,

Hang on, I do not speak this language yet! ;)

four segment lengths instead of three

What does this mean in relation to the file you posted above? :)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

#11 ·  Posted (edited)

:)

I think it makes things a lot more complex.

4 segment variables instead of 3 will give us 4 tool parameter sets to choose from. Meaning we will have a greater range of feeds and speeds to call up.

I think my last pass logic is botched. I think it should be same as 1st pass.

I hope you can make sense of it. ;)

Edited by bbuser99

Share this post


Link to post
Share on other sites

bbuser99,

I still do not understand. :)

But I will stick with what you have given me so far and we will cross the "3 or 4 segment" bridge when we get to it. I get the feeling this will not be short road, so it is not likely to be the critical path. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Its ok, I don't really know for sure what the best approach is yet. I do know the concept can work. Vericut and CIMCO are two companies that sell a commercial g-code optimization and filtering utility. Unfortunately, our file format isn't g-code.

Share this post


Link to post
Share on other sites

#14 ·  Posted (edited)

You mean this >> http://en.wikipedia.org/wiki/G-code :)

Edited by guinness

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

#15 ·  Posted (edited)

bbuser99,

Congratulations on suckering talking someone into working for you for free.

:)

Edited by Klaatu

My Projects:DebugIt - Debug your AutoIt scripts with DebugIt!

Share this post


Link to post
Share on other sites

#16 ·  Posted (edited)

Yes, G-code is the format that is read into the CNC machine's controller.

My file format is very different & isn't controller code.

@Klaatu:

Get job and/or life. I've said too much.

Edited by bbuser99

Share this post


Link to post
Share on other sites

Klaatu,

I will make this polite, but please do make the effort to imagine that it is not: Mind your own business. :)

Who I help and what I do on this forum is for me and me alone to decide. ;)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

#18 ·  Posted (edited)

This is beyond me, but there's a code list here that might be of some help. Also a Wikipedia article.

William

[edit] I see from posts above, made while I was doing other things with my reply open [!], that this is not relevant!

Edited by saywell

Share this post


Link to post
Share on other sites

This is beyond me, but there's a code list here that might be of some help. Also a Wikipedia article.

William

[edit] I see from posts above, made while I was doing other things with my reply open [!], that this is not relevant!

Yeah, there are similarities to g-code, such as the use of vector positioning data, and G1, G2, G3 commands, (g-code is G01, G02, G03) but its a proprietary format. G-code is industry standard.

Share this post


Link to post
Share on other sites

bbuser99,

The script is coming along nicely, but I have yet more questions (probably not the last either!) ;)

- 1. When we need to reset the F and N values, do we set them in the first or second segment? For instance in this case:

[KAFRAE30]
AFB=1
BEZB=ROUTER DEFINITION
EBG=0
EVS=0.05
F=6000
FAN=6000
KD=0
LGEAB=0
LGEAN=0
N=14000
SWKZID=3/8DOWNCUT
TRKOR=2
TYPAB=0
TYPAN=0
TYPEIN=0
WKZID=3/8DOWNCUT
X=2134.096
Y=982.998
Z=22.2

[G1]
BEZB=Straight line
EB=0
F=6000
X=2154.996
Y=982.998
Z=11.75

[G1]
BEZB=Straight line
EB=0
F=16000
X=2425.77
Y=982.998
Z=11.75

I have got the code determining:

20.9000000000001 - Short    ; difference between [KAFRAE30] and the first [G1]
270.774          - Medium   ; difference between the first and second [G1] sections

So in which of the compared sections do you want the optimised F & N? The first or the second? And should I even be comparing the [KAFRAE30] and the first [G1]?

- 2. What settings do you want for "Small arcs"? Or do we just leave them alone?

- 3. I see from the link that saywell gave that the 3 types of cut we are looking for are [G1], [G2] and [G3]. Can we use that rather then the "BEZB=" line? This is more for my interest than for the script. :)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0