Professional Documents
Culture Documents
AC CUT EDM-Expert Interface
AC CUT EDM-Expert Interface
Type Documentation
Table of contents
1. Introduction .................................................................................................................................................. 2
1.1. Document goal .............................................................................................................................................. 2
1.2. Principle ....................................................................................................................................................... 2
1.3. Implementation............................................................................................................................................. 3
2. EDM Expert interface ..................................................................................................................................... 4
2.1. Principles ...................................................................................................................................................... 4
2.1.1. Data exchange ....................................................................................................................................... 4
2.1.2. Initialization principle .............................................................................................................................. 4
2.1.3. Process principle .................................................................................................................................... 4
2.2. Functions...................................................................................................................................................... 5
2.2.1. Get Machines list .................................................................................................................................... 5
2.2.2. Open..................................................................................................................................................... 7
2.2.3. Close .................................................................................................................................................... 7
2.2.4. Get WorkPiece Materials .......................................................................................................................... 8
2.2.5. Get Wires characteristics ......................................................................................................................... 8
2.2.6. Create a sequence .................................................................................................................................. 8
2.2.7. Modify a sequence .................................................................................................................................. 9
2.2.8. Search sequences ................................................................................................................................... 9
2.2.9. Get matching sequences ......................................................................................................................... 9
2.2.10. Convert a sequence in a Millennium TEC file ............................................................................................ 11
2.3. Miscealleneous ............................................................................................................................................ 11
2.3.1. Sequences ........................................................................................................................................... 11
2.3.2. Informations added for CadCam PostPro ................................................................................................. 11
2.3.3. Logging ............................................................................................................................................... 12
2.3.4. Error code ........................................................................................................................................... 12
3. Specifics EDM Expert behaviour ................................................................................................................... 13
3.1. AC Cut x00 MS/SP ....................................................................................................................................... 13
3.1.1. Machines ............................................................................................................................................. 13
3.1.2. Configuration ....................................................................................................................................... 13
3.1.3. Criterions ............................................................................................................................................ 13
3.2. AC CUT C/E/S/P xxx .................................................................................................................................... 14
3.2.1. Machines ............................................................................................................................................. 14
3.2.2. Configuration ....................................................................................................................................... 14
3.2.3. Criterions ............................................................................................................................................ 14
3.3. Millennium, Fi X40 & Cut x00 ....................................................................................................................... 15
3.3.1. Machines ............................................................................................................................................. 15
3.3.1. Configuration ....................................................................................................................................... 15
3.3.2. Criterions ............................................................................................................................................ 16
1. INTRODUCTION
1.2. PRINCIPLE
JOB
/
ISO
CadCam
1.3. IMPLEMENTATION
It first has to request the list of available machines, and then select the one to be used (for which the EDM will be
generated).
On this document we can use the “EDM Expert” wording to refert to the CTEDMExpert.dll.
EDM datas
Select (Open) Unique
interface
Machine
New, Modify, Get … specific dll Data Base,
Files,
Sequence
…
Ex:
Vertex.dat
Utilities
Translation,
Logging,
1 to N machine …
specific
applications
2.1. PRINCIPLES
With the exception of elementary data, all dialogs are coded in XML.
Parameters may be different, depending on machine. New parameters may be added. Some parameters can be optional.
The DLL is based on C++ programming. The input data are given to EdmExpert by the address where they can be read.
For output data, the caller gives an address where EdmExpert write the address where they can be read.
1. The user application(CadCam) asks EDM Expert for the list of machines using edmGetMachineList.
> The response contents an Id for each possible machine model
2. The desired Id must be included in the Open request (edmOpenEdmExpert) which returns a Handle.
3. With this handle, the user can create or modify sequences in interactive mode (a window is displayed) or with direct
calls.
edmGetWorkPieceMaterials can be used to ask for the list of the Raw materials that are managed with the current
SDK.
edmGetWires can be used to ask for the list of the Wires material and diameters that are managed with the current
SDK.
edmNewSequence could be called to create a new sequence depending on the choice of the user in the window.
edmModifySequence could be called; the window will be opened with all the criterions pre-setted with the value
corresponding to the given sequence.
edmSearchSequences could be called to obtain the number of sequences corresponding to the given criterions.
> The result is a number telling how many sequences (N) can fulfill the criterions (can be zero if no sequence is
found).
After edmSearchSequences, edmGetSequence can be called telling the ID of the desired corresponding to the
given criterions (usually a LOOP is done to ask for all the possible sequences between 1 and N).
New, Modify
Sequence
EDM
Expert
Search (criterions)
Sequences list
Get ( Id )
Sequence
2.2. FUNCTIONS
We will use “simplified” Visual C++ notation.
LPCTSTR indicates the address of a string
LPCTSTR * indicates the address where to write the address of a string
The exact list and available values of XML parameters will be given with dedicated applications.
This function is used to know the list of available machines, some informations may be added in the response.
It returns the number of available machines, and if not null, a XML string.
The ID refers to an internal EDM database, which can be different for each machine depending on the generator.
The current ID list is :
CUT : for the CleanCut generator based machines (like CUT X00 ms/SP)
TCT : for the IPG generator based machines (like CUT Ennn and CUT Pnnn)
MIL : for the Millennium based machines (Like CUT X40)
The NAME refer to the machine variants which have a different technology set.
The current NAME list is:
Cut 200/300
Cut 400
Cut X0
Cut C350
Cut C600
Cut E350
Cut E600
Cut P350
Cut P550
Cut P800
Cut P1250
ATTENTION : These ID and NAME have to be used to Open the EDM connection, in order to select the right technology
Database.
2.2.2. Open
This function is used to select a machine and specify the configuration. EdmExpert will also load the technology to prepare
future calls..
<MachineCfg>
< Id >CUT</ Id >
< Name >Cut 400</ Name >
< Unit >1</ Unit >
< Language >EN</Language >
< MacCost >10.00</ MacCost >
<Keyboard>osk</Keyboard>
…
</MachineCfg>
The fields and values depend on the machine and are described in specific sections (Chap 3).
The field <Keyboard> is optional. It allows to open a virtual keyboard on keyboardless device.
“osk” opens the Windows ™ virtual keyboard.
2.2.3. Close
This function is used to close an opened selection. It must be called before opening a new one.
It returns an error number ( 0 if no error )
ATTENTION : For all subsequent requests referring to WorkPiece materials, refer to the MatCode returned by this function.
ATTENTION : For all subsequent requests referring to Wire materials, refer to the MatCode returned by this function.
long edmNewSequence ( HWND hwndParent, long hEdmHandle, LPCTSTR pszSequenceName, LPCTSTR pszSequenceCrit,
LPCTSTR *pszSequenceOut )
Output :
0 if no error.
Error number
The criterions depends on the machine and are listed in specific sections (Chap 3).
long edmModifySequence ( HWND hwndParent, long hEdmHandle, LPCTSTR pszSequenceName, LPCTSTR pszSequenceIn,
LPCTSTR *pszSequenceOut )
Output :
Error number, 0 if no error.
Search all sequences matching the given criterions (without pop-up) and return the number of founded sequences.
Input:
hEdmHandle : local handler
pszSequenceCrit: Criterions, given in a XML string
pszSequenceDesc: List and description of resulting sequences
Output:
0 if no sequence found.
> 0 number of found sequences.
< 0 Error number
long edmGetSequence ( long hEdmHandle, LPCTSTR szSequenceName, unsigned long Id, LPCTSTR * pszSequenceOut )
After an “edmSearchSequences” build the sequence corresponding to previously given criterions and identified by its
number.
Input:
hEdmHandle : local handler
szSequenceName : Sequence name, will be the internal sequence name
Id: Id of the sequence, should be between 1 and N (N is the number returned by the
edmSearchSequences function.
pszSequenceOut: EDMExpert write here an address where the caller could find the resulting sequence.
Output:
Error number, 0 if no error.
long edmGetTECFromSeq ( long hEdmHandle, LPCTSTR szSequenceIn, LPCTSTR * pszResult, long Size )
Build and return the Millennium TEC table corresponding to the given sequence.
Input:
hEdmHandle : local handler
szSequenceIn : Sequence to convert
pszResult: EDMExpert write here an address where the caller could find the resulting TEC table.
Size: Length of the TEC table
Output:
Error number, 0 if no error.
2.3. MISCEALLENEOUS
2.3.1. Sequences
The sequences are coded in XML and ready to be included in a JOB file. These contents might be modified by GFMS, and
must be used carefully by CAD/CAM makers.
The beginning is :
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<SequenceTC>
<Name>Sequence_Name</Name>
…
A table with the offsets calculated at the sequence heigth is provided in a <Offsets> section.
These values are expressed in [meters].
Example:
<Offsets height="0.020">
<Offset1>0.000198</Offset1>
<Offset2>0.000136</Offset2>
</Offsets>
2.3.3. Logging
No error 0
Technology missing or not loaded -1
Internal error -2
Bad parameter given -3
No EDMExpert application open -4
Invalid request -5
3.1.1. Machines
Identifiant CUT
Name Cut 200/300
Cut 400
3.1.2. Configuration
The fields recognized in the “edmOpenEdmExpert” call are :
NAME Format Unit Type Remarks
< Id > String - Mandatory CUT
< Name > String - Mandatory Cut 200/300
Cut 400
< Unit > Integer - Optional Used only in Conversationnal mode
1 : mm (default)
2 : inch
< Language > Integer - Optional Used only in Conversationnal mode
en : English (default)
fr : Français
de : Deutsch
es : Español
it : Italiano
cs : Czech
nl : Nederlands
ja : Japanese
zh : Chinese (simplified)
zt : Chinese (tradionnal)
ko : Korean
< MacCost > Real - Optional Machine cost per hour : used to compute a “price” per UsiLen
of eroded length (default = 0)
< UsiLen > Real mm Optional Path length to use for cost calculation (default = 1000)
3.1.3. Criterions
The recognized criterions are :
NAME Format Unit Type Remarks
<WrkPMat> Integer - Mandatory MatCode : given by edmGetWorkPieceMaterials
<WrkPHeight> Real [m] Mandatory Work piece height
<VarHeight> Integer - Optional 0 : Flat part with Nozzles in contact (default)
1 : Flat part with distant Nozzles
2 : Stepped part
<Condition> Integer - Mandatory 1 : Open – Finishing are done with slug removed (default)
2 : Slot – Finishing are done within the slot
3 : Pocketing
4 : Direct Cut
0 : Other (Normally not to be used)
<Conic> Real [°] Optional Taper angle (maximal value of the part)
<Cuts> Integer - Optional Wished cuts number
<Ra> Real [m] Optional Surface state
<Tf> Real [m] Optional Precision
<Tkm> Real [m] Optional Precision
<WireMats> Integer - Optional MatCode given by edmGetWires
<Mat>
<WireDiams> Real [m] Optional Wire diameter
<Diam>
<Taper> Boolean - Optional 0 : Hide Taper Expert sequences – To use if Taper expert kit is
not installed (default)
1 : Show Taper Expert sequences – To use only if Taper
expert kit is installed
<Sort> Integer - Optional Sequences order for the answer proposal
<Order1> 0 : No order
<Order… 1 : Cuts Num (default) Increasing
2 : Precision Tkm Increasing
3 : Surface Ra Increasing
4 : Speed Decreasing
5 : Cost Increasing
3.2.1. Machines
3.2.2. Configuration
The fields recognized in the “edmOpenEdmExpert” call are :
3.2.3. Criterions
The recognized criterions are :
3.3.1. Machines
Identifiant MIL
Name Cut 200/300
Cut 400
3.3.1. Configuration
The fields recognized in the “edmOpenEdmExpert” call are :
3.3.2. Criterions
The recognized criterions are :