// fix natural bounds
Standard_Boolean NeedSplit = Standard_True;
- if ( NeedFix ( myFixAddNaturalBoundMode ) ) {
- if ( FixAddNaturalBound() ) {
- NeedSplit = Standard_False;
- myStatus |= ShapeExtend::EncodeStatus ( ShapeExtend_DONE5 );
- }
+ if (FixAddNaturalBound())
+ {
+ NeedSplit = Standard_False;
+ myStatus |= ShapeExtend::EncodeStatus ( ShapeExtend_DONE5 );
}
// split face
return Standard_True;
}
- // check if surface is double-closed and fix is needed
- if ( !IsSurfaceUVPeriodic (mySurf->Adaptor3d()) || ShapeAnalysis::IsOuterBound (myFace) )
+ // check if surface doesn't need natural bounds
+ if (!isNeedAddNaturalBound(ws))
+ {
return Standard_False;
+ }
// Collect information on free intervals in U and V
TColgp_SequenceOfPnt2d intU, intV, centers;
return FixOrientation(MapWires);
}
+//=======================================================================
+// function : isNeedAddNaturalBound
+// purpose :
+//=======================================================================
+Standard_Boolean ShapeFix_Face::isNeedAddNaturalBound(const TopTools_SequenceOfShape& theOrientedWires)
+{
+ // if fix is not needed
+ if (!NeedFix (myFixAddNaturalBoundMode))
+ {
+ return Standard_False;
+ }
+ // if surface is not double-closed
+ if (!IsSurfaceUVPeriodic (mySurf->Adaptor3d()))
+ {
+ return Standard_False;
+ }
+ // if face has an OUTER bound
+ if (ShapeAnalysis::IsOuterBound (myFace))
+ {
+ return Standard_False;
+ }
+ // check that not any wire has a seam edge and not any edge is degenerated.
+ // because the presence of a seam or degenerated edge indicates that this wire should be an external one,
+ // and in case of its incorrect orientation, this will be corrected.
+ Standard_Integer aNbOriented = theOrientedWires.Length();
+ for (Standard_Integer i = 1; i <= aNbOriented; i++)
+ {
+ TopoDS_Wire aWire = TopoDS::Wire(theOrientedWires.Value(i));
+ for (TopoDS_Iterator anEdgeIt(aWire); anEdgeIt.More(); anEdgeIt.Next())
+ {
+ TopoDS_Edge anEdge = TopoDS::Edge(anEdgeIt.Value());
+ if (BRep_Tool::Degenerated(anEdge))
+ {
+ return Standard_False;
+ }
+ if (BRep_Tool::IsClosed(anEdge, myFace))
+ {
+ return Standard_False;
+ }
+ }
+ }
+
+ return Standard_True;
+}
//=======================================================================
//function : FixOrientation
// if no wires, just do nothing
if ( nb <= 0) return Standard_False;
- Standard_Integer nbInternal=0;
- Standard_Boolean isAddNaturalBounds = (NeedFix (myFixAddNaturalBoundMode) && IsSurfaceUVPeriodic(mySurf->Adaptor3d()));
+ Standard_Boolean isAddNaturalBounds = isNeedAddNaturalBound(ws);
TColStd_SequenceOfInteger aSeqReversed;
// if wire is only one, check its orientation
if ( nb == 1 ) {
af.Orientation ( TopAbs_FORWARD );
B.Add (af,ws.Value(1));
- if ((myFixAddNaturalBoundMode != 1 ||
- !IsSurfaceUVPeriodic(mySurf->Adaptor3d())) &&
- !ShapeAnalysis::IsOuterBound(af))
+ if (!isAddNaturalBounds && !ShapeAnalysis::IsOuterBound(af))
{
Handle(ShapeExtend_WireData) sbdw =
new ShapeExtend_WireData(TopoDS::Wire(ws.Value(1)));
if(!(stb==ste)) {
sta = TopAbs_UNKNOWN;
SI.Bind(aw,0);
- j=nb;
+ j=nbAll;
break;
}
}
}
- //done = (done && (nb ==1 || (isAddNaturalBounds || (!isAddNaturalBounds && nbInternal <nb))));
if(isAddNaturalBounds && nb == aSeqReversed.Length())
done = Standard_False;
- else
- done = (done && (nb ==1 || (isAddNaturalBounds || (!isAddNaturalBounds && nbInternal <nb))));
+
// Faut-il reconstruire ? si myRebil est mis
if ( done ) {
TopoDS_Shape S = myFace.EmptyCopied();
private:
-
+ //! Returns True if the face needs to add natural bound and corresponded option of shape healing is ON
+ Standard_Boolean isNeedAddNaturalBound(const TopTools_SequenceOfShape& theOrientedWires);
+
Standard_EXPORT Standard_Boolean SplitEdge (const Handle(ShapeExtend_WireData)& sewd, const Standard_Integer num, const Standard_Real param, const TopoDS_Vertex& vert, const Standard_Real preci, ShapeFix_DataMapOfShapeBox2d& boxes);
Standard_EXPORT Standard_Boolean SplitEdge (const Handle(ShapeExtend_WireData)& sewd, const Standard_Integer num, const Standard_Real param1, const Standard_Real param2, const TopoDS_Vertex& vert, const Standard_Real preci, ShapeFix_DataMapOfShapeBox2d& boxes);
puts "Improvement. ${message}, ${value} seconds, is less than expected time - ${expected} seconds"
}
}
+
+# Reads resource file, returns options from file as key-value dict
+proc parse_resource_file {theFileName} {
+ # Creating empty dictionary
+ set aDict [dict create];
+ # Check for resource file
+ if { [info exists theFileName] == 0 } {
+ puts "Error: resource file \"${theFileName}\" isn't found"
+ return $aDict
+ }
+ # Open a resource file
+ set aFD [open "${theFileName}" "rb"]
+ set aLineNo 0
+ # Read line by line
+ while {[gets $aFD aLine] !=-1 } {
+ incr aLineNo
+ # Clear the line from comment
+ if {[regexp {(^[^!]+)} $aLine match aClearLine]} {
+ # remove spaces
+ set aClearLine [string trim $aClearLine]
+ if {[string length $aClearLine] != 0} {
+ if {[regexp {(\S+)\s*:\s*(\S*)} $aClearLine match aKey aValue]} {
+ dict set aDict $aKey $aValue
+ } else {
+ puts "Error: syntax error in resource file at line: ${aLineNo}"
+ }
+ }
+ }
+ }
+ close $aFD
+ return $aDict
+}
+
+# Creates new resource file with options as key-value dict
+proc create_resource_file {theFileName theOptions} {
+ # Open a resource file
+ set aFD [open "${theFileName}" "wb"]
+ set aLineNo 0
+ # Write line by line
+ dict for {aKey aValue} $theOptions {
+ puts $aFD "${aKey} : ${aValue}"
+ }
+ close $aFD
+}
pload XDE
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+if { [info exists imagedir] == 0 } {
+ set imagedir ../BugNumber
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+}
+# remember the path to the old resource file
+set old_resource_path $::env(CSF_STEPDefaults)
+# reading old resource file
+set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+# activation of ignoring the adding of natural bound
+dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+# path to new resource file
+set new_resource_path ${imagedir}
+# creating resource file
+create_resource_file "${new_resource_path}/STEP" $anOptions
+# changing the path to the resource file
+set ::env(CSF_STEPDefaults) ${new_resource_path}
+
stepread [locate_data_file bug30273.stp] res *
+
+# Restoring the path to the old resource file
+set ::env(CSF_STEPDefaults) ${old_resource_path}
+
checknbshapes res_1 -solid 176 -face 10463 -shape 72893
--- /dev/null
+puts "==================================================================="
+puts "0028414: Data Exchange - Step entity not correctly read"
+puts "==================================================================="
+puts ""
+
+pload VISUALIZATION
+
+stepread [locate_data_file bug28414_bug_toroidal_surface.stp] a *
+
+checkshape a_1 f
+
+checkprops a_1 -s 3593.35
+
+checkgravitycenter a_1 -s -30. 0. 137.993 0.001
+
+vinit
+vdisplay a_1
+vfit
+
+vdump $imagedir/${casename}.png
\ No newline at end of file
file mkdir ${imagedir}
}
}
-
-# Generating resource file where all shape healing is off
-set fdata {
-ToSTEP.exec.op : SplitCommonVertex,DirectFaces
-
-FromSTEP.exec.op : FixShape
-
-FromSTEP.FixShape.Tolerance3d : &Runtime.Tolerance
-FromSTEP.FixShape.MaxTolerance3d : &Runtime.MaxTolerance
-FromSTEP.FixShape.MinTolerance3d : 1.e-7
-FromSTEP.FixShape.FixFreeShellMode : 0
-FromSTEP.FixShape.FixFreeFaceMode : 0
-FromSTEP.FixShape.FixFreeWireMode : 0
-FromSTEP.FixShape.FixSameParameterMode : 0
-
-FromSTEP.FixShape.FixSolidMode : 0
-FromSTEP.FixShape.FixShellOrientationMode : 0
-FromSTEP.FixShape.CreateOpenSolidMode : 0
-
-FromSTEP.FixShape.FixShellMode : 0
-FromSTEP.FixShape.FixFaceOrientationMode : 0
-
-FromSTEP.FixShape.FixFaceMode : 0
-FromSTEP.FixShape.FixWireMode : 0
-FromSTEP.FixShape.FixOrientationMode : 0
-FromSTEP.FixShape.FixAddNaturalBoundMode : 0
-FromSTEP.FixShape.FixMissingSeamMode : 0
-FromSTEP.FixShape.FixSmallAreaWireMode : 0
-FromSTEP.FixShape.RemoveSmallAreaFaceMode : 0
-FromSTEP.FixShape.FixIntersectingWiresMode : 0
-FromSTEP.FixShape.FixLoopWiresMode : 0
-FromSTEP.FixShape.FixSplitFaceMode : 0
-FromSTEP.FixShape.AutoCorrectPrecisionMode : 0
-FromSTEP.FixShape.ModifyTopologyMode : 0
-FromSTEP.FixShape.ModifyGeometryMode : 0
-FromSTEP.FixShape.ClosedWireMode : 0
-FromSTEP.FixShape.PreferencePCurveMode : 0
-FromSTEP.FixShape.FixReorderMode : 0
-FromSTEP.FixShape.FixSmallMode : 0
-FromSTEP.FixShape.FixConnectedMode : 0
-FromSTEP.FixShape.FixEdgeCurvesMode : 0
-FromSTEP.FixShape.FixDegeneratedMode : 0
-FromSTEP.FixShape.FixLackingMode : 0
-FromSTEP.FixShape.FixSelfIntersectionMode : 0
-FromSTEP.FixShape.RemoveLoopMode : 0
-FromSTEP.FixShape.FixReversed2dMode : 0
-FromSTEP.FixShape.FixRemovePCurveMode : 0
-FromSTEP.FixShape.FixRemoveCurve3dMode : 0
-FromSTEP.FixShape.FixAddPCurveMode : 0
-FromSTEP.FixShape.FixAddCurve3dMode : 0
-FromSTEP.FixShape.FixSeamMode : 0
-FromSTEP.FixShape.FixShiftedMode : 0
-FromSTEP.FixShape.FixEdgeSameParameterMode : 0
-FromSTEP.FixShape.FixNotchedEdgesMode : 0
-FromSTEP.FixShape.FixTailMode : 0
-FromSTEP.FixShape.MaxTailAngle : 0
-FromSTEP.FixShape.MaxTailWidth : 0
-FromSTEP.FixShape.FixSelfIntersectingEdgeMode : 0
-FromSTEP.FixShape.FixIntersectingEdgesMode : 0
-FromSTEP.FixShape.FixNonAdjacentIntersectingEdgesMode : 0
-
-FromSTEP.FixShape.FixVertexPositionMode : 0
-FromSTEP.FixShape.FixVertexToleranceMode : 0
-}
-
-set new_resource_path ${imagedir}
-set resource_file STEP
-set fo [open "${new_resource_path}/${resource_file}" "wb"]
-puts -nonewline $fo $fdata
-close $fo
-
-# Changing the path to the resource file
+# remember the path to the old resource file
set old_resource_path $::env(CSF_STEPDefaults)
-set env(CSF_STEPDefaults) ${new_resource_path}
+# reading old resource file
+set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+# turn off shape healing
+dict set anOptions "FromSTEP.exec.op" ""
+# path to new resource file
+set new_resource_path ${imagedir}
+# creating resource file
+create_resource_file "${new_resource_path}/STEP" $anOptions
+# changing the path to the resource file
+set ::env(CSF_STEPDefaults) ${new_resource_path}
# Generating, writing and reading the torus
ptorus tor 20 5
checkview -screenshot -2d -path ${imagedir}/${test_image}.png
# Restoring the path to the old resource file
-set env(CSF_STEPDefaults) ${old_resource_path}
+set ::env(CSF_STEPDefaults) ${old_resource_path}
set BugNumber OCC6283
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+if { [info exists imagedir] == 0 } {
+ set imagedir ../BugNumber
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+}
+# remember the path to the old resource file
+set old_resource_path $::env(CSF_STEPDefaults)
+# reading old resource file
+set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+# activation of ignoring the adding of natural bound
+dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+# path to new resource file
+set new_resource_path ${imagedir}
+# creating resource file
+create_resource_file "${new_resource_path}/STEP" $anOptions
+# changing the path to the resource file
+set ::env(CSF_STEPDefaults) ${new_resource_path}
+
set list [stepread [locate_data_file wgehaeuse_surface.stp] a *]
if {[lsearch ${list} Error] > -1} {
- puts "${BugNumber} : Error during reading attached IGES file"
+ puts "${BugNumber} : Error during reading attached STEP file"
} else {
tpcompound comp
if [catch { set fixlist [fixshape result comp 1e-7] } res] {
- puts "${BugNumber}: Error during fixshape"
+ puts "${BugNumber}: Error during fixshape"
} else {
- set index [string first "Segments were disordered; fixed\n" ${fixlist}]
+ set index [string first "Segments were disordered; fixed\n" ${fixlist}]
if {$index != -1} {
- puts "Faulty ${BugNumber}"
+ puts "Faulty ${BugNumber}"
} else {
- puts "OK ${BugNumber}"
+ puts "OK ${BugNumber}"
}
- checkprops result -s 2.22665e+06
-checkshape result
- checkview -display result -2d -path ${imagedir}/${test_image}.png
+ checkprops result -s 2.22665e+06
+ checkshape result
+ checkview -display result -2d -path ${imagedir}/${test_image}.png
}
}
+# Restoring the path to the old resource file
+set ::env(CSF_STEPDefaults) ${old_resource_path}
+
# Open a transaction
NewCommand D
+
+# Reads resource file, returns options from file as key-value dict
+proc parse_resource_file {theFileName} {
+ # Creating empty dictionary
+ set aDict [dict create];
+ # Check for resource file
+ if { [info exists theFileName] == 0 } {
+ puts "Error: resource file \"${theFileName}\" isn't found"
+ return $aDict
+ }
+ # Open a resource file
+ set aFD [open "${theFileName}" "rb"]
+ set aLineNo 0
+ # Read line by line
+ while {[gets $aFD aLine] !=-1 } {
+ incr aLineNo
+ # Clear the line from comment
+ if {[regexp {(^[^!]+)} $aLine match aClearLine]} {
+ # remove spaces
+ set aClearLine [string trim $aClearLine]
+ if {[string length $aClearLine] != 0} {
+ if {[regexp {(\S+)\s*:\s*(\S*)} $aClearLine match aKey aValue]} {
+ dict set aDict $aKey $aValue
+ } else {
+ puts "Error: syntax error in resource file at line: ${aLineNo}"
+ }
+ }
+ }
+ }
+ close $aFD
+ return $aDict
+}
+
+# Creates new resource file with options as key-value dict
+proc create_resource_file {theFileName theOptions} {
+ # Open a resource file
+ set aFD [open "${theFileName}" "wb"]
+ set aLineNo 0
+ # Write line by line
+ dict for {aKey aValue} $theOptions {
+ puts $aFD "${aKey} : ${aValue}"
+ }
+ close $aFD
+}
set tmp [param read.step.product.mode OFF]
}
set path_file [locate_data_file $filename]
+
+ if { [info exists de_use_custom_scripts] } {
+ puts "Executing custom script for the test before reading data from file..."
+ set old_resource_path [de_before_script $filename]
+ }
+
if { [catch { $ReadCommand D_First $path_file } catch_result] } {
set err_msg "Error: First - file was not read - exception "
puts $err_msg
append todo_msg $todo_mask $err_msg $end_line
set mist 1
}
+
+ if { [info exists de_use_custom_scripts] } {
+ puts "Executing custom script for the test after reading data from file..."
+ de_after_script $old_resource_path
+ unset de_use_custom_scripts
+ }
} else {
set mist 1
LAYERS : Layers = ( )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_IGESDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/IGES"]
+ # activation of ignoring the adding of natural bound
+ dict set anOptions "FromIGES.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/IGES" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_IGESDefaults) ${new_resource_path}
+ puts "New path to IGES resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_IGESDefaults) ${old_resource_path}
+ puts "Restore path to IGES resource file: \"${old_resource_path}\""
+}
LAYERS : Layers = ( )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_IGESDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/IGES"]
+ # activation of ignoring the adding of natural bound
+ dict set anOptions "FromIGES.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/IGES" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_IGESDefaults) ${new_resource_path}
+ puts "New path to IGES resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_IGESDefaults) ${old_resource_path}
+ puts "Restore path to IGES resource file: \"${old_resource_path}\""
+}
LAYERS : Layers = ( )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_STEPDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+ # activation of ignoring the adding of natural bound
+ dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/STEP" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_STEPDefaults) ${new_resource_path}
+ puts "New path to STEP resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_STEPDefaults) ${old_resource_path}
+ puts "Restore path to STEP resource file: \"${old_resource_path}\""
+}
\ No newline at end of file
LAYERS : Layers = ( )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_STEPDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+ # activation of ignoring the adding of natural bound
+ dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/STEP" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_STEPDefaults) ${new_resource_path}
+ puts "New path to STEP resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_STEPDefaults) ${old_resource_path}
+ puts "Restore path to STEP resource file: \"${old_resource_path}\""
+}
\ No newline at end of file
LAYERS : Layers = ( 001 )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_STEPDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+ # activation of ignoring the adding of natural bound
+ dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/STEP" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_STEPDefaults) ${new_resource_path}
+ puts "New path to STEP resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_STEPDefaults) ${old_resource_path}
+ puts "Restore path to STEP resource file: \"${old_resource_path}\""
+}
# !!!! This file is generated automatically, do not edit manually! See end script
puts "TODO CR23096 ALL: Update of 3D-Parameters has failed"
-puts "TODO CR23096 ALL: CHECKSHAPE : Faulty"
+puts "TODO CR23096 ALL: CHECKSHAPE : Faulty"
+puts "TODO CR23096 ALL: NBSHAPES : Faulty"
+puts "TODO CR23096 ALL: STATSHAPE : Faulty"
set filename bm1_pe_t4.stp
DATA : Faulties = 0 ( 0 ) Warnings = 0 ( 0 ) Summary = 0 ( 0 )
TPSTAT : Faulties = 0 ( 3 ) Warnings = 13 ( 30 ) Summary = 13 ( 33 )
CHECKSHAPE : Wires = 3 ( 2 ) Faces = 3 ( 3 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
-NBSHAPES : Solid = 0 ( 0 ) Shell = 12 ( 12 ) Face = 15 ( 15 )
-STATSHAPE : Solid = 0 ( 0 ) Shell = 12 ( 12 ) Face = 15 ( 15 ) FreeWire = 0 ( 0 )
+NBSHAPES : Solid = 0 ( 0 ) Shell = 13 ( 12 ) Face = 16 ( 15 )
+STATSHAPE : Solid = 0 ( 0 ) Shell = 13 ( 12 ) Face = 16 ( 15 ) FreeWire = 0 ( 0 )
TOLERANCE : MaxTol = 1562.051497 ( 1562.051497 ) AvgTol = 272.6255712 ( 211.9512858 )
LABELS : N0Labels = 1 ( 1 ) N1Labels = 0 ( 0 ) N2Labels = 0 ( 0 ) TotalLabels = 1 ( 1 ) NameLabels = 1 ( 1 ) ColorLabels = 0 ( 0 ) LayerLabels = 0 ( 0 )
PROPS : Centroid = 0 ( 0 ) Volume = 0 ( 0 ) Area = 0 ( 0 )
LAYERS : Layers = ( )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_STEPDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+ # activation of ignoring the adding of natural bound
+ dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/STEP" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_STEPDefaults) ${new_resource_path}
+ puts "New path to STEP resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_STEPDefaults) ${old_resource_path}
+ puts "Restore path to STEP resource file: \"${old_resource_path}\""
+}
LAYERS : Layers = ( )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_STEPDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+ # activation of ignoring the adding of natural bound
+ dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/STEP" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_STEPDefaults) ${new_resource_path}
+ puts "New path to STEP resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_STEPDefaults) ${old_resource_path}
+ puts "Restore path to STEP resource file: \"${old_resource_path}\""
+}
+
LAYERS : Layers = ( )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_STEPDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+ # turn off the adding of natural bound
+ dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/STEP" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_STEPDefaults) ${new_resource_path}
+ puts "New path to STEP resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_STEPDefaults) ${old_resource_path}
+ puts "Restore path to STEP resource file: \"${old_resource_path}\""
+}
+
LAYERS : Layers = ( )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_STEPDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+ # activation of ignoring the adding of natural bound
+ dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/STEP" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_STEPDefaults) ${new_resource_path}
+ puts "New path to STEP resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_STEPDefaults) ${old_resource_path}
+ puts "Restore path to STEP resource file: \"${old_resource_path}\""
+}
+
LAYERS : Layers = ( )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_STEPDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+ # activation of ignoring the adding of natural bound
+ dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/STEP" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_STEPDefaults) ${new_resource_path}
+ puts "New path to STEP resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_STEPDefaults) ${old_resource_path}
+ puts "Restore path to STEP resource file: \"${old_resource_path}\""
+}
+
LAYERS : Layers = ( )
}
+
+# Due to the ambiguous interpretation of the "inner" wire on the surfaces
+# that have natural bound (is it the cutout in the whole surface, or it's just wrong wire orientation),
+# we must manually turn off the adding of the natural bound option of the shape healing for this test.
+
+set de_use_custom_scripts 1
+
+proc de_before_script {TheFileName} {
+ if { [info exists imagedir] == 0 } {
+ set imagedir ../[file rootname $TheFileName]
+ if {![file exists ${imagedir}]} {
+ file mkdir ${imagedir}
+ }
+ }
+ # remember the path to the old resource file
+ set old_resource_path $::env(CSF_STEPDefaults)
+ # reading old resource file
+ set anOptions [parse_resource_file "${old_resource_path}/STEP"]
+ # activation of ignoring the adding of natural bound
+ dict set anOptions "FromSTEP.FixShape.FixAddNaturalBoundMode" "0"
+ # path to new resource file
+ set new_resource_path ${imagedir}
+ # creating resource file
+ create_resource_file "${new_resource_path}/STEP" $anOptions
+ # changing the path to the resource file
+ set ::env(CSF_STEPDefaults) ${new_resource_path}
+ puts "New path to STEP resource file is: \"${new_resource_path}\""
+
+ return ${old_resource_path}
+}
+
+proc de_after_script {old_resource_path} {
+ # Restoring the path to the old resource file
+ set ::env(CSF_STEPDefaults) ${old_resource_path}
+ puts "Restore path to STEP resource file: \"${old_resource_path}\""
+}
+