1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-05 18:16:23 +03:00
occt/tests/bugs/fclasses/bug23192_1
akz b9c1e44004 0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode.
StlTransfer.cxx, function StlTransfer::BuildIncrementalMesh(...) fills the StlMesh_Mesh. Before this fix the StlTransfer always force meshing of the passed shape.

Now meshing is completely removed from the StlTransfer. StlWriter can return error status now, for example, if a mesh of the passed shape is empty. In this case file will be not created.

Added test case bugs/xde/bug25357

Avoid the warning on gcc compiler.
Test scripts were modified according to the fix.
     1) bug23192, bug22670, bug23193: removed "isParallel" flag from the command
         arguments. Manually meshing of the shape (as far as meshing was removed
         from STL writer).
     2) bug22898: before the fix writestl always remeshes the shape with a
         deflection, related to the boundery box of the shape. For "hammer" shape
         there is a 38.9076 deflection for mesh. Differences between before writing
         and after reading are dedicated to fact that stl writes triangulation as
         an elements of the spahe (like faces, edges etc.)
2015-02-05 14:40:24 +03:00

58 lines
1.1 KiB
Plaintext
Executable File

puts "================"
puts "OCC23192"
puts "================"
puts ""
#######################################################################################
# Regression in writestl command
#######################################################################################
catch { pload XDE }
set BugNumber OCC23192
set aFile $imagedir/${test_image}.stl
file delete ${aFile}
set anASCIImode 1
box res 10 10 10
incmesh res 0.1
writestl res ${aFile} ${anASCIImode}
catch {exec chmod 777 ${aFile}}
if { [file exists ${aFile}] } {
readstl result ${aFile}
set nb_v_good 8
set nb_e_good 18
set nb_w_good 12
set nb_f_good 12
set nb_sh_good 1
set nb_sol_good 0
set nb_compsol_good 0
set nb_compound_good 0
set nb_shape_good 51
# Check file size
set size_status 0
set filesize [ file size ${aFile} ]
if { ${filesize} != 0 } {
set size_status 0
} else {
set size_status 1
}
if { ${size_status} == 0 } {
puts "OK ${BugNumber}"
} else {
puts "Faulty ${BugNumber}"
}
} else {
puts "Faulty ${BugNumber}"
}
set square 600
set 3dviewer 0