d7234d57d1
- gestione posizionamento pezzi su tavole con home assi non nullo - migliorata rotazione grezzi su centroide.
86 lines
2.8 KiB
C++
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" ;
|