EgtExecutor 2.2l2 :

- aggiunto nuovo tipo di file BTLx (FT_BTLX = 19)
- aggiunta funzione Exe e Lua ImportBtlx
- aggiunte funzioni Exe e Lua per BeamMgr creazione e modifica travi e pareti e aggiunta features.
This commit is contained in:
Dario Sassi
2020-12-14 11:37:43 +00:00
parent db726f6fd6
commit 45087f4e28
11 changed files with 456 additions and 4 deletions
+111 -1
View File
@@ -40,6 +40,87 @@ ExeInitBeamMgr( int nFlag)
return bOk ;
}
//-----------------------------------------------------------------------------
int
ExeBeamCreatePart( void)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, GDB_ID_NULL)
// creo un pezzo (trave o parete) e lo rendo corrente
return pBeamMgr->CreatePart() ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamSetPart( int nPartId)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// rendo corrente un pezzo
return pBeamMgr->SetPart( nPartId) ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamErasePart( void)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// cancello il pezzo corrente
return pBeamMgr->ErasePart() ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamSetPartProdNbr( int nProdNbr)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// imposto il numero di produzione al pezzo corrente
return pBeamMgr->SetPartProdNbr( nProdNbr) ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamSetPartName( const string& sName)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// imposto il nome al pezzo corrente
return pBeamMgr->SetPartName( sName) ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamSetPartCount( int nCount)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// imposto il numero di parti da produrre al pezzo corrente
return pBeamMgr->SetPartCount( nCount) ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamSetPartBox( double dLength, double dHeight, double dWidth)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// imposto le dimensioni al pezzo corrente
return pBeamMgr->SetPartBox( dLength, dHeight, dWidth) ;
}
//-----------------------------------------------------------------------------
int
ExeBeamAddProcess( int nGroup, int nProc, int nSide, const string& sDes, int nProcId,
const Frame3d& frRef, const DBLVECTOR& vdPar, const string& sPar)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// imposto le dimensioni al pezzo corrente
return pBeamMgr->AddProcess( nGroup, nProc, nSide, sDes, nProcId, frRef, vdPar, sPar) ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamCalcSolid( int nPartId, bool bRecalc)
@@ -55,7 +136,7 @@ int
ExeBeamGetSolid( int nPartId)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
VERIFY_BEAMMGR( pBeamMgr, GDB_ID_NULL)
// recupero l'identificativo del solido della trave
return pBeamMgr->GetSolid( nPartId) ;
}
@@ -69,3 +150,32 @@ ExeBeamShowSolid( int nPartId, bool bShow)
// aggiorno lo stato di visualizzazione della trave (solido e complementari)
return pBeamMgr->ShowSolid( nPartId, bShow) ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamGetBuildingIsOn( void)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// verifico se assemblaggio attivato
return pBeamMgr->GetBuildingIsOn() ;
}
//-----------------------------------------------------------------------------
bool
ExeBeamShowBuilding( bool bShow)
{
IBeamMgr* pBeamMgr = GetCurrBeamMgr() ;
VERIFY_BEAMMGR( pBeamMgr, false)
// disabilito possibilità di alterare il flag di modifica
bool bOldEnabModif = ExeGetEnableModified() ;
if ( bOldEnabModif)
ExeDisableModified() ;
// attivo o disattivo la visualizzazione l'assemblaggio
bool bOk = pBeamMgr->ShowBuilding( bShow) ;
// ripristino possibilità di alterare il flag di modifica
if ( bOldEnabModif)
ExeEnableModified() ;
// risultato
return bOk ;
}