diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index 3b1dfb6..a40bb85 100644 Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ diff --git a/SfrCreate.cpp b/SfrCreate.cpp index 8ea21b8..cf9e4f7 100644 --- a/SfrCreate.cpp +++ b/SfrCreate.cpp @@ -172,11 +172,23 @@ GetSurfFlatRegionFromFatCurve( ICurve* pCrv, double dRadius, bool bSquareEnds, b if ( IsNull( pCompo2) || ! pCompo2->Invert()) return nullptr ; // offset della prima curva a destra del raggio - if ( ! pCompo1->SimpleOffset( dRadius, nOffsType)) + OffsetCurve OffsCrv1 ; + if ( ! OffsCrv1.Make( pCompo1, dRadius, nOffsType)) return nullptr ; + ICurve* pOffs1 = OffsCrv1.GetLongerCurve() ; + if ( pOffs1 != nullptr) { + pCompo1->Clear() ; + pCompo1->AddCurve( pOffs1) ; + } // offset della seconda curva a destra del raggio - if ( ! pCompo2->SimpleOffset( dRadius, nOffsType)) + OffsetCurve OffsCrv2 ; + if ( ! OffsCrv2.Make( pCompo2, dRadius, nOffsType)) return nullptr ; + ICurve* pOffs2 = OffsCrv2.GetLongerCurve() ; + if ( pOffs2 != nullptr) { + pCompo2->Clear() ; + pCompo2->AddCurve( pOffs2) ; + } // se estremi squadrati if ( bSquareEnds) { // aggiungo alla prima curva una linea che la unisca alla seconda