mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-09 18:50:54 +03:00
0027169: Suspitious behavior of importing names during STEP import
In order to avoid using empty strings in the names of the assemblies in the XCAF document after reading step file for cases when description or name is defined by only 1 space character method TCollection_AsciiString::Length() was replaced on the method TCollection_AsciiString::UsefullLength(). Test case for issue CR27169 Eliminating warning
This commit is contained in:
parent
3d370858dd
commit
0911d065ff
@ -1164,8 +1164,8 @@ Standard_Boolean STEPCAFControl_Reader::ReadNames (const Handle(XSControl_WorkSe
|
||||
Handle(StepBasic_ProductDefinitionRelationship) PDR = PDS->Definition().ProductDefinitionRelationship();
|
||||
if ( PDR.IsNull() ) continue;
|
||||
if ( PDR->HasDescription() &&
|
||||
PDR->Description()->Length() >0 ) name = PDR->Description();
|
||||
else if ( !PDR->Name().IsNull() && PDR->Name()->Length() >0 ) name = PDR->Name();
|
||||
PDR->Description()->UsefullLength() >0 ) name = PDR->Description();
|
||||
else if ( !PDR->Name().IsNull() && PDR->Name()->UsefullLength() >0 ) name = PDR->Name();
|
||||
else if ( !PDR->Id().IsNull()) name = PDR->Id();
|
||||
else name = new TCollection_HAsciiString;
|
||||
}
|
||||
@ -2861,8 +2861,9 @@ static TDF_Label createGDTObjectInXCAF(const Handle(Standard_Transient)& theEnt,
|
||||
else
|
||||
{
|
||||
if(aGISU.IsNull()) continue;
|
||||
for (Standard_Integer i = 1; i <= aGISU->NbIdentifiedItem(); i++) {
|
||||
aSeqRI.Append(aGISU->IdentifiedItemValue(i));
|
||||
Standard_Integer j =1;
|
||||
for ( ; j <= aGISU->NbIdentifiedItem(); j++) {
|
||||
aSeqRI.Append(aGISU->IdentifiedItemValue(j));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
47
tests/bugs/xde/bug27169
Normal file
47
tests/bugs/xde/bug27169
Normal file
@ -0,0 +1,47 @@
|
||||
puts "=========="
|
||||
puts "OCC27169"
|
||||
puts "=========="
|
||||
puts ""
|
||||
########################################################################
|
||||
# Suspitious behavior of importing names during STEP import
|
||||
########################################################################
|
||||
|
||||
pload DCAF
|
||||
|
||||
ReadStep D [locate_data_file bug27169_robot01.step]
|
||||
|
||||
set label_1 0:1:1:1:1
|
||||
set label_2 0:1:1:1:2
|
||||
set label_3 0:1:1:1:3
|
||||
set label_4 0:1:1:1:4
|
||||
|
||||
set Name_1 [GetName D ${label_1}]
|
||||
set Name_2 [GetName D ${label_2}]
|
||||
set Name_3 [GetName D ${label_3}]
|
||||
set Name_4 [GetName D ${label_4}]
|
||||
|
||||
puts "Name_1='${Name_1}'"
|
||||
puts "Name_2='${Name_2}'"
|
||||
puts "Name_3='${Name_3}'"
|
||||
puts "Name_4='${Name_4}'"
|
||||
|
||||
if (![regexp {NAUO1} ${Name_1}]) {
|
||||
puts "Error: Name of entitie ${label_1} is bad"
|
||||
} else {
|
||||
puts "OK: Name of entitie ${label_1} is good"
|
||||
}
|
||||
if (![regexp {NAUO2} ${Name_2}]) {
|
||||
puts "Error: Name of entitie ${label_2} is bad"
|
||||
} else {
|
||||
puts "OK: Name of entitie ${label_2} is good"
|
||||
}
|
||||
if (![regexp {NAUO3} ${Name_3}]) {
|
||||
puts "Error: Name of entitie ${label_3} is bad"
|
||||
} else {
|
||||
puts "OK: Name of entitie ${label_3} is good"
|
||||
}
|
||||
if (![regexp {NAUO4} ${Name_4}]) {
|
||||
puts "Error: Name of entitie ${label_4} is bad"
|
||||
} else {
|
||||
puts "OK: Name of entitie ${label_4} is good"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user