Files
EgtMachKernel/MachMgrFixtures.cpp
T
Dario Sassi fe07bb767d EgtMachKernel 1.6e6 :
- prima gestione sottopezzi
- migliorata verifica extracorse assi.
2015-05-19 20:23:48 +00:00

48 lines
1.7 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2015-2015
//----------------------------------------------------------------------------
// File : MachMgrFixtures.cpp Data : 13.05.15 Versione : 1.6e6
// Contenuto : Implementazione gestione grezzi e pezzi della classe MachMgr.
//
//
//
// Modifiche : 16.04.15 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
//--------------------------- Include ----------------------------------------
#include "stdafx.h"
#include "DllMain.h"
#include "MachMgr.h"
#include "MachConst.h"
#include "/EgtDev/Include/EGkGdbIterator.h"
#include "/EgtDev/Include/EGnFileUtils.h"
#include "/EgtDev/Include/EgtPointerOwner.h"
using namespace std ;
//----------------------------------------------------------------------------
int
MachMgr::AddSubPiece( const string& sName, const Point3d& ptPos)
{
// recupero il gruppo delle fixtures nella macchinata corrente
int nFixtGrpId = GetCurrFixtGroupId() ;
if ( nFixtGrpId == GDB_ID_NULL)
return GDB_ID_NULL ;
// verifico esistenza file sottopezzo
string sFixtFile = m_sMachinesDir + "\\" + GetCurrMGeoName() + "\\" + FIXTURES_DIR + "\\" + sName + ".Nge" ;
if ( ! ExistsFile( sFixtFile))
return GDB_ID_NULL ;
// inserisco il sottopezzo nel gruppo
if ( ! m_pGeomDB->Load( sFixtFile, nFixtGrpId))
return GDB_ID_NULL ;
int nFixtId = m_pGeomDB->GetLastGroupInGroup( nFixtGrpId) ;
if ( nFixtId == GDB_ID_NULL)
return GDB_ID_NULL ;
// la muovo nella posizione voluta
Vector3d vtMove = ptPos - ORIG ;
m_pGeomDB->TranslateGlob( nFixtId, vtMove) ;
return nFixtId ;
}