1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

Compare commits

..

1 Commits

Author SHA1 Message Date
atereshi
41ab234207 0027122: Data Exchange - invalid shapes are produced during model translation due to huge face tolerance
Problem: The shape has two faces that dimensions are less than tolerance in the specified STEP file. This situation produces the invalid shape.
Change: Shape process has operator FixFaceSize, that is exactly suitable for this shape. The only option of FixFaceSize operator was added to InterfaceStatic, to manage the operator from DRAW command.
Result: The shape without artifacts can be reproduced from STEP file with an extra healing procedure.
2022-11-07 13:02:07 +03:00
3 changed files with 29 additions and 1 deletions

View File

@@ -239,6 +239,7 @@ STEPControl_Controller::STEPControl_Controller ()
Interface_Static::Init ("XSTEP", "FromSTEP.FixShape.FixNonAdjacentIntersectingEdgesMode", 't', "-1");
Interface_Static::Init ("XSTEP", "FromSTEP.FixShape.FixVertexPositionMode", 't', "0");
Interface_Static::Init ("XSTEP", "FromSTEP.FixShape.FixVertexToleranceMode", 't', "-1");
Interface_Static::Init ("XSTEP", "FromSTEP.FixFaceSize.Tolerance", 't', "1.e-7");
// ika 28.07.16: Parameter to read all top level solids and shells,
// should be used only in case of invalid shape_representation without links to shapes.

27
tests/bugs/step/bug27122 Normal file
View File

@@ -0,0 +1,27 @@
puts "================"
puts "OCC27122"
puts "================"
puts ""
#####################################################################
# STEP import regression: invalid shapes are produced during model translation due to huge face tolerance
#####################################################################
pload XDE
# Empty resource file name to take params from InterfaceStatic
param "read.step.resource.name" "\"\""
# Add FixFaceSize operator
param "FromSTEP.exec.op" FixShape,FixFaceSize
# Set a tolerance exceeding the size of the problem face to FixFaceSize operator
param "FromSTEP.FixFaceSize.Tolerance" 0.0508
stepread [locate_data_file bug27122_280696.stp] a *
# restore old params
param "read.step.resource.name" STEP
param "FromSTEP.exec.op" FixShape
param "FromSTEP.FixFaceSize.Tolerance" 1.e-7
checknbshapes a_1 -t -face 10
checkview -display a_1 -3d -path ${imagedir}/${test_image}.png

View File

@@ -1,5 +1,5 @@
@echo off
rem test1
rem Helper script to run procedure of automatic upgrade of application code
rem on newer version of OCCT on Windows.
rem Running it requires that Tcl should be in the PATH