From: atychini Date: Fri, 21 Jan 2022 18:55:45 +0000 (+0300) Subject: 0032748: Data Exchange, Step Import - xstep.cascade.unit doesn't work [regression... X-Git-Tag: V7_7_0_beta~184 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=ff77ee8103603979a9b3ce7e695ee17b1bbb4711;p=occt.git 0032748: Data Exchange, Step Import - xstep.cascade.unit doesn't work [regression since OCCT 7.6.0] Added new condition in STEPControl_ActorRead::Transfer: if StepData_StepModel is not an initialized Unit - we set unit to this step model --- diff --git a/src/STEPControl/STEPControl_ActorRead.cxx b/src/STEPControl/STEPControl_ActorRead.cxx index b1443ce6a5..0ce99cd8c6 100644 --- a/src/STEPControl/STEPControl_ActorRead.cxx +++ b/src/STEPControl/STEPControl_ActorRead.cxx @@ -284,6 +284,11 @@ Handle(Transfer_Binder) STEPControl_ActorRead::Transfer { // [BEGIN] Get version of preprocessor (to detect I-Deas case) (ssv; 23.11.2010) Handle(StepData_StepModel) aStepModel = Handle(StepData_StepModel)::DownCast ( TP->Model() ); + if (!aStepModel->IsInitializedUnit()) + { + XSAlgo::AlgoContainer()->PrepareForTransfer(); // update unit info + aStepModel->SetLocalLengthUnit(UnitsMethods::GetCasCadeLengthUnit()); + } Interface_EntityIterator anEntIt = aStepModel->Header(); for ( anEntIt.Start(); anEntIt.More(); anEntIt.Next() ) { DeclareAndCast( HeaderSection_FileName, aFileNameEntity, anEntIt.Value() ); @@ -1614,7 +1619,6 @@ Handle(Transfer_Binder) STEPControl_ActorRead::TransferShape( const Message_ProgressRange& theProgress) { if (start.IsNull()) return NullResult(); - XSAlgo::AlgoContainer()->PrepareForTransfer(); Message_Messenger::StreamBuffer sout = TP->Messenger()->SendInfo(); #ifdef TRANSLOG