EgtInterface 1.6c5 :
- aggiunte funzioni per raccordi e smussi di curve.
This commit is contained in:
@@ -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) ;
|
||||
|
||||
Reference in New Issue
Block a user