diff --git a/EGkArcSpecial.h b/EGkArcSpecial.h index 2f9237e..941388a 100644 --- a/EGkArcSpecial.h +++ b/EGkArcSpecial.h @@ -1,13 +1,14 @@ //---------------------------------------------------------------------------- -// EgalTech 2014-2022 +// EgalTech 2014-2023 //---------------------------------------------------------------------------- -// File : EGkArcSpecial.h Data : 20.12.22 Versione : 2.4l3 +// File : EGkArcSpecial.h Data : 04.08.23 Versione : 2.5h1 // Contenuto : Dichiarazione funzioni per calcolo speciale archi. // // // // Modifiche : 12.06.14 DS Creazione modulo. // 20.12.22 DS Aggiunta GetArc2PCN. +// 04.08.23 DS Aggiunta GetArc2PNB. // //---------------------------------------------------------------------------- @@ -27,5 +28,6 @@ //---------------------------------------------------------------------------- EGK_EXPORT ICurve* GetArc2PD( const Point3d& ptStart, const Point3d& ptEnd, double dDirStartDeg) ; EGK_EXPORT ICurve* GetArc2PVN( const Point3d& ptStart, const Point3d& ptEnd, const Vector3d& vtDirS, const Vector3d& vtN) ; +EGK_EXPORT ICurve* GetArc2PNB( const Point3d& ptStart, const Point3d& ptEnd, const Vector3d& vtN, double dBulge) ; EGK_EXPORT ICurve* GetArc3P( const Point3d& ptStart, const Point3d& ptOther, const Point3d& ptEnd, bool bCirc) ; EGK_EXPORT ICurveArc* GetArc2PCN( const Point3d& ptStart, const Point3d& ptEnd, const Point3d& ptNearCen, const Vector3d& vtN) ; diff --git a/EGkCurveComposite.h b/EGkCurveComposite.h index 11144d7..48b90ec 100644 --- a/EGkCurveComposite.h +++ b/EGkCurveComposite.h @@ -94,7 +94,19 @@ inline ICurveComposite* ConvertCurveToComposite( IGeoObj* pGObj) delete pGObj ; return nullptr ; } - pCrvCo->AddCurve( static_cast( pGObj)) ; + ICurve* pCrv = static_cast( pGObj) ; + Vector3d vtExtr ; + if ( pCrv->GetExtrusion( vtExtr) && ! vtExtr.IsSmall()) + pCrvCo->SetExtrusion( vtExtr) ; + double dThick ; + if ( pCrv->GetThickness( dThick) && abs( dThick) > EPS_SMALL) + pCrvCo->SetThickness( dThick) ; + for ( int i = 0 ; i < 2 ; ++ i) { + int nProp = pCrv->GetTempProp( i) ; + if ( nProp != 0) + pCrvCo->SetTempProp( nProp, i) ; + } + pCrvCo->AddCurve( pCrv) ; return pCrvCo ; } diff --git a/EXeExecutor.h b/EXeExecutor.h index 93fe0cc..e997a69 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -266,6 +266,8 @@ EXE_EXPORT int ExeCreateArcC2PEx( int nParentId, const Point3d& ptCen, const Point3d& ptNearEnd, int nRefType) ; EXE_EXPORT int ExeCreateArc3P( int nParentId, const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptP3, int nRefType) ; +EXE_EXPORT int ExeCreateArc2PB( int nParentId, const Point3d& ptStart, const Point3d& ptEnd, + double dBulge, int nRefType) ; EXE_EXPORT int ExeCreateArc2PD( int nParentId, const Point3d& ptStart, const Point3d& ptEnd, double dDirSDeg, int nRefType) ; EXE_EXPORT int ExeCreateArc2PDEx( int nParentId, const Point3d& ptStart, diff --git a/EgtKeyCodes.h b/EgtKeyCodes.h index 8a7f9a0..b19d875 100644 --- a/EgtKeyCodes.h +++ b/EgtKeyCodes.h @@ -24,7 +24,7 @@ //---------------------------------------------------------------------------- const int KEY_BASELIB_PROD = 207 ; -const int KEY_BASELIB_VER = 2507 ; +const int KEY_BASELIB_VER = 2508 ; const int KEY_BASELIB_LEV = 1 ; //----------------------------------------------------------------------------