EgtInterface 1.6c5 :

- aggiunte funzioni per raccordi e smussi di curve.
This commit is contained in:
Dario Sassi
2015-03-20 08:32:23 +00:00
parent e9f0822fbe
commit 80845befdc
3 changed files with 199 additions and 0 deletions
+72
View File
@@ -423,6 +423,76 @@ LuaCreateCurveArc2PVNEx( lua_State* L)
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaCreateCurveFillet( lua_State* L)
{
// 8 o 9 parametri : ParentId, nCrv1, PtNear1, nCrv2, PtNear2, VtNorm, dRad, bTrim [, sRefType]
int nParentId ;
LuaCheckParam( L, 1, nParentId)
int nCrv1 ;
LuaCheckParam( L, 2, nCrv1)
Point3d ptNear1 ;
LuaCheckParam( L, 3, ptNear1)
int nCrv2 ;
LuaCheckParam( L, 4, nCrv2)
Point3d ptNear2 ;
LuaCheckParam( L, 5, ptNear2)
Vector3d vtNorm ;
LuaCheckParam( L, 6, vtNorm)
double dRad ;
LuaCheckParam( L, 7, dRad)
bool bTrim ;
LuaCheckParam( L, 8, bTrim)
int nRefType = RTY_DEFAULT ;
LuaGetRefType( L, 9, nRefType) ;
LuaClearStack( L) ;
// creo l'arco di fillet
int nId = EgtCreateCurveFillet( nParentId, nCrv1, ptNear1.v, nCrv2, ptNear2.v,
vtNorm.v, dRad, bTrim, nRefType) ;
// restituisco il risultato
if ( nId != GDB_ID_NULL)
LuaSetReturn( L, nId) ;
else
LuaSetReturn( L) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaCreateCurveChamfer( lua_State* L)
{
// 8 o 9 parametri : ParentId, nCrv1, PtNear1, nCrv2, PtNear2, VtNorm, dDist, bTrim [, sRefType]
int nParentId ;
LuaCheckParam( L, 1, nParentId)
int nCrv1 ;
LuaCheckParam( L, 2, nCrv1)
Point3d ptNear1 ;
LuaCheckParam( L, 3, ptNear1)
int nCrv2 ;
LuaCheckParam( L, 4, nCrv2)
Point3d ptNear2 ;
LuaCheckParam( L, 5, ptNear2)
Vector3d vtNorm ;
LuaCheckParam( L, 6, vtNorm)
double dDist ;
LuaCheckParam( L, 7, dDist)
bool bTrim ;
LuaCheckParam( L, 8, bTrim)
int nRefType = RTY_DEFAULT ;
LuaGetRefType( L, 9, nRefType) ;
LuaClearStack( L) ;
// creo l'arco di fillet
int nId = EgtCreateCurveChamfer( nParentId, nCrv1, ptNear1.v, nCrv2, ptNear2.v,
vtNorm.v, dDist, bTrim, nRefType) ;
// restituisco il risultato
if ( nId != GDB_ID_NULL)
LuaSetReturn( L, nId) ;
else
LuaSetReturn( L) ;
return 1 ;
}
//-------------------------------------------------------------------------------
static int
LuaCreateCurveBezier( lua_State* L)
@@ -755,6 +825,8 @@ LuaInstallGdbCreateCurve( lua_State* L)
lua_register( L, "EgtArc3P", LuaCreateCurveArc3P) ;
lua_register( L, "EgtArc2PVN", LuaCreateCurveArc2PVN) ;
lua_register( L, "EgtArc2PVNEx", LuaCreateCurveArc2PVNEx) ;
lua_register( L, "EgtCurveFillet", LuaCreateCurveFillet) ;
lua_register( L, "EgtCurveChamfer", LuaCreateCurveChamfer) ;
lua_register( L, "EgtCurveBezier", LuaCreateCurveBezier) ;
lua_register( L, "EgtCurveBezierRat", LuaCreateCurveBezierRational) ;
lua_register( L, "EgtCurveBezierFromArc", LuaCreateCurveBezierFromArc) ;