Handle(StepDimTol_HArray1OfGeometricToleranceModifier) aModifiers;
Standard_Integer sub = 0;
if ( data->ReadSubList (num, 1, "modifiers", ach, sub) ) {
- Standard_Integer nb0 = data->NbParams(sub5);
+ Standard_Integer nb0 = data->NbParams(sub);
aModifiers = new StepDimTol_HArray1OfGeometricToleranceModifier (1, nb0);
Standard_Integer num2 = sub;
for ( Standard_Integer i0=1; i0 <= nb0; i0++ ) {
Handle(StepDimTol_HArray1OfGeometricToleranceModifier) aModifiers;
Standard_Integer sub = 0;
if ( data->ReadSubList (num, 1, "modifiers", ach, sub) ) {
- Standard_Integer nb0 = data->NbParams(sub5);
+ Standard_Integer nb0 = data->NbParams(sub);
aModifiers = new StepDimTol_HArray1OfGeometricToleranceModifier (1, nb0);
Standard_Integer num2 = sub;
for ( Standard_Integer i0=1; i0 <= nb0; i0++ ) {
Standard_Integer aModifNb = aModifiers.Length();
if (anObject->GetMaterialRequirementModifier() != XCAFDimTolObjects_GeomToleranceMatReqModif_None)
aModifNb++;
- for (Standard_Integer i = 1; i < aModifiers.Length(); i++)
+ for (Standard_Integer i = 1; i <= aModifiers.Length(); i++)
if (aModifiers.Value(i) == XCAFDimTolObjects_GeomToleranceModif_All_Around ||
aModifiers.Value(i) == XCAFDimTolObjects_GeomToleranceModif_All_Over)
aModifNb--;
Handle(XCAFDimTolObjects_GeomToleranceObject) anObject = aGTAttr->GetObject();
if (anObject.IsNull())
continue;
- if (anObject->GetModifiers().Length() > 0 ||
- anObject->GetMaterialRequirementModifier() != XCAFDimTolObjects_GeomToleranceMatReqModif_None) {
+ if (anObject->GetMaterialRequirementModifier() != XCAFDimTolObjects_GeomToleranceMatReqModif_None) {
nbWithModif++;
}
+ else if (anObject->GetModifiers().Length() > 0) {
+ Standard_Boolean isHasModif = Standard_False;
+ for (Standard_Integer i = 1; i <= anObject->GetModifiers().Length(); i++)
+ if (anObject->GetModifiers().Value(i) != XCAFDimTolObjects_GeomToleranceModif_All_Around &&
+ anObject->GetModifiers().Value(i) != XCAFDimTolObjects_GeomToleranceModif_All_Over) {
+ isHasModif = Standard_True;
+ break;
+ }
+ if (isHasModif)
+ nbWithModif++;
+ }
if (anObject->GetMaxValueModifier() != 0) {
nbWithMaxTol++;
}
NbOfWithPath : 0
NbOfCommonLabels : 0
NbOfTolerances : 6
- NbOfGTWithModifiers : 1
+ NbOfGTWithModifiers : 0
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 5
NbOfDatumFeature : 3
NbOfWithPath : 0
NbOfCommonLabels : 0
NbOfTolerances : 33
- NbOfGTWithModifiers : 23
+ NbOfGTWithModifiers : 17
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 30
NbOfDatumFeature : 10
NbOfWithPath : 0
NbOfCommonLabels : 0
NbOfTolerances : 33
- NbOfGTWithModifiers : 23
+ NbOfGTWithModifiers : 17
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 30
NbOfDatumFeature : 10
NbOfWithPath : 0
NbOfCommonLabels : 0
NbOfTolerances : 31
- NbOfGTWithModifiers : 8
+ NbOfGTWithModifiers : 6
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 30
NbOfDatumFeature : 6
NbOfWithPath : 0
NbOfCommonLabels : 0
NbOfTolerances : 31
- NbOfGTWithModifiers : 8
+ NbOfGTWithModifiers : 6
NbOfGTWithMaxTolerance : 0
NbOfGTWithDatums : 30
NbOfDatumFeature : 6