EgtExecutor 3.1a4 :
- in Trimming aggiunte le funzioni per riconoscimento di fori e asole - in Trimming pulizia del codice.
This commit is contained in:
+37
-55
@@ -21,49 +21,49 @@ using namespace std ;
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
static int
|
||||
LuaTrimmingAutoSearch( lua_State* L)
|
||||
LuaTrimmingGetHoleBorder( lua_State* L)
|
||||
{
|
||||
// 9 parametri : nParentId, nSurfLayerId, dShapeLinTol, dShapeAngTol, dLinTol, dEdgeLinTol, dAngTol, dAngFaceTol, vsShapes
|
||||
// 7 parametri : nPartId, vSurfIds, vOtherSurfIds, dSurfLinTol, dSurfAngTol, dEdgeLinTol, dEdgeAngTol, dEdgeThick
|
||||
int nParentId ;
|
||||
LuaCheckParam( L, 1, nParentId)
|
||||
int nSurfLayerId ;
|
||||
LuaCheckParam( L, 2, nSurfLayerId)
|
||||
double dShapeLinTol ;
|
||||
LuaCheckParam( L, 3, dShapeLinTol)
|
||||
double dShapeAngTol ;
|
||||
LuaCheckParam( L, 4, dShapeAngTol)
|
||||
double dLinTol ;
|
||||
LuaCheckParam( L, 5, dLinTol)
|
||||
LuaCheckParam( L, 1, nParentId) ;
|
||||
INTVECTOR vSurfIds ;
|
||||
LuaCheckParam( L, 2, vSurfIds) ;
|
||||
INTVECTOR vOtherSurfIds ;
|
||||
LuaCheckParam( L, 3, vOtherSurfIds) ;
|
||||
double dSurfLinTol ;
|
||||
LuaCheckParam( L, 4, dSurfLinTol) ;
|
||||
double dSurfAngTol ;
|
||||
LuaCheckParam( L, 5, dSurfAngTol) ;
|
||||
double dEdgeLinTol ;
|
||||
LuaCheckParam( L, 6, dEdgeLinTol)
|
||||
double dAngTol ;
|
||||
LuaCheckParam( L, 7, dAngTol)
|
||||
double dAngFaceTol ;
|
||||
LuaCheckParam( L, 8, dAngFaceTol)
|
||||
STRVECTOR vsShapes ;
|
||||
LuaCheckParam( L, 9, vsShapes)
|
||||
LuaCheckParam( L, 6, dEdgeLinTol) ;
|
||||
double dEdgeAngTol ;
|
||||
LuaCheckParam( L, 7, dEdgeAngTol) ;
|
||||
double dEdgeThick ;
|
||||
LuaCheckParam( L, 8, dEdgeThick) ;
|
||||
LuaClearStack( L) ;
|
||||
// Recupero le lavorazioni di Trimming associate
|
||||
INTVECTOR vOtherFaces ;
|
||||
bool bOk = ExeTrimmingAutoSearch( nParentId, nSurfLayerId, dShapeLinTol, dShapeAngTol, dLinTol,
|
||||
dEdgeLinTol, dAngTol, dAngFaceTol, vsShapes) ;
|
||||
// Recupero le Curve per Asole e Fori
|
||||
int nFirstId = GDB_ID_NULL, nCount = 0 ;
|
||||
bool bOk = ExeTrimmingGetHoleBorder( nParentId, vSurfIds, vOtherSurfIds, dSurfLinTol, dSurfAngTol, dEdgeLinTol,
|
||||
dEdgeAngTol, dEdgeThick, nFirstId, nCount) ;
|
||||
LuaSetParam( L, bOk) ;
|
||||
return 1 ;
|
||||
LuaSetParam( L, nFirstId) ;
|
||||
LuaSetParam( L, nCount) ;
|
||||
return 3 ;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
static int
|
||||
LuaTrimmingGetSurfTmFaceAdj( lua_State* L)
|
||||
{
|
||||
// 7 parametri : nParentId, nSurfId, vTria, vPts, dAngTol, dSize, dSizeTol
|
||||
// 7 parametri : nParentId, nSurfId, nTria, ptTria, dAngTol, dSize, dSizeTol
|
||||
int nParentId ;
|
||||
LuaCheckParam( L, 1, nParentId) ;
|
||||
int nSurfId ;
|
||||
LuaCheckParam( L, 2, nSurfId)
|
||||
INTVECTOR vTria ;
|
||||
LuaCheckParam( L, 3, vTria)
|
||||
PNTVECTOR vPts ;
|
||||
LuaCheckParam( L, 4, vPts)
|
||||
int nTria ;
|
||||
LuaCheckParam( L, 3, nTria)
|
||||
Point3d ptTria ;
|
||||
LuaCheckParam( L, 4, ptTria)
|
||||
double dAngTol ;
|
||||
LuaCheckParam( L, 5, dAngTol)
|
||||
double dSize ;
|
||||
@@ -73,25 +73,7 @@ LuaTrimmingGetSurfTmFaceAdj( lua_State* L)
|
||||
LuaClearStack( L) ;
|
||||
// Recupero le facce adiacenti in tolleranza angolare
|
||||
INTVECTOR vOtherFaces ;
|
||||
int nNewSurfId = ExeTrimmingGetSurfTmFaceAdj( nParentId, nSurfId, vTria, vPts, dAngTol, dSize, dSizeTol) ;
|
||||
LuaSetParam( L, nNewSurfId) ;
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
static int
|
||||
LuaTrimmingGetSurfTmFromStmFaces( lua_State* L)
|
||||
{
|
||||
// 3 Parametri : nParentId, nSurfId, vFaces
|
||||
int nParentId ;
|
||||
LuaCheckParam( L, 1, nParentId)
|
||||
int nSurfId ;
|
||||
LuaCheckParam( L, 2, nSurfId)
|
||||
INTVECTOR vFaces ;
|
||||
LuaCheckParam( L, 3, vFaces)
|
||||
LuaClearStack( L) ;
|
||||
// Eseguo
|
||||
int nNewSurfId = ExeTrimmingGetSurfTmFromStmFaces( nParentId, nSurfId, vFaces) ;
|
||||
int nNewSurfId = ExeTrimmingGetSurfTmFaceAdj( nParentId, nSurfId, nTria, ptTria, dAngTol, dSize, dSizeTol) ;
|
||||
LuaSetParam( L, nNewSurfId) ;
|
||||
return 1 ;
|
||||
}
|
||||
@@ -153,7 +135,7 @@ LuaTrimmingGetBorders( lua_State* L)
|
||||
static int
|
||||
LuaTrimmingGetBordersByNormals( lua_State* L)
|
||||
{
|
||||
// 7 o 8 parametri : nParentId, vIds, dLinTol, dAngTol, dThickness [, ptNear]
|
||||
// 7 o 8 parametri : nParentId, vIds, dSurfLinTol, dSurfAngTol, dThickness
|
||||
int nParentId ;
|
||||
LuaCheckParam( L, 1, nParentId)
|
||||
SELVECTOR vIds ;
|
||||
@@ -168,13 +150,11 @@ LuaTrimmingGetBordersByNormals( lua_State* L)
|
||||
LuaCheckParam( L, 6, dAngTol)
|
||||
double dThickness ;
|
||||
LuaCheckParam( L, 7, dThickness)
|
||||
Point3d ptNear = P_INVALID ;
|
||||
LuaGetParam( L, 8, ptNear) ;
|
||||
LuaClearStack( L) ;
|
||||
// Creo le curve di Edge grezze
|
||||
int nFirstId = GDB_ID_NULL ;
|
||||
int nCount = 0 ;
|
||||
bool bOk = ExeTrimmingGetBordersByNormals( nParentId, vIds, dSurfLinTol, dSurfAngTol, dLinTol, dAngTol, dThickness, ptNear, nFirstId, nCount) ;
|
||||
bool bOk = ExeTrimmingGetBordersByNormals( nParentId, vIds, dSurfLinTol, dSurfAngTol, dLinTol, dAngTol, dThickness, nFirstId, nCount) ;
|
||||
LuaSetParam( L, bOk) ;
|
||||
LuaSetParam( L, nFirstId) ;
|
||||
LuaSetParam( L, nCount) ;
|
||||
@@ -277,16 +257,18 @@ bool
|
||||
LuaInstallTrimming( LuaMgr& luaMgr)
|
||||
{
|
||||
bool bOk = ( &luaMgr != nullptr) ;
|
||||
// ---
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtTrimmingAutoSearch", LuaTrimmingAutoSearch) ;
|
||||
// ---
|
||||
// --- Ricerca Fori e Asole
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtTrimmingGetHoleBorder", LuaTrimmingGetHoleBorder) ;
|
||||
// --- Ricerca Superifici
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtTrimmingGetSurfTmFaceAdj", LuaTrimmingGetSurfTmFaceAdj) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtTrimmingGetSurfTmFromStmFaces", LuaTrimmingGetSurfTmFromStmFaces) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtTrimmingGetAdjSurfs", LuaTrimmingGetAdjSurfs) ;
|
||||
// --- Estrazione dei Bordi
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtTrimmingGetBorders", LuaTrimmingGetBorders) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtTrimmingGetBordersByNormals", LuaTrimmingGetBordersByNormals) ;
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtTrimmingGetFinalBorders", LuaTrimmingGetFinalBorders) ;
|
||||
// --- Recupero Surf Bezier Ruled
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtTrimmingGetRuledBezier", LuaTrimmingGetRuledBezier) ;
|
||||
// --- Recupero linee di sincronizzazione
|
||||
bOk = bOk && luaMgr.RegisterFunction( "EgtTrimmingGetSurfBzSyncPoints", LuaTrimmingGetSurfBzSyncPoints) ;
|
||||
return bOk ;
|
||||
}
|
||||
Reference in New Issue
Block a user