From d2a98d71b7781410433e3bb40b9462e1d3d0c76d Mon Sep 17 00:00:00 2001 From: GKA <> Date: Thu, 19 May 2011 10:33:49 +0000 Subject: [PATCH] OCC22238 Bug during step file importation --- src/STEPControl/STEPControl_ActorRead.cxx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/STEPControl/STEPControl_ActorRead.cxx b/src/STEPControl/STEPControl_ActorRead.cxx index d763cb07a7..6b0dd4853e 100755 --- a/src/STEPControl/STEPControl_ActorRead.cxx +++ b/src/STEPControl/STEPControl_ActorRead.cxx @@ -1592,12 +1592,22 @@ Standard_Boolean STEPControl_ActorRead::ComputeTransformation (const Handle(Step Handle(Geom_Axis2Placement) theTarg; StepToGeom_MakeAxis2Placement::Convert(trg,theTarg); if ( oldSRContext != TargContext ) PrepareUnits(oldSRContext,TP); - + gp_Ax3 ax3Orig(theOrig->Ax2()); gp_Ax3 ax3Targ(theTarg->Ax2()); - + //ax3Orig - defines CS for component(always is equal to (0 0 0 ))(related product from NAUO) + //ax3Targ - defines place of component in assemby CS (relating product // ne pas se tromper de sens ! - Trsf.SetTransformation(ax3Targ, ax3Orig); + + + gp_Trsf aTrsf2; + gp_Ax3 anAxis(gp_Pnt(0.,0.,0.), gp::DZ(), gp::DX());; + aTrsf2.SetTransformation(anAxis,ax3Orig); + gp_Trsf aTrsf3; + aTrsf3.SetTransformation(ax3Targ,anAxis); + + Trsf = aTrsf3 * aTrsf2; + return Trsf.Form() != gp_Identity; } -- 2.20.1