Files
EgtMachKernel/MachineStruConst.h
T
Dario Sassi 05a69a650b EgtMachKernel 1.6r2 :
- modifiche per gestire fino a 4 assi rotanti contemporaneamente attivi (almeno 2 bloccati)
- correzioni e migliorie varie.
2016-05-17 07:00:08 +00:00

85 lines
2.7 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 ;
bool bFixed ;
double dFixVal ;
KinAxis( void)
: nGrpId( GDB_ID_NULL), bLinear( true), bHead( true), ptPos(), vtDir(), 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" ;