Files
EgtMachKernel/MachineStruConst.h
T
Dario Sassi d7234d57d1 EgtMachKernel :
- gestione posizionamento pezzi su tavole con home assi non nullo
- migliorata rotazione grezzi su centroide.
2016-10-04 07:33:38 +00:00

86 lines
2.8 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : MachineStruConst.h Data : 25.05.15 Versione : 1.6e7
// Contenuto : Strutture e costanti di macchina.
//
//
//
// Modifiche : 25.05.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkPoint3d.h"
#include "/EgtDev/Include/EGkGdbConst.h"
#include <string>
#include <vector>
//----------------------------------------------------------------------------
// Corsa utile di un asse
union STROKE {
struct {
double Min ;
double Max ;
} ;
double v[2] ;
} ;
//----------------------------------------------------------------------------
// Dati di uscita
struct MuExit {
Point3d ptPos ;
Vector3d vtTDir ;
MuExit( const Point3d& ptP, const Vector3d& vtTD)
: ptPos( ptP), vtTDir( vtTD) {}
} ;
typedef std::vector<MuExit> MUEXITVECTOR ;
//----------------------------------------------------------------------------
// Dati asse per catena cinematica
struct KinAxis {
int nGrpId ;
bool bLinear ;
bool bHead ;
Point3d ptPos ;
Vector3d vtDir ;
STROKE stroke ;
double dHomeVal ;
bool bFixed ;
double dFixVal ;
KinAxis( void)
: nGrpId( GDB_ID_NULL), bLinear( true), bHead( true), ptPos(), vtDir(), dHomeVal( 0), bFixed( false), dFixVal( 0)
{ stroke.Min = 0 ; stroke.Max = 0 ; }
} ;
typedef std::vector<KinAxis> KINAXISVECTOR ;
//----------------------------------------------------------------------------
// Tipo di tavola della macchina
enum MchTabType { MCH_TT_NONE = 0,
MCH_TT_FLAT = 1} ;
//----------------------------------------------------------------------------
// Tipo di assi della macchina
enum MchAxisType { MCH_AT_NONE = 0,
MCH_AT_LINEAR = 1,
MCH_AT_ROTARY = 2} ;
//----------------------------------------------------------------------------
// Tipo di testa della macchina
enum MchHeadType { MCH_HT_NONE = 0,
MCH_HT_STD = 1,
MCH_HT_MULTI = 2,
MCH_HT_SPECIAL = 3} ;
//----------------------------------------------------------------------------
// Identificativo iniziale riferimenti di tavola
const std::string MCH_TREF = "R" ;
// Identificativo iniziale area di tavola
const std::string MCH_TAREA ="A" ;
//----------------------------------------------------------------------------
// Identificativo iniziale gruppo uscita di teste
const std::string MCH_EXIT = "T" ;