return 0;
}
-#if ! defined(WNT)
//#include <fstream.h>
#ifdef HAVE_FSTREAM
# include <fstream>
DBRep::Set (argv[1],Face);
return 0;
}
-#endif
static Standard_Integer TestMem (Draw_Interpretor& /*di*/,
Standard_Integer /*nb*/,
theCommands.Add("BUC60856","BUC60856",__FILE__,BUC60856,group);
-#if ! defined(WNT)
theCommands.Add("coordload","load coord from file",__FILE__,coordload);
-#endif
theCommands.Add("TestMem","TestMem",__FILE__,TestMem,group);
theCommands.Add("BUC60945","BUC60945",__FILE__,TestMem,group);
--- /dev/null
+puts "================"
+puts "OCC1029"
+puts "================"
+puts ""
+#
+# Note: Numerical control of setting transparency
+#
+
+pload QAcommands
+
+NewDocument D MDTV-Standard
+UndoLimit D 100
+NewCommand D
+
+# Create two boxis
+box aBox1 100 200 300
+set aLabel1 0:2
+SetShape D ${aLabel1} aBox1
+
+box aBox2 50 50 0 100 200 300
+set aLabel2 0:3
+SetShape D ${aLabel2} aBox2
+
+# Initialize 3D viewer
+AISInitViewer D
+
+# Add AISPresentation attribute with parameter NS
+AISSet D ${aLabel1} NS
+AISSet D ${aLabel2} NS
+
+# Set shading mode
+vsetdispmode 1
+
+# Set a color of the second shape as NOC_GREEN
+AISColor D ${aLabel2} 229
+
+# Display presentation of NamedShape in the viewer
+AISDisplay D ${aLabel1}
+AISDisplay D ${aLabel2}
+
+# Close/Open transaction
+NewCommand D
+
+# Set a transparency of the second shape
+set SetTransparency 0.9
+OCC1029_AISTransparency D ${aLabel2} ${SetTransparency}
+
+set list [OCC1029_AISTransparency D ${aLabel2}]
+set Transparency1 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Close/Open transaction
+NewCommand D
+
+# Undo
+Undo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1029_AISTransparency D ${aLabel2}]
+set Transparency2 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Redo
+Redo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1029_AISTransparency D ${aLabel2}]
+set Transparency3 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Check the transparency
+puts "Transparency1 = ${Transparency1}"
+puts "Transparency2 = ${Transparency2}"
+puts "Transparency3 = ${Transparency3}"
+
+set status 0
+if { ${Transparency1} != ${SetTransparency} } {
+ puts "OCC1029_Transparency command: Error (case 1)"
+ set status 1
+}
+
+if { ${Transparency2} != 0. } {
+ puts "OCC1029_Transparency command: Error (case 2)"
+ set status 1
+}
+
+if { ${Transparency3} != ${SetTransparency} } {
+ puts "OCC1029_Transparency command: Error (case 3)"
+ set status 1
+}
+
+if { ${status} == 0} {
+ puts "OCC1029_Transparency command: OK"
+}
+
--- /dev/null
+puts "================"
+puts "OCC1030"
+puts "================"
+#
+# Note: Numerical control of setting color
+#
+
+pload QAcommands
+
+NewDocument D MDTV-Standard
+UndoLimit D 100
+NewCommand D
+
+# Set NamedShape attribute
+box aBox1 100 200 300
+set aLabel 0:2
+SetShape D ${aLabel} aBox1
+
+# Initialize 3D viewer
+AISInitViewer D
+
+# Add AISPresentation attribute with parameter NS
+AISSet D ${aLabel} NS
+
+# Display presentation of NamedShape in the viewer
+AISDisplay D ${aLabel}
+
+# Close/Open transaction
+NewCommand D
+
+set list [OCC1030_AISColor D ${aLabel}]
+set AISColor1 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Set a color of the shape as NOC_GREEN
+set GreenColor 229
+AISColor D ${aLabel} ${GreenColor}
+
+set list [OCC1030_AISColor D ${aLabel}]
+set AISColor2 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Close/Open transaction
+NewCommand D
+
+# Undo
+Undo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1030_AISColor D ${aLabel}]
+set AISColor3 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Redo
+Redo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1030_AISColor D ${aLabel}]
+set AISColor4 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Check the color
+puts "AISColor1 = ${AISColor1}"
+puts "AISColor2 = ${AISColor2}"
+puts "AISColor3 = ${AISColor3}"
+puts "AISColor4 = ${AISColor4}"
+
+set DefaultAISColor 516
+set status 0
+if { ${AISColor1} != ${DefaultAISColor} } {
+ puts "OCC1030_AISColor command: Error (case 1)"
+ set status 1
+}
+
+if { ${AISColor2} != ${GreenColor} } {
+ puts "OCC1030_AISColor command: Error (case 2)"
+ set status 1
+}
+
+if { ${AISColor3} != ${DefaultAISColor} } {
+ puts "OCC1030_AISColor command: Error (case 3)"
+ set status 1
+}
+
+if { ${AISColor4} != ${GreenColor} } {
+ puts "OCC1030_AISColor command: Error (case 4)"
+ set status 1
+}
+
+if { ${status} == 0} {
+ puts "OCC1030_AISColor command: OK"
+}
+
+
--- /dev/null
+puts "================"
+puts "OCC1031"
+puts "================"
+puts ""
+#
+# Note: Numerical control of setting material
+#
+
+pload QAcommands
+
+NewDocument D MDTV-Standard
+UndoLimit D 100
+NewCommand D
+
+# Set NamedShape attribute
+box aBox1 100 200 300
+set aLabel 0:2
+SetShape D ${aLabel} aBox1
+
+# Initialize 3D viewer
+AISInitViewer D
+
+# Add AISPresentation attribute with parameter NS
+AISSet D ${aLabel} NS
+
+# Set shading mode
+vsetdispmode 1
+
+# Display presentation of NamedShape in the viewer
+AISDisplay D ${aLabel}
+
+# Close/Open transaction
+NewCommand D
+
+set list [OCC1031_AISMaterial D ${aLabel}]
+set AISMaterial1 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Set a material of the shape as NOM_JADE
+set JadeMaterial 18
+OCC1031_AISMaterial D ${aLabel} ${JadeMaterial}
+
+set list [OCC1031_AISMaterial D ${aLabel}]
+set AISMaterial2 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Close/Open transaction
+NewCommand D
+
+# Undo
+Undo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1031_AISMaterial D ${aLabel}]
+set AISMaterial3 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Redo
+Redo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1031_AISMaterial D ${aLabel}]
+set AISMaterial4 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Check the material
+puts "AISMaterial1 = ${AISMaterial1}"
+puts "AISMaterial2 = ${AISMaterial2}"
+puts "AISMaterial3 = ${AISMaterial3}"
+puts "AISMaterial4 = ${AISMaterial4}"
+
+set status 0
+if { ${AISMaterial1} != 0 } {
+ puts "OCC1031_AISMaterial command: Error (case 1)"
+ set status 1
+}
+
+if { ${AISMaterial2} != ${JadeMaterial} } {
+ puts "OCC1031_AISMaterial command: Error (case 2)"
+ set status 1
+}
+
+if { ${AISMaterial3} != 0 } {
+ puts "OCC1031_AISMaterial command: Error (case 3)"
+ set status 1
+}
+
+if { ${AISMaterial4} != ${JadeMaterial} } {
+ puts "OCC1031_AISMaterial command: Error (case 4)"
+ set status 1
+}
+
+if { ${status} == 0} {
+ puts "OCC1031_AISMaterial command: OK"
+}
+
--- /dev/null
+puts "================"
+puts "OCC1032"
+puts "================"
+puts ""
+#
+# Note: Numerical control of setting width
+#
+
+pload QAcommands
+
+NewDocument D MDTV-Standard
+UndoLimit D 100
+NewCommand D
+
+# Set NamedShape attribute
+box aBox1 100 200 300
+set aLabel1 0:2
+SetShape D ${aLabel1} aBox1
+
+# Initialize 3D viewer
+AISInitViewer D
+
+# Add AISPresentation attribute with parameter NS
+AISSet D ${aLabel1} NS
+
+# Close/Open transaction
+NewCommand D
+
+set list [OCC1032_AISWidth D ${aLabel1}]
+set AISWidth1 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Display presentation of NamedShape in the viewer
+AISDisplay D ${aLabel1}
+
+# Close/Open transaction
+NewCommand D
+
+# Set a width
+set SetWidth 4.5
+OCC1032_AISWidth D ${aLabel1} ${SetWidth}
+
+set list [OCC1032_AISWidth D ${aLabel1}]
+set AISWidth2 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Close/Open transaction
+NewCommand D
+
+# Undo
+Undo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1032_AISWidth D ${aLabel1}]
+set AISWidth3 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Redo
+Redo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1032_AISWidth D ${aLabel1}]
+set AISWidth4 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Check the mode
+puts "AISWidth1 = ${AISWidth1}"
+puts "AISWidth2 = ${AISWidth2}"
+puts "AISWidth3 = ${AISWidth3}"
+puts "AISWidth4 = ${AISWidth4}"
+
+set DefaultAISWidth 0
+set status 0
+if { ${AISWidth1} != ${DefaultAISWidth} } {
+ puts "OCC1032_AISWidth command: Error (case 1)"
+ set status 1
+}
+if { ${AISWidth2} != ${SetWidth} } {
+ puts "OCC1032_AISWidth command: Error (case 2)"
+ set status 1
+}
+if { ${AISWidth3} != ${DefaultAISWidth} } {
+ puts "OCC1032_AISWidth command: Error (case 3)"
+ set status 1
+}
+if { ${AISWidth4} != ${SetWidth} } {
+ puts "OCC1032_AISWidth command: Error (case 4)"
+ set status 1
+}
+
+if { ${status} == 0} {
+ puts "OCC1032_AISWidth command: OK"
+}
+
--- /dev/null
+puts "================"
+puts "OCC1033"
+puts "================"
+puts ""
+#
+# Note: Numerical control of setting mode
+#
+
+pload QAcommands
+
+NewDocument D MDTV-Standard
+UndoLimit D 100
+NewCommand D
+
+# Set NamedShape attribute
+box aBox1 100 200 300
+set aLabel1 0:2
+SetShape D ${aLabel1} aBox1
+
+# Initialize 3D viewer
+AISInitViewer D
+
+# Add AISPresentation attribute with parameter NS
+AISSet D ${aLabel1} NS
+
+# Close/Open transaction
+NewCommand D
+
+set list [OCC1033_AISMode D ${aLabel1}]
+set AISMode1 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Display presentation of NamedShape in the viewer
+AISDisplay D ${aLabel1}
+
+# Close/Open transaction
+NewCommand D
+
+# Set a mode
+set SetMode 2
+OCC1033_AISMode D ${aLabel1} ${SetMode}
+
+set list [OCC1033_AISMode D ${aLabel1}]
+set AISMode2 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Close/Open transaction
+NewCommand D
+
+# Undo
+Undo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1033_AISMode D ${aLabel1}]
+set AISMode3 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Redo
+Redo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1033_AISMode D ${aLabel1}]
+set AISMode4 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Check the mode
+puts "AISMode1 = ${AISMode1}"
+puts "AISMode2 = ${AISMode2}"
+puts "AISMode3 = ${AISMode3}"
+puts "AISMode4 = ${AISMode4}"
+
+set DefaultAISMode 0
+set status 0
+if { ${AISMode1} != ${DefaultAISMode} } {
+ puts "OCC1033_AISMode command: Error (case 1)"
+ set status 1
+}
+if { ${AISMode2} != ${SetMode} } {
+ puts "OCC1033_AISMode command: Error (case 2)"
+ set status 1
+}
+if { ${AISMode3} != ${DefaultAISMode} } {
+ puts "OCC1033_AISMode command: Error (case 3)"
+ set status 1
+}
+if { ${AISMode4} != ${SetMode} } {
+ puts "OCC1033_AISMode command: Error (case 4)"
+ set status 1
+}
+
+if { ${status} == 0} {
+ puts "OCC1033_AISMode command: OK"
+}
+
--- /dev/null
+puts "================"
+puts "OCC1034"
+puts "================"
+puts ""
+#
+# Note: Numerical control of setting selection mode
+#
+
+pload QAcommands
+
+NewDocument D MDTV-Standard
+UndoLimit D 100
+NewCommand D
+
+# Set NamedShape attribute
+box aBox1 100 200 300
+set aLabel1 0:2
+SetShape D ${aLabel1} aBox1
+
+# Initialize 3D viewer
+AISInitViewer D
+
+# Add AISPresentation attribute with parameter NS
+AISSet D ${aLabel1} NS
+
+# Close/Open transaction
+NewCommand D
+
+set list [OCC1034_AISSelectionMode D ${aLabel1}]
+set AISSelectionMode1 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Display presentation of NamedShape in the viewer
+AISDisplay D ${aLabel1}
+
+# Close/Open transaction
+NewCommand D
+
+# Set a mode
+set SetSelectionMode 2
+OCC1034_AISSelectionMode D ${aLabel1} ${SetSelectionMode}
+
+set list [OCC1034_AISSelectionMode D ${aLabel1}]
+set AISSelectionMode2 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Close/Open transaction
+NewCommand D
+
+# Undo
+Undo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1034_AISSelectionMode D ${aLabel1}]
+set AISSelectionMode3 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Redo
+Redo D
+
+# Update the viewer
+AISRepaint D
+
+set list [OCC1034_AISSelectionMode D ${aLabel1}]
+set AISSelectionMode4 [lindex ${list} [expr [llength ${list}] - 1] ]
+
+# Check the mode
+puts "AISSelectionMode1 = ${AISSelectionMode1}"
+puts "AISSelectionMode2 = ${AISSelectionMode2}"
+puts "AISSelectionMode3 = ${AISSelectionMode3}"
+puts "AISSelectionMode4 = ${AISSelectionMode4}"
+
+set DefaultAISSelectionMode 0
+set status 0
+if { ${AISSelectionMode1} != ${DefaultAISSelectionMode} } {
+ puts "OCC1034_AISSelectionMode command: Error (case 1)"
+ set status 1
+}
+if { ${AISSelectionMode2} != ${SetSelectionMode} } {
+ puts "OCC1034_AISSelectionMode command: Error (case 2)"
+ set status 1
+}
+if { ${AISSelectionMode3} != ${DefaultAISSelectionMode} } {
+ puts "OCC1034_AISSelectionMode command: Error (case 3)"
+ set status 1
+}
+if { ${AISSelectionMode4} != ${SetSelectionMode} } {
+ puts "OCC1034_AISSelectionMode command: Error (case 4)"
+ set status 1
+}
+
+if { ${status} == 0} {
+ puts "OCC1034_AISSelectionMode command: OK"
+}
+
--- /dev/null
+puts "TODO OCC12345 ALL: OCC170 Error"
+
+puts "========================"
+puts "OCC170"
+puts "(case 3)"
+puts "========================"
+
+set docName OCC170
+set newDocName OCC170_2
+set str1 "~!@#$%^&*():;'{}\|?/.>,<~!@#$%^&*():;'{}\|?/.>,<#$%#$%$%^&*():;'{}\|$%^&*(@#$%^&*():;'{}\|¦/"
+
+NewDocument $docName XmlOcaf
+Label $docName 0:2
+SetComment $docName 0:2 $str1
+
+file delete ${imagedir}/${docName}.xml
+
+if [ catch {SaveAs $docName ${imagedir}/${docName}.xml} ] {
+ puts "Error : (SaveAs)"
+} else {
+ puts "OK : (SaveAs)"
+}
+
+exec cp ${imagedir}/${docName}.xml ${imagedir}/${newDocName}.xml
+
+Open ${imagedir}/${newDocName}.xml $newDocName
+
+# Retrieve string from document and compare it with initial value
+set str2 [GetComment $newDocName 0:2]
+if {$str1 == $str2} {puts "OCC170 OK"} else {
+ puts "str1=${str1}"
+ puts "str2=${str2}"
+ puts "OCC170 Error"
+}
+
--- /dev/null
+puts "================"
+puts "OCC5023"
+puts "================"
+puts ""
+######################################################
+# Performance regression in opening OCAF file
+######################################################
+
+set aFile [locate_data_file OCC5023.std]
+
+puts "Info: Restore the document"
+
+if [info exists DD] {
+ catch {Close DD}; unset DD
+}
+
+dchrono h reset
+dchrono h start
+
+Open ${aFile} DD
+dchrono h stop
+set list [dchrono h show]
+Close DD
+
+regexp {CPU user time: +([-0-9.+eE]+)} $list full CPU_user_time
+
+set Good_CPU_user_time 2.
+
+set CPU_user_time_percent [expr (${CPU_user_time} - ${Good_CPU_user_time}) / ${Good_CPU_user_time} * 100.]
+set percent_max 0.1
+
+puts "CPU_user_time = ${CPU_user_time}"
+puts "Good_CPU_user_time = ${Good_CPU_user_time}"
+puts "CPU_user_time_percent = ${CPU_user_time_percent}"
+
+if {${CPU_user_time_percent} > ${percent_max}} {
+ puts "Faulty OCC5023 : CPU user time is wrong"
+}
+
--- /dev/null
+puts "All exceptions is OK"
+puts "TODO OCC12345 ALL: An exception was caught"
+puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+
+puts "========"
+puts "OCC669"
+puts "========"
+puts ""
+#########################################
+## Standard_GUID("HoleFeature") cause stack overwrite
+#########################################
+
+pload QAcommands
+
+set GoodGUIDList [list 00000000-0000-0000-0000-000000000000 \
+ \
+ 0000000A-0000-0000-0000-000000000000 \
+ 0000000B-0000-0000-0000-000000000000 \
+ 0000000C-0000-0000-0000-000000000000 \
+ 0000000D-0000-0000-0000-000000000000 \
+ 0000000E-0000-0000-0000-000000000000 \
+ 0000000F-0000-0000-0000-000000000000 \
+ \
+ 0000000a-0000-0000-0000-000000000000 \
+ 0000000b-0000-0000-0000-000000000000 \
+ 0000000c-0000-0000-0000-000000000000 \
+ 0000000d-0000-0000-0000-000000000000 \
+ 0000000e-0000-0000-0000-000000000000 \
+ 0000000f-0000-0000-0000-000000000000 \
+ \
+ 00000000-000A-0000-0000-000000000000 \
+ 00000000-000B-0000-0000-000000000000 \
+ 00000000-000C-0000-0000-000000000000 \
+ 00000000-000D-0000-0000-000000000000 \
+ 00000000-000E-0000-0000-000000000000 \
+ 00000000-000F-0000-0000-000000000000 \
+ \
+ 00000000-000a-0000-0000-000000000000 \
+ 00000000-000b-0000-0000-000000000000 \
+ 00000000-000c-0000-0000-000000000000 \
+ 00000000-000d-0000-0000-000000000000 \
+ 00000000-000e-0000-0000-000000000000 \
+ 00000000-000f-0000-0000-000000000000 \
+ \
+ 00000000-0000-000A-0000-000000000000 \
+ 00000000-0000-000B-0000-000000000000 \
+ 00000000-0000-000C-0000-000000000000 \
+ 00000000-0000-000D-0000-000000000000 \
+ 00000000-0000-000E-0000-000000000000 \
+ 00000000-0000-000F-0000-000000000000 \
+ \
+ 00000000-0000-000a-0000-000000000000 \
+ 00000000-0000-000b-0000-000000000000 \
+ 00000000-0000-000c-0000-000000000000 \
+ 00000000-0000-000d-0000-000000000000 \
+ 00000000-0000-000e-0000-000000000000 \
+ 00000000-0000-000f-0000-000000000000 \
+ \
+ 00000000-0000-0000-000A-000000000000 \
+ 00000000-0000-0000-000B-000000000000 \
+ 00000000-0000-0000-000C-000000000000 \
+ 00000000-0000-0000-000D-000000000000 \
+ 00000000-0000-0000-000E-000000000000 \
+ 00000000-0000-0000-000F-000000000000 \
+ \
+ 00000000-0000-0000-000a-000000000000 \
+ 00000000-0000-0000-000b-000000000000 \
+ 00000000-0000-0000-000c-000000000000 \
+ 00000000-0000-0000-000d-000000000000 \
+ 00000000-0000-0000-000e-000000000000 \
+ 00000000-0000-0000-000f-000000000000 \
+ \
+ 00000000-0000-0000-0000-00000000000A \
+ 00000000-0000-0000-0000-00000000000B \
+ 00000000-0000-0000-0000-00000000000C \
+ 00000000-0000-0000-0000-00000000000D \
+ 00000000-0000-0000-0000-00000000000E \
+ 00000000-0000-0000-0000-00000000000F \
+ \
+ 00000000-0000-0000-0000-00000000000a \
+ 00000000-0000-0000-0000-00000000000b \
+ 00000000-0000-0000-0000-00000000000c \
+ 00000000-0000-0000-0000-00000000000d \
+ 00000000-0000-0000-0000-00000000000e \
+ 00000000-0000-0000-0000-00000000000f ]
+
+set BadGUIDList [list \
+ \
+ 0000000G-0000-0000-0000-000000000000 \
+ 0000000g-0000-0000-0000-000000000000 \
+ \
+ 00000000-000G-0000-0000-000000000000 \
+ 00000000-000g-0000-0000-000000000000 \
+ \
+ 00000000-0000-000G-0000-000000000000 \
+ 00000000-0000-000g-0000-000000000000 \
+ \
+ 00000000-0000-0000-000G-000000000000 \
+ 00000000-0000-0000-000g-000000000000 \
+ \
+ 00000000-0000-0000-0000-00000000000G \
+ 00000000-0000-0000-0000-00000000000g \
+ \
+ 000000000000000000000000000000000000 \
+ 0000000000000000000000000000000000000 \
+ 00000000000000000000000000000000000 \
+ \
+ 0000000000000-0000-0000-000000000000 \
+ 00000000-000000000-0000-000000000000 \
+ 00000000-0000-000000000-000000000000 \
+ 00000000-0000-0000-00000000000000000 \
+ \
+ 000000000-0000-0000-0000-000000000000 \
+ 0000000-0000-0000-0000-000000000000 \
+ \
+ 00000000-00000-0000-0000-000000000000 \
+ 00000000-000-0000-0000-000000000000 \
+ \
+ 00000000-0000-00000-0000-000000000000 \
+ 00000000-0000-000-0000-000000000000 \
+ \
+ 00000000-0000-0000-00000-000000000000 \
+ 00000000-0000-0000-000-000000000000 \
+ \
+ 00000000-0000-0000-0000-0000000000000 \
+ 00000000-0000-0000-0000-00000000000 \
+ \
+ "" ]
+
+set IsOK 1
+
+set i 0
+
+foreach GUID ${GoodGUIDList} {
+ incr i
+ if [catch { OCC669 ${GUID} }] then {
+ set IsOK 0
+ puts "GUID=\"${GUID}\""
+ puts "Faulty OCC669 (case ${i})"
+ } else {
+ puts "OCC669 OK (case ${i})"
+ }
+}
+
+
+foreach GUID ${BadGUIDList} {
+ incr i
+ if [catch { OCC669 ${GUID} }] then {
+ puts "OCC669 OK (case ${i})"
+ } else {
+ set IsOK 0
+ puts "GUID=\"${GUID}\""
+ puts "Faulty OCC669 (case ${i})"
+ }
+}
+
+if { ${IsOK} == 1} {
+ puts "OCC669 OK"
+} else {
+ puts "Faulty OCC669"
+}
+
--- /dev/null
+puts "========"
+puts "OCC738"
+puts "========"
+puts ""
+###################################
+## The GUIDs in XCAFDoc have incorrect format.
+###################################
+
+pload QAcommands
+
+if [catch { OCC738_Assembly }] then {
+ puts "Faulty OCC738"
+} else {
+ puts "OCC738 OK"
+}
+
+
--- /dev/null
+puts "========"
+puts "OCC738"
+puts "========"
+puts ""
+##################################
+##The GUIDs in XCAFDoc have incorrect format.
+##################################
+
+pload QAcommands
+
+if [catch { OCC738_ShapeRef }] then {
+ puts "Faulty OCC738"
+} else {
+ puts "OCC738 OK"
+}
+
+
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty OCC739"
+
+puts "========"
+puts "OCC739"
+puts "========"
+puts ""
+###################################################
+## Invalid GUIDs in DDataStd_DrawPresentation and DDataStd_Sample.
+###################################################
+
+pload QAcommands
+
+if [catch { OCC739_DrawPresentation }] then {
+ puts "Faulty OCC739"
+} else {
+ puts "OCC739 OK"
+}
+
+
vdisplay result
vsetdispmode 1
vfit
+ vzfit
vdump $imagedir/${test_image}.png
}
}
--- /dev/null
+puts "============"
+puts "OCC11568"
+puts "============"
+puts ""
+#######################################################################
+# UnitsAPI package uses incorrect symbol for minutes: mn instead of min
+#######################################################################
+
+set BugNumber OCC11568
+
+set UnitString "mn"
+set result "Token word : min\n"
+
+if { [unitparsing ${UnitString}] == ${result} } {
+ puts "${BugNumber}: OK"
+} else {
+ puts "${BugNumber}: Faulty"
+}
+
--- /dev/null
+puts "============"
+puts "OCC11568"
+puts "============"
+puts ""
+#######################################################################
+# UnitsAPI package uses incorrect symbol for minutes: mn instead of min
+#######################################################################
+
+set BugNumber OCC11568
+
+set UnitString "mn"
+set result "result: 60\n"
+
+if { [unitconvtoSI 1 ${UnitString}] == ${result} } {
+ puts "${BugNumber}: OK"
+} else {
+ puts "${BugNumber}: Faulty"
+}
puts ""
restore [locate_data_file box__simplifiée.brep] result
-puts [checkshape result]
+checkshape result
set 2dviewer 0
--- /dev/null
+puts "TODO ?OCC12345 ALL: An exception was caught"
+puts "TODO ?OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+
+puts "========"
+puts "OCC670"
+puts "========"
+puts ""
+#########################
+## Problem with the Print method.
+#########################
+
+pload QAcommands
+
+catch { OCC670 }
+
+puts "OCC670 OK"
--- /dev/null
+puts "============"
+puts "OCC6794"
+puts "============"
+puts ""
+######################################################
+# AsciiString corrputs memory in case of MMGT_OPT equal to 0
+######################################################
+
+pload QAcommands
+set BugNumber OCC6794
+set nb 40009
+set env(MMGT_OPT) 0
+set OPT $env(MMGT_OPT)
+
+if { ${OPT} != 0 } {
+ puts "env(MMGT_OPT) = $env(MMGT_OPT)"
+ puts "Faulty ${BugNumber}"
+} else {
+ set result [OCC6794 ${nb}]
+ regexp {Use nb += +([-0-9.+eE]+)} $result full use_nb
+ regexp {aLength += +([-0-9.+eE]+)} $result full length
+
+ if { ${use_nb} != ${nb} || ${length} != ${nb} } {
+ puts "Faulty ${BugNumber}"
+ }
+}
--- /dev/null
+puts "========"
+puts "OCC710"
+puts "========"
+puts ""
+########################################################
+## If the the file pathname is empty, the Standard_Boolean OSD_FileNode::Exists()
+## raises an exception
+########################################################
+
+pload QAcommands
+
+set Path ""
+
+if [catch {OCC710 ${Path} } result] {
+ puts "Faulty OCC710"
+} else {
+ puts "OCC710 OK"
+}
--- /dev/null
+puts "============"
+puts "OCC7287"
+puts "============"
+puts ""
+######################################################
+# Problem of Memory Leak
+######################################################
+
+#
+# Result is Null shape
+#
+
+set BugNumber OCC7287
+
+set NCycles 1000
+box b1 100 100 100
+box b2 50 50 50
+bop b1 b2
+
+set listmem {}
+for {set i 1} {${i} <= ${NCycles}} {incr i } {
+ bopcut r
+
+ lappend listmem [expr [meminfo w] / 1024]
+ if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+ puts "No memory leak, $i iterations"
+ break
+ }
+}
--- /dev/null
+puts "============"
+puts "OCC7287"
+puts "============"
+puts ""
+######################################################
+# Problem of Memory Leak
+######################################################
+
+#
+# Result is not Null shape
+#
+
+set BugNumber OCC7287
+
+set NCycles 1000
+box b1 10 10 10 100 100 100
+box b2 50 50 50
+bop b1 b2
+
+set listmem {}
+for {set i 1} {${i} <= ${NCycles}} {incr i } {
+ bopcut r
+ lappend listmem [expr [meminfo w] / 1024]
+ if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+ puts "No memory leak, $i iterations"
+ break
+ }
+}
--- /dev/null
+puts "============"
+puts "OCC7287"
+puts "============"
+puts ""
+######################################################
+# Problem of Memory Leak
+######################################################
+
+#
+# Result is not Null shape
+#
+
+set BugNumber OCC7287
+
+
+set NCycles 1000
+box b1 10 10 10 100 100 100
+box b2 50 50 50
+bop b1 b2
+
+set listmem {}
+for {set i 1} {${i} <= ${NCycles}} {incr i } {
+ boptuc r
+
+ lappend listmem [expr [meminfo w] / 1024]
+ if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+ puts "No memory leak, $i iterations"
+ break
+ }
+}
+
--- /dev/null
+puts "============"
+puts "OCC7287"
+puts "============"
+puts ""
+######################################################
+# Problem of Memory Leak
+######################################################
+
+#
+# Result is not Null shape
+#
+
+set BugNumber OCC7287
+
+set NCycles 1000
+box b1 10 10 10 100 100 100
+box b2 50 50 50
+bop b1 b2
+
+set listmem {}
+for {set i 1} {${i} <= ${NCycles}} {incr i } {
+ bopcommon r
+
+ lappend listmem [expr [meminfo w] / 1024]
+ if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+ puts "No memory leak, $i iterations"
+ break
+ }
+}
--- /dev/null
+puts "============"
+puts "OCC7287"
+puts "============"
+puts ""
+######################################################
+# Problem of Memory Leak
+######################################################
+
+#
+# Result is not Null shape
+#
+
+set BugNumber OCC7287
+
+set NCycles 1000
+box b1 10 10 10 100 100 100
+box b2 50 50 50
+bop b1 b2
+
+for {set i 1} {${i} <= ${NCycles}} {incr i } {
+ bopfuse r
+
+ lappend listmem [expr [meminfo w] / 1024]
+ if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+ puts "No memory leak, $i iterations"
+ break
+ }
+}
--- /dev/null
+puts "============"
+puts "OCC7287"
+puts "============"
+puts ""
+######################################################
+# Problem of Memory Leak
+######################################################
+
+#
+# Result is not Null shape
+#
+
+set BugNumber OCC7287
+
+set NCycles 1000
+box b1 10 10 10 100 100 100
+box b2 50 50 50
+bop b1 b2
+
+for {set i 1} {${i} <= ${NCycles}} {incr i } {
+ bopsection r
+
+ lappend listmem [expr [meminfo w] / 1024]
+ if { [checktrend $listmem 0 1 "Memory leak detected"] } {
+ puts "No memory leak, $i iterations"
+ break
+ }
+}
+
--- /dev/null
+puts "============"
+puts "OCC7639"
+puts "============"
+puts ""
+#######################################################################
+# NCollection_Vector works incorrectly with rare data
+#######################################################################
+
+pload QAcommands
+set BugNumber OCC7639
+
+set List [OCC7639 0 1 2 500 1 2]
+
+set Length [llength $List]
+if { ${Length} != 6} {
+ puts "Faulty (1) ${BugNumber}"
+} else {
+ if { [regexp "1" $List] != 1 } {
+ puts "Faulty (2) ${BugNumber}"
+ }
+ if { [regexp "2" $List] != 1 } {
+ puts "Faulty (3) ${BugNumber}"
+ }
+ if { [regexp "500" $List] != 1 } {
+ puts "Faulty (4) ${BugNumber}"
+ }
+}
--- /dev/null
+puts "TODO OCC12345 ALL: OCC902 Faulty"
+
+puts "======="
+puts "OCC902"
+puts "======="
+puts ""
+###############
+## bad derivative
+###############
+
+pload QAcommands
+
+set arg 5
+set list [OCC902 $arg]
+
+set we_have [lindex $list 8]
+puts "we_have = $we_have"
+
+set must_be_1 "Exp($arg)*$arg"
+puts "must_be_1 = $must_be_1"
+set must_be_2 "$arg*Exp($arg)"
+puts "must_be_2 = $must_be_2"
+
+if {[string compare $we_have $must_be_1] == 0} {
+ puts "OCC902 OK"
+} else {
+ if { [string compare $we_have $must_be_2] == 0} {
+ puts "OCC902 OK"
+ } else {
+ puts "OCC902 Faulty"
+ }
+}
+
--- /dev/null
+puts "================"
+puts "OCC984"
+puts "================"
+puts ""
+
+pload QAcommands
+
+set list [OCC984 [locate_data_file OCC984.xml]]
+
+if { [regexp "Document parsed" $list] == 1 } {
+ puts "OCC984: OK"
+} else {
+ puts "OCC984: Error"
+}
--- /dev/null
+puts "============"
+puts "OCC9848"
+puts "============"
+puts ""
+#######################################################################
+# Specififying invalid name of unit produces exception.(for example tonne instead ton)
+#######################################################################
+
+set BugNumber OCC9848
+
+set UnitString "tonne/(mm*s**2)"
+
+set List ""
+set result ""
+
+if [catch { set List [unitparsing ${UnitString}] } result] {
+ if { ${result} == "can not create a sentence\n"} {
+ puts "${BugNumber}: OK"
+ } else {
+ puts "${BugNumber}: Faulty (2)"
+ }
+} else {
+ puts "${BugNumber}: Faulty (1)"
+}
--- /dev/null
+puts "============"
+puts "OCC9848"
+puts "============"
+puts ""
+#######################################################################
+# Specififying invalid name of unit produces exception.(for example tonne instead ton)
+#######################################################################
+
+set BugNumber OCC9848
+
+set UnitString "ton/(m*s**2)"
+
+set List ""
+set result ""
+set GoodResult "Token word : (ton)/((m)*((s)**(2)))"
+
+if [catch { set List [unitparsing ${UnitString}] } result] {
+ puts "${BugNumber}: Faulty (1)"
+} else {
+ if { ${List} == "${GoodResult}\n"} {
+ puts "${BugNumber}: OK"
+ } else {
+ puts "${BugNumber}: Faulty (2)"
+ }
+}
--- /dev/null
+puts "========"
+puts "OCC984"
+puts "========"
+puts ""
+####################################################
+## LDOM hangs-up attempting to read a file which contains a reference to "*dtd"file
+####################################################
+
+pload DCAF
+set BugNumber OCC984
+cpulimit 60
+
+# Open the document
+if { [catch { Open [locate_data_file OCC984.xml] D } aResult] != 0 } {
+ puts "Faulty ${BugNumber}"
+} else {
+ puts "OK ${BugNumber}"
+}
restore [locate_data_file buc60940.rle] a
fixshape result a 1e-7 1
-puts [checkshape result]
+checkshape result
set 2dviewer 1
fixshape result a 1e-7
-puts [checkshape result]
+checkshape result
set 2dviewer 1
--- /dev/null
+puts "========================"
+puts " OCC1642 "
+puts "========================"
+puts ""
+###########################################################
+puts " ShapeFix_Wire::FixSelfIntersectingEdge does not remove a loop"
+###########################################################
+
+pload QAcommands
+cpulimit 2000
+
+restore [locate_data_file OCC1642.brep] shape
+
+set list [OCC1642 result FinalFace InitWare InitFace shape FixReorder FixDegenerated FixConnected FixSelfIntersection]
+
+set FixSelfIntersection [string last "FixSelfIntersection" $list]
+set Intersectingpt [string last "Intersecting pt :" $list]
+
+puts "FixSelfIntersection=${FixSelfIntersection}"
+puts "Intersectingpt=${Intersectingpt}"
+if { ${Intersectingpt} == -1} {
+ puts "Warning: There are not intersecting points"
+}
+
+set list [lprops result]
+regexp {Mass +: +([-0-9.+eE]+)} $list full pcurve_length
+
+set good_pcurve_length 3880.52
+set percent_max 0.1
+set percent [expr abs(${pcurve_length} - ${good_pcurve_length}) / double(${good_pcurve_length}) * 100.]
+
+puts "good_pcurve_length = ${good_pcurve_length}"
+puts "pcurve_length = ${pcurve_length}"
+puts "percent = ${percent}"
+
+if {${percent} > ${percent_max}} {
+ puts "OCC1642 Faulty length: function FixShape works WRONGLY !!"
+} else {
+ puts "OCC1642 length: function FixShape works CORRECTLY"
+}
+
+if { ${Intersectingpt} > ${FixSelfIntersection} } {
+ puts "OCC1642 Faulty"
+} else {
+ puts "OCC1642 OK"
+}
+
+set 2dviewer 0
+
fixshape result a 0.01 0.01
-puts [checkshape result]
+checkshape result
set 2dviewer 0
fixshape result a 0.01 0.01
explode result f
-puts [checkshape result_4]
+checkshape result_4
set 2dviewer 1
--- /dev/null
+puts "========="
+puts " OCC210 "
+puts "========="
+puts ""
+##################################################
+# Improve FixShape to correct case of touching wires
+##################################################
+
+pload XDE
+
+cpulimit 2500
+
+set BugNumber OCC210
+
+if [catch { stepread [locate_data_file UKI60591.stp] a * } result] {
+ puts "Faulty ${BugNumber}: here is reading problem"
+} else {
+ puts "Reading ${BugNumber} OK"
+ tpcompound r
+ fixshape result r
+ checkshape result
+}
+
+set 2dviewer 0
fixshape result a 0.01 0.01
-puts [checkshape result]
+checkshape result
set 2dviewer 1
--- /dev/null
+puts "======="
+puts "OCC22"
+puts "======="
+puts ""
+#####################################################################
+##Locations are not correctly processed by ShapeBuild_ReShape (and base class BRepTools_ReShape)
+#####################################################################
+
+pload QAcommands
+
+restore [locate_data_file OCC21.brep] shape
+explode shape f
+compound shape_1 shape_2 compoundToBeDivided
+
+# Case A of the bug is reproduced. Resulting shape must have 5 faces instead of 3
+
+if [catch { OCC22 result shape compoundToBeDivided 0 } ] {
+ puts "OCC22 ERROR; (case 1)"
+} else {
+ puts "OCC22 OK; (case 1)"
+}
+
+regexp {([-0-9.+eE]+)\s FACE} [statshape result] full nbFaces
+if {$nbFaces != 5} {
+ puts "OCC22 FAULTY: Initial shape was not splitted"
+}
+
+# Case B of the bug is reproduced. Result must be valid
+if [catch { OCC22 res shape compoundToBeDivided 1 } ] {
+ puts "OCC22 ERROR; (case 2)"
+} else {
+ puts "OCC22 OK; (case 2)"
+}
+
+set 2dviewer 0
+
restore [locate_data_file OCC329.brep] a
-puts [checkshape a]
+checkshape a
set tol1 [maxtolerance a]
regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol1 full face1
regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol1 full edge1
fixshape result a 1.e-7 0.1
-puts [checkshape result]
+checkshape result
set tol2 [ maxtolerance result]
regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol2 full face2
regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol2 full edge2
fixsmall result a 0.05
-puts [checkshape result]
+checkshape result
set 2dviewer 1
--- /dev/null
+puts "========"
+puts "OCC518"
+puts "========"
+puts ""
+################################
+## Checkshape reports problem in C40, none in DEV
+################################
+
+pload XDE
+
+restore [locate_data_file OCC518.brep] a
+
+fixshape result a .001 1.
+
+checkshape result
+
+set 2dviewer 0
+
--- /dev/null
+puts "============"
+puts "OCC884"
+puts "============"
+puts ""
+###################################################
+## ShapeFix_Wire::FixSelfIntersection does not fix 3d curves on planes
+###################################################
+
+pload QAcommands
+
+restore [locate_data_file OCC884.brep] a
+
+OCC884 res a 1.1 1.1
+
+explode res e
+mkplane p res
+pcurve c2d res_1 p
+mkcurve c3d res_1
+
+set list_3 [length $c3d]
+set list_4 [length $c2d]
+
+# len2 is the length of 3d curve
+regexp {The length c3d is +([-0-9.+eE]+)} $list_3 full len2
+
+# len1 is the length of 2d curve
+regexp {The length c2d is +([-0-9.+eE]+)} $list_4 full len1
+
+set percent_max 0.1
+set percent [expr abs(${len2} - ${len1}) / double(${len1}) * 100.]
+
+puts "len1 = ${len1}"
+puts "len2 = ${len2}"
+puts "percent = ${percent}"
+
+if {${percent} > ${percent_max}} {
+ puts "OCC884: Error"
+} else {
+ puts "OCC884: OK"
+}
tpcompound buc60591a
-puts [checkshape buc60591a r]
+checkshape buc60591a r
######################################################################
igesbrep ${imagedir}/buc60591a_brep.igs a_brep_iges *
tpcompound buc60591a_brep_iges
-puts [checkshape buc60591a_brep_iges]
+checkshape buc60591a_brep_iges
igesbrep ${imagedir}/buc60591a_iges.igs a_iges *
tpcompound buc60591a_iges
-puts [checkshape buc60591a_iges]
+checkshape buc60591a_iges
renamevar buc60591a_iges result
tpcompound buc60591b
-puts [checkshape buc60591b r]
+checkshape buc60591b r
######################################################################
igesbrep ${imagedir}/buc60591b_brep.igs b_brep_iges *
tpcompound buc60591b_brep_iges
-puts [checkshape buc60591b_brep_iges]
+checkshape buc60591b_brep_iges
igesbrep ${imagedir}/buc60591b_iges.igs b_iges *
tpcompound buc60591b_iges
-puts [checkshape buc60591b_iges]
+checkshape buc60591b_iges
renamevar buc60591b_iges result
igesbrep [locate_data_file buc60591c.igs] a *
tpcompound buc60591c
-puts [checkshape buc60591c r]
+checkshape buc60591c r
######################################################################
igesbrep ${imagedir}/buc60591c_brep.igs c_brep_iges *
tpcompound buc60591c_brep_iges
-puts [checkshape buc60591c_brep_iges]
+checkshape buc60591c_brep_iges
igesbrep ${imagedir}/buc60591c_iges.igs c_iges *
tpcompound buc60591c_iges
-puts [checkshape buc60591c_iges]
+checkshape buc60591c_iges
renamevar buc60591c_iges result
igesbrep [locate_data_file buc60591d.igs] a *
tpcompound buc60591d
-puts [checkshape buc60591d r]
+checkshape buc60591d r
######################################################################
igesbrep ${imagedir}/buc60591d_brep.igs d_brep_iges *
tpcompound buc60591d_brep_iges
-puts [checkshape buc60591d_brep_iges]
+checkshape buc60591d_brep_iges
igesbrep ${imagedir}/buc60591d_iges.igs d_iges *
tpcompound buc60591d_iges
-puts [checkshape buc60591d_iges]
+checkshape buc60591d_iges
renamevar buc60591d_iges result
igesbrep [locate_data_file buc60594a.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file buc60610a.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
set l [igesbrep [locate_data_file BUC60625-1.igs] a xst-transferrable-roots]
tpcompound result
-puts [checkshape result r]
+checkshape result r
set start [lindex $l 60]
set bug_list_numb [ llength $l ]
set l [igesbrep [locate_data_file BUC60625-1.igs] a xst-transferrable-roots]
tpcompound res
-puts [checkshape res r]
+checkshape res r
tcopy res result
set l [igesbrep [locate_data_file buc60685a.igs] a xst-transferrable-roots]
tpcompound result
-puts [checkshape result r]
+checkshape result r
regexp {List given by xst-transferrable-roots : Nb entities selected : +([-0-9+eE]+)} ${l} full start
regexp {List given by xst-transferrable-roots : Nb entities selected : +([-0-9+eE]+)} ${l} full end
igesbrep [locate_data_file buc40130.igs] a xst-transferrable-roots
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
tpcompound result
-puts [checkshape result r]
+checkshape result r
tclean result
incmesh result 0.1
igesbrep [locate_data_file buc60820.igs] a *
tpcompound result
-puts [checkshape result r]
+checkshape result r
tclean result
vinit
igesbrep [locate_data_file buc60823.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
tclean result
vinit
igesbrep [locate_data_file BUC60850.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file buc60949.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC111a.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC111b.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC131-1.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC131-2.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC131-3.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC131-4.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC131-5.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC131-6.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC131-7.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC131-8.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file igsBF5.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file Cover.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file Case.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file igsBF1.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file Rich.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC201.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file 919-001-T02-04-CP-VL.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
if { [llength [whatis result]] == 3 } {
puts "Error : There is no result"
igesbrep [locate_data_file 919-001-T02-04-FT-VL.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
if { [llength [whatis result]] == 3 } {
puts "Error : There is no result"
igesbrep [locate_data_file 919-004-T02-01-FT-VL.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
if { [llength [whatis result]] == 3 } {
puts "Error : There is no result"
igesbrep [locate_data_file BUC50030.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC285.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
sewing result a
-puts [checkshape result]
+checkshape result
vinit
vsetdispmode result 1
igesbrep [locate_data_file BUC61004-1.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file BUC61004-2.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file BUC61004-3.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file BUC61004-4.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file So5571b.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
--- /dev/null
+puts "========"
+puts "OCC514"
+puts "========"
+
+igesbrep [locate_data_file OCC514a.igs] a *
+
+tpcompound result
+
+checkshape result
+checkshape result r
+
+set 2dviewer 0
+
igesbrep [locate_data_file OCC58a.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC58b.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file OCC58c.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
--- /dev/null
+puts "TODO OCC12345 ALL: An exception was caught"
+puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+puts "TODO OCC12345 ALL: Faulty OCC700"
+
+puts "======="
+puts "OCC700"
+puts "======="
+puts ""
+##########################################################
+## The attached file calnnot be read with OCC4.0, while read successfully with OCC3.0
+##########################################################
+
+if [ catch {igesbrep [locate_data_file OCC700.igs]} res ] {
+ puts "Faulty OCC700"
+} else {
+ set index [lsearch $res Faulty]
+ set index1 [lsearch $res error.]
+ if {$index > -1 || $index1 > -1} {
+ puts "Faulty OCC700"
+ } else {
+ puts "OCC700 OK"
+ }
+}
+
+
igesbrep [locate_data_file BUC60800.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep [locate_data_file ger61337a.igs] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
}
}
-puts [checkshape res]
+checkshape res
tclean res
puts ""
restore [locate_data_file buc60462a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60462b.brep] b
-puts [checkshape b]
+checkshape b
bsection result a b
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection result] full cs
puts "=========="
restore [locate_data_file buc60462c.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60462d.brep] b
-puts [checkshape b]
+checkshape b
puts "Fuse begin"
bfuse result a b
puts "Fuse end"
puts ""
cpulimit 1400
restore [locate_data_file buc60463a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60463b.brep] b
-puts [checkshape b]
+checkshape b
bsection result a b
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection result] full cs
puts "========================"
restore [locate_data_file buc60523a.brep] a
-puts [checkshape a]
+checkshape a
sewing result 1.e-7 a
set square 156.919
set 2dviewer 0
puts "========================"
restore [locate_data_file buc60531a.brep] r1
-puts [checkshape r1]
+checkshape r1
restore [locate_data_file buc60531b.brep] pl1
-puts [checkshape pl1]
+checkshape pl1
bcut result r1 pl1
puts "========================"
restore [locate_data_file buc60531a.brep] r1
-puts [checkshape r1]
+checkshape r1
restore [locate_data_file buc60531b.brep] pl1
-puts [checkshape pl1]
+checkshape pl1
bcut r2 r1 pl1
-puts [checkshape r2]
+checkshape r2
restore [locate_data_file buc60531c.brep] pl2
-puts [checkshape pl2]
+checkshape pl2
bcut result r2 pl2
puts "==========="
restore [locate_data_file buc60532a.brep] p
-puts [checkshape p]
+checkshape p
restore [locate_data_file buc60532b.brep] t1
-puts [checkshape t1]
+checkshape t1
restore [locate_data_file buc60532c.brep] t2
-puts [checkshape t2]
+checkshape t2
# create halfspace
halfspace h1 t1 20 20 0
puts "==========="
restore [locate_data_file buc60532a.brep] p
-puts [checkshape p]
+checkshape p
restore [locate_data_file buc60532b.brep] t1
-puts [checkshape t1]
+checkshape t1
restore [locate_data_file buc60532c.brep] t2
-puts [checkshape t2]
+checkshape t2
# create halfspace
halfspace h1 t1 20 20 0
puts "=========="
restore [locate_data_file buc60532a.brep] p
-puts [checkshape p]
+checkshape p
restore [locate_data_file buc60532b.brep] t1
-puts [checkshape t1]
+checkshape t1
restore [locate_data_file buc60532c.brep] t2
-puts [checkshape t2]
+checkshape t2
# create halfspace
#vertex v 20 20 0
mkcurve cu14 res1_4
mkcurve cu15 res1_5
-puts [checkshape res1]
+checkshape res1
puts [computetolerance res1]
# second cut
bcut res2 res1 h2
tcopy res2 res
-puts [checkshape res2]
+checkshape res2
explode res2 e
mkcurve cu21 res2_1
puts "=========="
restore [locate_data_file buc60533a.brep] part
-puts [checkshape part]
+checkshape part
#puts "Tolerance part"
#computetolerance part
restore [locate_data_file buc60533b.brep] trTool
-puts [checkshape trTool]
+checkshape trTool
#puts "Tolerance trTool"
#computetolerance trTool
#cpulim add aki 070704
cpulimit 1600
restore [locate_data_file buc60555a.brep] part
-puts [checkshape part]
+checkshape part
restore [locate_data_file buc60555b.brep] trTool1
-puts [checkshape trTool1]
+checkshape trTool1
halfspace hs1 trTool1 20000 10000 0
bcut cut1 part hs1
-puts [checkshape cut1]
+checkshape cut1
tcopy cut1 result
puts "============="
cpulimit 1400
restore [locate_data_file buc60555a.brep] part
-puts [checkshape part]
+checkshape part
restore [locate_data_file buc60555b.brep] trTool1
-puts [checkshape trTool1]
+checkshape trTool1
halfspace hs1 trTool1 20000 10000 0
bcut cut1 part hs1
-puts [checkshape cut1]
+checkshape cut1
set che [checkshape cut1 r]
if { [regexp {OK} $che] != 1 } {
puts "Checking by checkshape - OK"
}
-puts [checkshape cut2]
+checkshape cut2
set tolerance [ maxtolerance cut2 ]
regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxFaceTolerance
regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxEdgeTolerance
puts "=============="
cpulimit 5000
restore [locate_data_file buc60555a.brep] part
-puts [checkshape part]
+checkshape part
restore [locate_data_file buc60555b.brep] trTool1
-puts [checkshape trTool1]
+checkshape trTool1
halfspace hs1 trTool1 20000 10000 0
bcut cut1 part hs1
-puts [checkshape cut1]
+checkshape cut1
set che [checkshape cut1 r]
if { [regexp {OK} $che] != 1 } {
restore [locate_data_file buc60555c.brep] trTool2
halfspace hs2 trTool2 10000 10000 0
bcut cut2 cut1 hs2
-puts [checkshape cut2]
+checkshape cut2
set che [checkshape cut2 r]
if { [regexp {OK} $che] != 1 } {
puts "Checking by checkshape - OK"
}
-puts [checkshape cut3 ]
+checkshape cut3
set tolerance [ maxtolerance cut3 ]
regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxFaceTolerance
puts "========================"
restore [locate_data_file buc60585a.brep] s
-puts [checkshape s]
+checkshape s
plane ps 2036.25 -97.5 -1460.499755859375 0.0 -0.75103523489975432 -0.66026212668838646 1.0 0.0 0.0
psection result s ps
puts "========================"
restore [locate_data_file buc60585b.brep] t
-puts [checkshape t]
+checkshape t
plane pt 2036.25 -97.5 -1460.499755859375 0.0 -1.0 0.0 1.0 0.0 0.0
psection result t pt
puts "========================"
restore [locate_data_file buc60623a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60623b.brep] b
-puts [checkshape b]
+checkshape b
bsection result a b
puts "========================"
restore [locate_data_file buc60623a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60623b.brep] b
-puts [checkshape b]
+checkshape b
bsection result b a
# checksection res
puts "============="
restore [locate_data_file buc60635a.brep] a
-puts [checkshape a]
+checkshape a
mkplane result a
puts ""
restore [locate_data_file buc60649a.brep] a
-puts [checkshape a]
+checkshape a
set che [checkshape a rr]
if { [regexp {OK} $che] != 1 } {
puts ""
restore [locate_data_file buc60663a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60663b.brep] b
-puts [checkshape b]
+checkshape b
bsection result a b
puts ""
restore [locate_data_file buc60663a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60663b.brep] b
-puts [checkshape b]
+checkshape b
bsection result a b
#############################################################
restore [locate_data_file buc60669a.brep] shell1
-puts [checkshape shell1]
+checkshape shell1
restore [locate_data_file buc60669b.brep] shell2
-puts [checkshape shell2]
+checkshape shell2
ksection result shell1 shell2 1000 0.0001 0.00001 0
puts "============="
restore [locate_data_file buc60684a.brep] w
-puts [checkshape w]
+checkshape w
prism result w 0 0 10
restore [locate_data_file buc60703a.brep] a
# maxtolerance a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60703b.brep] b
# maxtolerance b
-puts [checkshape b]
+checkshape b
if [catch {bfuse result a b } catch_result] {
puts "Faulty BUC60703: here is problem with FUSE operation"
############################################
restore [locate_data_file buc60703c.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60703e.brep] b
-puts [checkshape b]
+checkshape b
if [catch {bfuse result a b } catch_result] {
restore [locate_data_file buc60703e.brep] a
#maxtolerance a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60703d.brep] b
#maxtolerance b
-puts [checkshape b]
+checkshape b
if [catch {bfuse result a b } catch_result] {
puts "Faulty BUC60703: here is problem with FUSE operation"
restore [locate_data_file buc60703d.brep] a
#maxtolerance a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60703f.brep] b
#maxtolerance b
-puts [checkshape b]
+checkshape b
if [catch {bfuse result a b } catch_result] {
puts "Faulty BUC60703: here is problem with FUSE operation"
puts "========================"
restore [locate_data_file buc60704a.brep] p
-puts [checkshape p]
+checkshape p
restore [locate_data_file buc60704b.brep] s
-puts [checkshape s]
+checkshape s
bfuse result p s
puts "==========="
restore [locate_data_file buc60708a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60708b.brep] b
-puts [checkshape b]
+checkshape b
bcommon result a b
# The Case chl/902/F3 should be removed or rewritten:
restore [locate_data_file buc60712a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60712b.brep] b
-puts [checkshape b]
+checkshape b
# Recompute "a" shape
explode a f
restore [locate_data_file buc60728a.brep] s1
restore [locate_data_file buc60728b.brep] s2
build3d s1
-puts [checkshape s1]
-puts [checkshape s2]
+checkshape s1
+checkshape s2
bsection result s1 s2
puts "========================"
restore [locate_data_file buc60776a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60776b.brep] b
-puts [checkshape b]
+checkshape b
bfuse result a b
set square 60771.3
puts "========================"
restore [locate_data_file buc60776c.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60776d.brep] b
-puts [checkshape b]
+checkshape b
bsection result a b
set length 111.405
#restore Common_Solid_Case2.brep S2
restore [locate_data_file buc60787a.brep] S1
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file buc60787b.brep] S2
-puts [checkshape S1]
+checkshape S1
bcommon result S1 S2
#restore Cut_Solid_Case2.brep S2
restore [locate_data_file buc60787c.brep] S1
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file buc60787d.brep] S2
-puts [checkshape S2]
+checkshape S2
bcut result S1 S2
#restore Intersection_Shell2_Case1.brep S2
restore [locate_data_file buc60788a.brep] S1
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file buc60788b.brep] S2
-puts [checkshape S2]
+checkshape S2
bsection result S1 S2
#restore Cut_Solid_Case2.brep S2
restore [locate_data_file buc60788e.brep] S1
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file buc60787d.brep] S2
-puts [checkshape S2]
+checkshape S2
bcut result S1 S2
#restore Common_Solid_Case2.brep S2
restore [locate_data_file buc60788c.brep] S1
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file buc60787b.brep] S2
-puts [checkshape S1]
+checkshape S1
bcommon result S1 S2
#restore buc60789a.brep S1
restore [locate_data_file buc60787b.brep] S1
### (by apn during classification)
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file buc60789b.brep] S2
-puts [checkshape S2]
+checkshape S2
bcommon result S1 S2
#restore buc60789c.brep S1
##by apn
restore [locate_data_file buc60787b.brep] S1
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file buc60789d.brep] S2
-puts [checkshape S2]
+checkshape S2
bcut result S2 S1
puts "========================"
restore [locate_data_file buc60803a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60803b.brep] b
-puts [checkshape b]
+checkshape b
bfuse result a b
#restore Model2-a.brep a
restore [locate_data_file BUC60826a.brep] a
-puts [checkshape a]
+checkshape a
# restore Model2-b.brep b
restore [locate_data_file BUC60826b.brep] b
-puts [checkshape b]
+checkshape b
bsection result a b
puts "============="
restore [locate_data_file BUC60830-face2.brep] f
-puts [checkshape f]
+checkshape f
set che [checkshape f rr]
if { [regexp {OK} $che] != 1 } {
puts ""
restore [locate_data_file BUC60839-1.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file BUC60839-2.brep] b
-puts [checkshape b]
+checkshape b
puts "Starting fuse operation"
puts "========"
restore [locate_data_file buc60841a.brep] sh1
-puts [checkshape sh1]
+checkshape sh1
restore [locate_data_file buc60841b.brep] sh2
-puts [checkshape sh2]
+checkshape sh2
bfuse result sh1 sh2
puts ""
restore [locate_data_file BUC60849.brep] result
-puts [checkshape result]
+checkshape result
set bndb [ lindex [bounding result] 3 ]
restore [locate_data_file BUC60853_face.brep] face
restore [locate_data_file BUC60853_plane.brep] plane
-puts [checkshape face]
-puts [checkshape plane]
+checkshape face
+checkshape plane
bsection result face plane -a
##########################
restore [locate_data_file BUC60865_sh6.brep] sh
-puts [checkshape sh]
+checkshape sh
plane pl 1.1 0.99999 1 0 1 0
mkface f pl
#checkshape res
restore [locate_data_file BUC60878-wire1.brep] a
-puts [checkshape a]
+checkshape a
set che [checkshape a rr]
if { [regexp {OK} $che] != 1 } {
#checkshape res
restore [locate_data_file BUC60878-wire3.brep] a
-puts [checkshape a]
+checkshape a
set che [checkshape a rr]
if { [regexp {OK} $che] != 1 } {
#checkshape res
restore [locate_data_file BUC60878-wire5.brep] a
-puts [checkshape a]
+checkshape a
set che [checkshape a rr]
if { [regexp {OK} $che] != 1 } {
##########################################
restore [locate_data_file BUC60880_sec_error2.brep] sh
-puts [checkshape sh]
+checkshape sh
plane pl 65000 19000 2600 1 0 0
mkface f pl
restore [locate_data_file BUC60881.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_1]
+checkshape a_1
+checkshape a_1
bfuse result a_1 a_2
#############################
restore [locate_data_file BUC60907_px1.rle] sh
-puts [checkshape sh]
+checkshape sh
line l 40 0 5 0 1 0
mkedge e l
######################################################################
restore [locate_data_file shading_132.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file BUC60926-2.brep] b
-puts [checkshape b]
+checkshape b
bfuse result a b
restore [locate_data_file BUC60927.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcut result a_2 a_1
restore [locate_data_file BUC60930_splitshape.brep] c
explode c
-puts [checkshape c_1]
-puts [checkshape c_2]
+checkshape c_1
+checkshape c_2
renamevar c_1 f
renamevar c_2 e
puts "============"
restore [locate_data_file BUC60934.brep] a
-puts [checkshape a]
+checkshape a
mkplane result a
restore [locate_data_file BUC60942_splitshape.brep] c
explode c
-puts [checkshape c_1]
-puts [checkshape c_2]
+checkshape c_1
+checkshape c_2
renamevar c_1 f
renamevar c_2 w
restore [locate_data_file BUC60946_prism.brep] c
explode c
-puts [checkshape c_1]
-puts [checkshape c_2]
+checkshape c_1
+checkshape c_2
renamevar c_1 sh
renamevar c_2 pr
restore [locate_data_file buc60971.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_2 a_3
set square 93698.1
########################################
restore [locate_data_file OCC100_sp.brep] sh1
-puts [checkshape sh1]
+checkshape sh1
restore [locate_data_file OCC100_cyl.brep] sh2
-puts [checkshape sh2]
+checkshape sh2
#OCC100 : on WNT result is crushed when we make the next command:
## After restore c shell, section is incomplete
######################################
restore [locate_data_file buc60663a.brep] sh1
-puts [checkshape sh1]
+checkshape sh1
restore [locate_data_file buc60663b.brep] sh2
-puts [checkshape sh2]
+checkshape sh2
bsection result sh1 sh2
puts ""
restore [locate_data_file DXF906.rle] wire
-puts [checkshape wire]
+checkshape wire
mkplane result wire
puts ""
restore [locate_data_file buc60803a.brep] sh1
-puts [checkshape sh1]
+checkshape sh1
restore [locate_data_file buc60803b.brep] sh2
-puts [checkshape sh2]
+checkshape sh2
bfuse result sh1 sh2
puts ""
restore [locate_data_file buc60803a.brep] sh1
-puts [checkshape sh1]
+checkshape sh1
restore [locate_data_file buc60803b.brep] sh2
-puts [checkshape sh2]
+checkshape sh2
bfuse result sh2 sh1
#####################################################################
restore [locate_data_file bug61037.brep] sh1
-puts [checkshape sh1]
+checkshape sh1
set rr [bounding sh1]
regexp { *([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+)} $rr full v1_x v1_y v1_z v2_x v2_y v2_z
restore [locate_data_file OCC109.brep] result
-puts [checkshape result]
+checkshape result
vinit
tclean result
puts "========================"
restore [locate_data_file buc60706a.brep] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file buc60706b.brep] w
-puts [checkshape w]
+checkshape w
pipe t w f
restore [locate_data_file buc60706c.brep] s
-puts [checkshape s]
+checkshape s
bcut res_1 s t
-puts [checkshape res_1]
+checkshape res_1
restore [locate_data_file buc60706d.brep] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file buc60706e.brep] w
-puts [checkshape w]
+checkshape w
pipe t w f
bcut res_2 res_1 t
-puts [checkshape res_2]
+checkshape res_2
restore [locate_data_file buc60706g.brep] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file buc60706h.brep] w
-puts [checkshape w]
+checkshape w
pipe t w f
bcut result res_2 t
puts "========================"
restore [locate_data_file buc60706j.brep] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file buc60706b.brep] w
-puts [checkshape w]
+checkshape w
pipe t w f
restore [locate_data_file buc60706l.brep] s
-puts [checkshape s]
+checkshape s
bcut res_1 s t
-puts [checkshape res_1]
+checkshape res_1
restore [locate_data_file buc60706m.brep] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file buc60706e.brep] w
-puts [checkshape w]
+checkshape w
pipe t w f
bcut res_2 res_1 t
-puts [checkshape res_2]
+checkshape res_2
restore [locate_data_file buc60706p.brep] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file buc60706h.brep] w
-puts [checkshape w]
+checkshape w
pipe t w f
bcut result res_2 t
puts "========================"
restore [locate_data_file buc60706s.brep] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file buc60706b.brep] w
-puts [checkshape w]
+checkshape w
pipe t w f
restore [locate_data_file buc60706l.brep] s
-puts [checkshape s]
+checkshape s
bcut res_1 s t
-puts [checkshape res_1]
+checkshape res_1
restore [locate_data_file buc60706v.brep] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file buc60706e.brep] w
-puts [checkshape w]
+checkshape w
pipe t w f
bcut res_2 res_1 t
-puts [checkshape res_2]
+checkshape res_2
restore [locate_data_file buc60706x.brep] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file buc60706h.brep] w
-puts [checkshape w]
+checkshape w
pipe t w f
bcut result res_2 t
#############################################
restore [locate_data_file OCC116.brep] sh
-puts [checkshape sh]
+checkshape sh
explode sh f
explode sh_6 e
restore [locate_data_file OCC117.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bfuse result sh_1 sh_2
restore [locate_data_file OCC117.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bfuse result sh_2 sh_1
--- /dev/null
+puts "========"
+puts "OCC118"
+puts "========"
+########################################################
+## The Cone part of final fuse shape becomes invisible
+########################################################
+
+restore [locate_data_file OCC118-1.brep] a
+checkshape a
+restore [locate_data_file OCC118-2.brep] b
+checkshape b
+
+bop a b
+bopfuse result a b
+
+set square 4844.63
+set 2dviewer 0
########################################################
restore [locate_data_file OCC118-1.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file OCC118-2.brep] b
-puts [checkshape b]
+checkshape b
bfuse result a b
########################################################
restore [locate_data_file OCC118-1.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file OCC118-2.brep] b
-puts [checkshape b]
+checkshape b
bfuse result b a
restore [locate_data_file OCC122.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bfuse result sh_1 sh_2
restore [locate_data_file OCC122.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bfuse result sh_2 sh_1
restore [locate_data_file OCC122.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bcut result sh_1 sh_2
restore [locate_data_file OCC122.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bcut result sh_2 sh_1
puts ""
restore [locate_data_file OCC123.brep] sh
-puts [checkshape sh]
+checkshape sh
explode sh
puts ""
restore [locate_data_file OCC123.brep] sh
-puts [checkshape sh]
+checkshape sh
explode sh
#########################################################
restore [locate_data_file shading_137.brep] s
-puts [checkshape s]
+checkshape s
dset SCALE1 5
tscale s 0 0 0 SCALE1
puts ""
restore [locate_data_file buc60663a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60663b.brep] b
-puts [checkshape b]
+checkshape b
bsection result a b
--- /dev/null
+puts "========"
+puts "OCC1665"
+puts "========"
+############################################################
+## Geom_BSplineSurface::SetVPeriodic throws an exception
+############################################################
+
+restore [locate_data_file OCC1665.draw] a
+
+if {[catch {setvperiodic a} message]} {
+ puts "OCC1665 FAULTY : setvperiodic"
+} else {
+ if {[catch {mkface result a} message]} {
+ puts "OCC1665 FAULTY : mkface"
+ } else {
+ set nb_info [nbshapes result]
+ set nb_e_good 3
+ }
+}
+
+set square 12265.3
+set 3dviewer 2
restore [locate_data_file BUC60937.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcommon result a_1 a_2
restore [locate_data_file BUC60937.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_1 a_2
restore [locate_data_file BUC60937.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcut result a_1 a_2
catch { source $env(CSF_DrawPluginQADefaults)/QARebuildCommands }
restore [locate_data_file OCC21.brep] sh
-puts [checkshape sh]
+checkshape sh
puts "two faces in the compound share one edge"
DT_SplitAngle result sh 90
--- /dev/null
+puts "========"
+puts "OCC212"
+puts "========"
+################################################
+## Bug in Topological "Common" boolean operation
+################################################
+
+restore [locate_data_file OCC212-1.brep] S1
+checkshape S1
+restore [locate_data_file OCC212-2.brep] S2
+checkshape S2
+
+bop S1 S2
+bopcommon result
+
+set square 314.301
+set 2dviewer 0
+
################################################
restore [locate_data_file OCC212-1.brep] S1
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file OCC212-2.brep] S2
-puts [checkshape S2]
+checkshape S2
bcommon result S1 S2
################################################
restore [locate_data_file OCC212-1.brep] S1
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file OCC212-2.brep] S2
-puts [checkshape S2]
+checkshape S2
bcommon result S2 S1
--- /dev/null
+puts "========"
+puts "OCC212"
+puts "========"
+################################################
+## Bug in Topological "Common" boolean operation
+################################################
+
+restore [locate_data_file OCC212-1.brep] S1
+checkshape S1
+restore [locate_data_file OCC212-2.brep] S2
+checkshape S2
+
+bop S1 S2
+bopcommon result
+
+set square 314.301
+set 2dviewer 1
+
--- /dev/null
+puts "========"
+puts "OCC213"
+puts "========"
+################################################
+## Bug in Topological "fuse" boolean operation
+################################################
+
+cpulimit 3500
+
+restore [locate_data_file OCC213-1.brep] S1
+checkshape S1
+restore [locate_data_file OCC213-2.brep] S2
+checkshape S2
+
+bop S1 S2
+bopfuse result
+
+set square 4835.45
+set 2dviewer 1
+
################################################
restore [locate_data_file OCC213-1.brep] S1
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file OCC213-2.brep] S2
-puts [checkshape S2]
+checkshape S2
bfuse result S1 S2
set square 4835.45
################################################
restore [locate_data_file OCC213-1.brep] S1
-puts [checkshape S1]
+checkshape S1
restore [locate_data_file OCC213-2.brep] S2
-puts [checkshape S2]
+checkshape S2
bfuse result S2 S1
set square 4835.45
restore [locate_data_file OCC251.brep] f
explode f
-puts [checkshape f_1]
-puts [checkshape f_2]
+checkshape f_1
+checkshape f_2
bsection result f_1 f_2
explode result
restore [locate_data_file OCC251.brep] f
explode f
-puts [checkshape f_1]
-puts [checkshape f_2]
+checkshape f_1
+checkshape f_2
bsection result f_2 f_1
explode result
puts "========"
restore [locate_data_file OCC264_00.rle] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_01.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_10.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_11.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_02.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_03.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_04.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_05.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_06.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_07.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_08.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========"
restore [locate_data_file OCC264_09.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "======== OCC269 ========"
restore [locate_data_file OCC269-1.brep] result
-puts [checkshape result]
+checkshape result
isos result 0
tclean result
puts "======== OCC269 ========"
restore [locate_data_file OCC269-2.brep] result
-puts [checkshape result]
+checkshape result
isos result 0
tclean result
puts "======== OCC269 ========"
restore [locate_data_file OCC269-3.brep] result
-puts [checkshape result]
+checkshape result
isos result 0
tclean result
puts "======== OCC269 ========"
restore [locate_data_file OCC269-4.brep] result
-puts [checkshape result]
+checkshape result
isos result 0
tclean result
puts "========================"
restore [locate_data_file shading_170.brep] result
-puts [checkshape result]
+checkshape result
tclean result
isos result 0
#################################################################
restore [locate_data_file shading_171.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
#################################################################
restore [locate_data_file OCC292.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
restore [locate_data_file OCC293.brep] a
tclean a
-puts [checkshape a]
+checkshape a
vinit
#vdisplay a
explode face f
chamf result1 face edge_26 face_5 A 1 45
-puts [checkshape result1]
+checkshape result1
chamf result2 face edge_30 face_5 A 1 45
-puts [checkshape result2]
+checkshape result2
chamf result3 face edge_34 face_5 A 1 45
-puts [checkshape result3]
+checkshape result3
chamf result4 face edge_39 face_5 A 1 45
-puts [checkshape result4]
+checkshape result4
chamf result5 face edge_35 face_5 A 1 45
-puts [checkshape result5]
+checkshape result5
chamf result6 face edge_31 face_5 A 1 45
-puts [checkshape result6]
+checkshape result6
chamf result7 face edge_27 face_5 A 1 45
-puts [checkshape result7]
+checkshape result7
chamf result8 face edge_24 face_5 A 1 45
-puts [checkshape result8]
+checkshape result8
# all contour is :
#chamf result face edge_26 face_5 A 1 45 edge_28 face_5 A 1 45 edge_30 face_5 A 1 45 edge_32 face_5 A 1 45 edge_34 face_5 A 1 45 edge_36 face_5 A 1 45 edge_38 face_5 A 1 45 edge_40 face_5 A 1 45 edge_13 face_5 A 1 45 edge_14 face_5 A 1 45 edge_39 face_5 A 1 45 edge_37 face_5 A 1 45 edge_35 face_5 A 1 45 edge_33 face_5 A 1 45 edge_31 face_5 A 1 45 edge_29 face_5 A 1 45 edge_27 face_5 A 1 45 edge_6 face_5 A 1 45 edge_4 face_5 A 1 45 edge_19 face_5 A 1 45 edge_22 face_5 A 1 45 edge_23 face_5 A 1 45 edge_24 face_5 A 1 45 edge_25 face_5 A 1 45 edge_26 face_5 A 1 45
#################################################################
restore [locate_data_file OCC298.brep] result
-puts [checkshape result]
+checkshape result
if [catch {tcopy result a } result] {
puts "Faulty OCC298: function TCOPY works wrongly"
catch {pload XDE}
restore [locate_data_file OCC305.brep] a
-puts [checkshape a]
+checkshape a
if [catch {mkoffset result a 1 0.5 } catch_result] {
puts "Faulty OCC305 : function MKOFFSET works wrongly"
OCC307 result1 f_4 w_6 0
OCC307 result2 f_5 result1 0
-puts [checkshape result1]
+checkshape result1
renamevar result2 result
set square 0
OCC307 result1 f_4 w_6 1
OCC307 result2 f_5 result1 1
-puts [checkshape result1]
+checkshape result1
renamevar result2 result
set square 0
restore [locate_data_file OCC315-1.brep] f1
restore [locate_data_file OCC315-2.brep] f2
-puts [checkshape f1]
-puts [checkshape f2]
+checkshape f1
+checkshape f2
bcut result f1 f2
pload QAcommands
restore [locate_data_file OCC322.brep] a
-puts [checkshape a]
+checkshape a
sewing result a
}
bsection r f_1 f_2
-puts [checkshape r]
+checkshape r
puts [checksection r]
decho off
restore [locate_data_file BUC60928.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcut result a_2 a_1
restore [locate_data_file BUC60931.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcommon result a_1 a_2
restore [locate_data_file BUC60939.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_1 a_2
restore [locate_data_file buc60996.brep] b
explode b
-puts [checkshape b_1]
-puts [checkshape b_2]
+checkshape b_1
+checkshape b_2
bfuse f1 b_1 b_2
-puts [checkshape f1]
+checkshape f1
bfuse result b_2 b_1
set square 73561.9
puts ""
restore [locate_data_file buc61005.brep] w
-puts [checkshape w]
+checkshape w
revol result w 0 0 0 0 0 1 360 1
set square 55795.4
puts ""
restore [locate_data_file buc61008.brep] w
-puts [checkshape w]
+checkshape w
mkplane f w
prism result f 0 0 100
puts "========================"
restore [locate_data_file OCC347a.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========================"
restore [locate_data_file OCC347b.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
#######################################################
restore [locate_data_file OCC356.brep] result
-puts [checkshape result]
+checkshape result
explode result w
puts "========"
restore [locate_data_file buc60970a.brep] a
-puts [checkshape a]
+checkshape a
## small/brep/OCC358a.brep - second shape
restore [locate_data_file OCC358a.brep] b
-puts [checkshape b]
+checkshape b
if { [catch { pipe result a b } catch_result] } {
puts "$catch_result"
#####
restore [locate_data_file OCC358a.brep] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file OCC358b.brep] w
-puts [checkshape w]
+checkshape w
pipe result w f
pload QAcommands
restore [locate_data_file OCC397.brep] a
-puts [checkshape a]
+checkshape a
tclean a
explode a f
puts ""
restore [locate_data_file f2] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file f6] b2
-puts [checkshape b2]
+checkshape b2
bcommon result b1 b2
puts ""
restore [locate_data_file f7] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file f3] b2
-puts [checkshape b2]
+checkshape b2
bcommon result b1 b2
puts ""
restore [locate_data_file f7] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file f3] b2
-puts [checkshape b2]
+checkshape b2
bfuse result b1 b2
puts ""
restore [locate_data_file f7] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file f3] b2
-puts [checkshape b2]
+checkshape b2
bcut result b1 b2
puts ""
restore [locate_data_file f7] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file f3] b2
-puts [checkshape b2]
+checkshape b2
if [catch {bcut result b2 b1 } result] {
puts ""
restore [locate_data_file f4] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file f5] b2
-puts [checkshape b2]
+checkshape b2
bfuse result b1 b2
puts ""
restore [locate_data_file f2] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file f3] b2
-puts [checkshape b2]
+checkshape b2
bcut result b1 b2
puts ""
restore [locate_data_file so1] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file so4] b2
-puts [checkshape b2]
+checkshape b2
bcommon result b1 b2
puts ""
restore [locate_data_file so1] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file so4] b2
-puts [checkshape b2]
+checkshape b2
bcut result b1 b2
puts ""
restore [locate_data_file pro5557_revol.brep] revol1
-puts [checkshape revol1]
+checkshape revol1
restore [locate_data_file pro5557_bsurf.brep] bsurf2
-puts [checkshape bsurf2]
+checkshape bsurf2
zoom 660
normals bsurf2 0.27
puts ""
restore [locate_data_file CTO900_cts19305-part.rle] part
-puts [checkshape part]
+checkshape part
restore [locate_data_file CTO900_cts19305-tool.rle] tool
-puts [checkshape tool]
+checkshape tool
bcut result part tool
puts ""
restore [locate_data_file cts21128c.rle] c
-puts [checkshape c]
+checkshape c
restore [locate_data_file cts21128d.rle] d
-puts [checkshape d]
+checkshape d
bcut result c d
puts ""
restore [locate_data_file CTO904_cts20370-part.rle] part
-puts [checkshape part]
+checkshape part
restore [locate_data_file cts20370-tool.rle] tool
-puts [checkshape tool]
+checkshape tool
bsection sec part tool
-puts [checkshape -top sec]
+checkshape -top sec
bcut result part tool
-puts [checkshape -top result]
+checkshape -top result
set square 273365.
set 2dviewer 0
puts ""
restore [locate_data_file CTO904_cts20370-part.rle] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file cts20370-tool.rle] b
-puts [checkshape b]
+checkshape b
bsection sec a b
bfuse result a b
-puts [checkshape -top result]
+checkshape -top result
set square 261265.
set 2dviewer 0
puts ""
restore [locate_data_file CTO904_fra50047a.rle] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file fra50047b.rle] b
-puts [checkshape b]
+checkshape b
bsection sec a b
-puts [checkshape -top sec]
+checkshape -top sec
bfuse result a b
-puts [checkshape -top result]
+checkshape -top result
set square 508496.
set 2dviewer 0
puts ""
restore [locate_data_file CTO909_objects.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file CTO909_tool_4.brep] b
-puts [checkshape b]
+checkshape b
bsection sec a b
puts [checksection sec]
-puts [checkshape sec]
+checkshape sec
explode a so
renamevar a_1 a
puts ""
restore [locate_data_file cylindre.rle] cyl
-puts [checkshape cyl]
+checkshape cyl
restore [locate_data_file contour.rle] cont
-puts [checkshape cont]
+checkshape cont
mkplane cont cont
nexplode cyl F
puts ""
restore [locate_data_file pro15515_base.rle] base
-puts [checkshape base]
+checkshape base
restore [locate_data_file pro15515_face.rle] cont
-puts [checkshape cont]
+checkshape cont
explode base face
copy base_4 ffrom
--- /dev/null
+if {[array get env os_type] != ""} {
+ set os $env(os_type)
+}
+if {[string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: Exception"
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+pload QAcommands
+
+puts "========"
+puts "OCC426"
+puts "OCC50"
+puts "========"
+#############################################################################
+## The result of fuse operation is invalid
+#############################################################################
+## BRepFilletAPI_MakeFillet presents a bug on fillet computation (build())
+#############################################################################
+## (old topology)
+#############################################################################
+
+OCC426 result rs1 rs2 rs3 fuse32 fuse321 0
+
+checkshape rs1
+checkshape rs2
+checkshape rs3
+checkshape fuse32
+checkshape fuse321
+
+set square 7507.61
+set 2dviewer 1
+
restore [locate_data_file OCC439.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcut result a_1 a_2
########################################################
restore [locate_data_file OCC442.brep] a
-puts [checkshape a]
+checkshape a
explode a v
#######################
restore [locate_data_file OCC449a.brep] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file OCC449b.brep] b2
-puts [checkshape b2]
+checkshape b2
bcut result b1 b2
--- /dev/null
+puts "TODO OCC12345 ALL: Error : Result shape is WRONG"
+
+puts "============"
+puts "OCC4717"
+puts "============"
+puts ""
+######################################################
+# A regression of new Boolean Operations
+# (cfi/002/H3)
+######################################################
+
+dset SCALE1 10
+protect SCALE1
+
+box b -20 -20 -20 40 40 20
+ellipse w1 0 0 0 15 10
+mkedge w1 w1 -pi/2 pi/2
+trotate w1 0 0 0 1 0 0 90
+wire w w1
+revol r w 0 0 0 0 0 1 360
+shape s So
+add r s
+trotate s b 0 0 0 1 1 0 -40
+trotate s b 0 0 0 0 0 1 -10
+tscale b 0 0 0 SCALE1
+tscale s 0 0 0 SCALE1
+
+bop s b
+bopfuse result
+
+set square 680565
+set nb_info [nbshapes result]
+
+set nb_v_good 11
+set nb_e_good 16
+set nb_w_good 8
+set nb_f_good 7
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 45
+
+set 2dviewer 0
--- /dev/null
+puts "TODO OCC12345 ALL: Error : Result shape is WRONG"
+
+puts "============"
+puts "OCC4717"
+puts "============"
+puts ""
+######################################################
+# A regression of new Boolean Operations
+# (cfi/002/H3)
+######################################################
+
+dset SCALE1 10
+protect SCALE1
+
+box b -20 -20 -20 40 40 20
+ellipse w1 0 0 0 15 10
+mkedge w1 w1 -pi/2 pi/2
+trotate w1 0 0 0 1 0 0 90
+wire w w1
+revol r w 0 0 0 0 0 1 360
+shape s So
+add r s
+trotate s b 0 0 0 1 1 0 -40
+trotate s b 0 0 0 0 0 1 -10
+tscale b 0 0 0 SCALE1
+tscale s 0 0 0 SCALE1
+
+bop b s
+bopfuse result
+
+set square 680565
+set nb_info [nbshapes result]
+
+set nb_v_good 11
+set nb_e_good 16
+set nb_w_good 8
+set nb_f_good 7
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 45
+
+set 2dviewer 0
--- /dev/null
+puts "TODO OCC12345 ALL: Error : Result shape is WRONG"
+
+puts "============"
+puts "OCC4717"
+puts "============"
+puts ""
+######################################################
+# A regression of new Boolean Operations
+# (cfi/002/H3)
+######################################################
+
+dset SCALE1 10
+protect SCALE1
+
+box b -20 -20 -20 40 40 20
+ellipse w1 0 0 0 15 10
+mkedge w1 w1 -pi/2 pi/2
+trotate w1 0 0 0 1 0 0 90
+wire w w1
+revol r w 0 0 0 0 0 1 360
+shape s So
+add r s
+trotate s b 0 0 0 1 1 0 -40
+trotate s b 0 0 0 0 0 1 -10
+tscale b 0 0 0 SCALE1
+tscale s 0 0 0 SCALE1
+
+bop s b
+bopcut result
+
+set square 181937
+set nb_info [nbshapes result]
+
+set nb_v_good 3
+set nb_e_good 4
+set nb_w_good 2
+set nb_f_good 2
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 14
+
+set 2dviewer 0
--- /dev/null
+puts "TODO OCC12345 ALL: Error : Result shape is WRONG"
+
+puts "============"
+puts "OCC4717"
+puts "============"
+puts ""
+######################################################
+# A regression of new Boolean Operations
+# (cfi/002/H3)
+######################################################
+
+dset SCALE1 10
+protect SCALE1
+
+box b -20 -20 -20 40 40 20
+ellipse w1 0 0 0 15 10
+mkedge w1 w1 -pi/2 pi/2
+trotate w1 0 0 0 1 0 0 90
+wire w w1
+revol r w 0 0 0 0 0 1 360
+shape s So
+add r s
+trotate s b 0 0 0 1 1 0 -40
+trotate s b 0 0 0 0 0 1 -10
+tscale b 0 0 0 SCALE1
+tscale s 0 0 0 SCALE1
+
+bop b s
+bopcut result
+
+set square 680565
+set nb_info [nbshapes result]
+
+set nb_v_good 11
+set nb_e_good 16
+set nb_w_good 8
+set nb_f_good 7
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 45
+
+set 2dviewer 0
--- /dev/null
+puts "TODO OCC12345 ALL: Error : Result shape is WRONG"
+
+puts "============"
+puts "OCC4717"
+puts "============"
+puts ""
+######################################################
+# A regression of new Boolean Operations
+# (cfi/002/H3)
+######################################################
+
+dset SCALE1 10
+protect SCALE1
+
+box b -20 -20 -20 40 40 20
+ellipse w1 0 0 0 15 10
+mkedge w1 w1 -pi/2 pi/2
+trotate w1 0 0 0 1 0 0 90
+wire w w1
+revol r w 0 0 0 0 0 1 360
+shape s So
+add r s
+trotate s b 0 0 0 1 1 0 -40
+trotate s b 0 0 0 0 0 1 -10
+tscale b 0 0 0 SCALE1
+tscale s 0 0 0 SCALE1
+
+bop s b
+boptuc result
+
+set square 680565
+set nb_info [nbshapes result]
+
+set nb_v_good 11
+set nb_e_good 16
+set nb_w_good 8
+set nb_f_good 7
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 45
+
+set 2dviewer 0
--- /dev/null
+puts "TODO OCC12345 ALL: Error : Result shape is WRONG"
+
+puts "============"
+puts "OCC4717"
+puts "============"
+puts ""
+######################################################
+# A regression of new Boolean Operations
+# (cfi/002/H3)
+######################################################
+
+dset SCALE1 10
+protect SCALE1
+
+box b -20 -20 -20 40 40 20
+ellipse w1 0 0 0 15 10
+mkedge w1 w1 -pi/2 pi/2
+trotate w1 0 0 0 1 0 0 90
+wire w w1
+revol r w 0 0 0 0 0 1 360
+shape s So
+add r s
+trotate s b 0 0 0 1 1 0 -40
+trotate s b 0 0 0 0 0 1 -10
+tscale b 0 0 0 SCALE1
+tscale s 0 0 0 SCALE1
+
+bop b s
+boptuc result
+
+set square 181937
+set nb_info [nbshapes result]
+
+set nb_v_good 3
+set nb_e_good 4
+set nb_w_good 2
+set nb_f_good 2
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 14
+
+set 2dviewer 0
--- /dev/null
+puts "TODO OCC12345 ALL: Error : Result shape is WRONG"
+
+puts "============"
+puts "OCC4717"
+puts "============"
+puts ""
+######################################################
+# A regression of new Boolean Operations
+# (cfi/002/H3)
+######################################################
+
+dset SCALE1 10
+protect SCALE1
+
+box b -20 -20 -20 40 40 20
+ellipse w1 0 0 0 15 10
+mkedge w1 w1 -pi/2 pi/2
+trotate w1 0 0 0 1 0 0 90
+wire w w1
+revol r w 0 0 0 0 0 1 360
+shape s So
+add r s
+trotate s b 0 0 0 1 1 0 -40
+trotate s b 0 0 0 0 0 1 -10
+tscale b 0 0 0 SCALE1
+tscale s 0 0 0 SCALE1
+
+bop s b
+bopcommon result
+
+set square 181937
+set nb_info [nbshapes result]
+
+set nb_v_good 3
+set nb_e_good 4
+set nb_w_good 2
+set nb_f_good 2
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 14
+
+set 2dviewer 0
--- /dev/null
+puts "TODO OCC12345 ALL: Error : Result shape is WRONG"
+
+puts "============"
+puts "OCC4717"
+puts "============"
+puts ""
+######################################################
+# A regression of new Boolean Operations
+# (cfi/002/H3)
+######################################################
+
+dset SCALE1 10
+protect SCALE1
+
+box b -20 -20 -20 40 40 20
+ellipse w1 0 0 0 15 10
+mkedge w1 w1 -pi/2 pi/2
+trotate w1 0 0 0 1 0 0 90
+wire w w1
+revol r w 0 0 0 0 0 1 360
+shape s So
+add r s
+trotate s b 0 0 0 1 1 0 -40
+trotate s b 0 0 0 0 0 1 -10
+tscale b 0 0 0 SCALE1
+tscale s 0 0 0 SCALE1
+
+bop b s
+bopcommon result
+
+set square 181937
+set nb_info [nbshapes result]
+
+set nb_v_good 3
+set nb_e_good 4
+set nb_w_good 2
+set nb_f_good 2
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 14
+
+set 2dviewer 0
#####################################################
restore [locate_data_file OCC472a.brep] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file OCC472b.brep] b2
-puts [checkshape b2]
+checkshape b2
bcut result b1 b2
#####################################################
restore [locate_data_file OCC472a.brep] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file OCC472b.brep] b2
-puts [checkshape b2]
+checkshape b2
bcommon result b1 b2
#####################################################
restore [locate_data_file OCC472a.brep] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file OCC472b.brep] b2
-puts [checkshape b2]
+checkshape b2
bfuse result b1 b2
--- /dev/null
+puts "============"
+puts "OCC476"
+puts "============"
+puts ""
+######################################################
+# Regression on reading e3i files with respect of OCC30 and OCC40
+######################################################
+
+restore [locate_data_file OCC485b.brep] s1
+restore [locate_data_file OCC485a.brep] s2
+
+checkshape s1
+checkshape s2
+
+bop s1 s2
+bopfuse result
+
+set nb_info [nbshapes result]
+
+set square 9333.96
+
+set nb_v_good 16
+set nb_e_good 26
+set nb_w_good 11
+set nb_f_good 11
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 67
+
+set 2dviewer 0
--- /dev/null
+puts "============"
+puts "OCC476"
+puts "============"
+puts ""
+######################################################
+# Regression on reading e3i files with respect of OCC30 and OCC40
+######################################################
+
+restore [locate_data_file OCC485b.brep] s1
+restore [locate_data_file OCC485a.brep] s2
+
+checkshape s1
+checkshape s2
+
+bop s2 s1
+bopfuse result
+
+set nb_info [nbshapes result]
+
+set square 9333.96
+
+set nb_v_good 16
+set nb_e_good 26
+set nb_w_good 11
+set nb_f_good 11
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 67
+
+set 2dviewer 0
+
--- /dev/null
+puts "============"
+puts "OCC476"
+puts "============"
+puts ""
+######################################################
+# Regression on reading e3i files with respect of OCC30 and OCC40
+######################################################
+
+restore [locate_data_file OCC485b.brep] s1
+restore [locate_data_file OCC485a.brep] s2
+
+checkshape s1
+checkshape s2
+
+bop s1 s2
+bopcut result
+
+set nb_info [nbshapes result]
+
+set square 99.5159
+
+set nb_v_good 12
+set nb_e_good 19
+set nb_w_good 9
+set nb_f_good 9
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 52
+
+set 2dviewer 0
+
--- /dev/null
+puts "============"
+puts "OCC476"
+puts "============"
+puts ""
+######################################################
+# Regression on reading e3i files with respect of OCC30 and OCC40
+######################################################
+
+restore [locate_data_file OCC485b.brep] s1
+restore [locate_data_file OCC485a.brep] s2
+
+checkshape s1
+checkshape s2
+
+bop s2 s1
+bopcut result
+
+set nb_info [nbshapes result]
+
+set square 9340.03
+
+set nb_v_good 19
+set nb_e_good 33
+set nb_w_good 14
+set nb_f_good 14
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 83
+
+set 2dviewer 0
--- /dev/null
+puts "============"
+puts "OCC476"
+puts "============"
+puts ""
+######################################################
+# Regression on reading e3i files with respect of OCC30 and OCC40
+######################################################
+
+restore [locate_data_file OCC485b.brep] s1
+restore [locate_data_file OCC485a.brep] s2
+
+checkshape s1
+checkshape s2
+
+bop s1 s2
+boptuc result
+
+set nb_info [nbshapes result]
+
+set square 9340.03
+
+set nb_v_good 19
+set nb_e_good 33
+set nb_w_good 14
+set nb_f_good 14
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 83
+
+set 2dviewer 0
--- /dev/null
+puts "============"
+puts "OCC476"
+puts "============"
+puts ""
+######################################################
+# Regression on reading e3i files with respect of OCC30 and OCC40
+######################################################
+
+restore [locate_data_file OCC485b.brep] s1
+restore [locate_data_file OCC485a.brep] s2
+
+checkshape s1
+checkshape s2
+
+bop s2 s1
+boptuc result
+
+set nb_info [nbshapes result]
+
+set square 99.5159
+
+set nb_v_good 12
+set nb_e_good 19
+set nb_w_good 9
+set nb_f_good 9
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 52
+
+set 2dviewer 0
--- /dev/null
+puts "============"
+puts "OCC476"
+puts "============"
+puts ""
+######################################################
+# Regression on reading e3i files with respect of OCC30 and OCC40
+######################################################
+
+restore [locate_data_file OCC485b.brep] s1
+restore [locate_data_file OCC485a.brep] s2
+
+checkshape s1
+checkshape s2
+
+bop s1 s2
+bopcommon result
+
+set nb_info [nbshapes result]
+
+set square 105.587
+
+set nb_v_good 15
+set nb_e_good 26
+set nb_w_good 12
+set nb_f_good 12
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 68
+
+set 2dviewer 0
--- /dev/null
+puts "============"
+puts "OCC476"
+puts "============"
+puts ""
+######################################################
+# Regression on reading e3i files with respect of OCC30 and OCC40
+######################################################
+
+restore [locate_data_file OCC485b.brep] s1
+restore [locate_data_file OCC485a.brep] s2
+
+checkshape s1
+checkshape s2
+
+bop s2 s1
+bopcommon result
+
+set nb_info [nbshapes result]
+
+set square 105.587
+
+set nb_v_good 15
+set nb_e_good 26
+set nb_w_good 12
+set nb_f_good 12
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 68
+
+set 2dviewer 0
##########################################
restore [locate_data_file OCC481.rle] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
#######################################
restore [locate_data_file OCC485a.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC485a.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
if [catch {bfuse result a_1 a_2 } result] {
puts "Faulty OCC485: Draw hangs up during performing fuse operation"
########################################################
restore [locate_data_file OCC488a.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC488b.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
if [catch {bcommon result a_1 a_2 } catch_result] {
puts "Faulty OCC488: command COMMON works wrongly"
########################################################
restore [locate_data_file OCC490a.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC490b.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
if [catch {bfuse result a_1 a_2 } catch_result] {
puts "Faulty OCC490: command FUSE works wrongly"
##############################
restore [locate_data_file OCC492a.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC492b.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
if [catch {bfuse result a_1 a_2 } catch_result] {
puts "Faulty OCC492: command FUSE works wrongly"
########################################################
restore [locate_data_file OCC497a.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC497b.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
if [catch {bcut result a_1 a_2 } catch_result] {
puts "Faulty OCC497:function CUT works wrongly "
########################################################
restore [locate_data_file OCC497c.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC497d.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
if [catch {bcut result a_1 a_2 } catch_result] {
puts "Faulty OCC497:function CUT works wrongly "
########################################################
restore [locate_data_file OCC497e.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC497f.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
bcut result a_1 a_2
########################################################
restore [locate_data_file OCC497g.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC497h.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
if [catch {bfuse result a_1 a_2 } catch_result] {
puts "Faulty OCC497:function FUSE works wrongly "
########################################################
restore [locate_data_file OCC497i.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC497j.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
if [catch {bfuse result a_1 a_2 } catch_result] {
puts "Faulty OCC497:function FUSE works wrongly "
--- /dev/null
+puts "============"
+puts "OCC4993"
+puts "============"
+puts ""
+######################################################
+# Problem in boolean fusion
+# (new topology)
+######################################################
+
+restore [locate_data_file OCC4993-s1.brep] s1
+restore [locate_data_file OCC4993-s2.brep] s2
+
+checkshape s1
+checkshape s2
+
+bop s1 s2
+bopfuse result
+
+set square 4854.51
+set nb_info [nbshapes result]
+
+set nb_v_good 40
+set nb_e_good 64
+set nb_w_good 24
+set nb_f_good 24
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 155
+
+set 2dviewer 0
--- /dev/null
+puts "============"
+puts "OCC4993"
+puts "============"
+puts ""
+######################################################
+# Problem in boolean fusion
+# (new topology)
+######################################################
+
+restore [locate_data_file OCC4993-s1.brep] s1
+restore [locate_data_file OCC4993-s2.brep] s2
+
+checkshape s1
+checkshape s2
+
+bop s2 s1
+bopfuse result
+
+set square 4854.51
+set nb_info [nbshapes result]
+
+set nb_v_good 40
+set nb_e_good 64
+set nb_w_good 24
+set nb_f_good 24
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 1
+set nb_shape_good 155
+
+set 2dviewer 0
###############################
restore [locate_data_file OCC500a.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC500b.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
if [catch {pipe result a_1 a_2 } catch_result] {
puts "Faulty OCC500 : function PIPE works wrongly "
--- /dev/null
+#INTERFACE IGES
+puts "========"
+puts "OCC526"
+puts "========"
+puts ""
+################################################
+## BRepAlgoAPI_Section fails to build planar sections on some faces
+################################################
+
+pload XDE
+catch { source $env(CSF_DrawPluginQADefaults)/QARebuildCommands }
+
+restore [locate_data_file OCC592.brep] a
+
+set Z 67.599311020481764
+plane p 0 0 $Z
+psection r1 a p
+if ![regexp VERTEX [statshape r1]] {puts [format "OCC526 FAULTY Z=%f" $Z ] }
+
+set Z 66.599311020481764
+plane p 0 0 $Z
+psection r2 a p
+if ![regexp VERTEX [statshape r2]] {puts [format "OCC526 FAULTY Z=%f" $Z ] }
+
+set Z 65.599311020481764
+plane p 0 0 $Z
+psection result a p
+if ![regexp VERTEX [statshape result]] {puts [format "OCC526 FAULTY Z=%f" $Z ] }
+
+set length 27.8021
+set 2dviewer 1
+
+
--- /dev/null
+pload QAcommands
+
+puts "========"
+puts "OCC527"
+puts "========"
+puts ""
+#####################################################
+## BRepAlgoAPI_Section creates very distant geometry on some planar sections
+#####################################################
+
+cpulimit 3600
+restore [locate_data_file OCC527.brep] result
+OCC527 result
+
+set square 3774.42
+set 2dviewer 1
--- /dev/null
+
+puts "========================"
+puts "OCC528"
+puts "========================"
+puts ""
+##############################################
+## Result of bcut command is faulty although arguments are valid
+##############################################
+
+restore [locate_data_file OCC528_1.brep] c1
+checkshape c1
+
+restore [locate_data_file OCC528_2.brep] c2
+checkshape c2
+
+if { [catch { bcut result c1 c2 } catch_result] } {
+ puts "OCC528 Faulty: function BCUT works wrongly"
+} else {
+ puts "OCC528 OK:function BCUT works properly"
+}
+
+set square 124.092
+set 2dviewer 0
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_"
+puts "TODO OCC12345 ALL: Error : The square of result shape is"
+
+puts "======="
+puts "OCC530"
+puts "======="
+puts ""
+####################################
+## Draw hungs up during performing bfuse operation
+####################################
+
+cpulimit 3000
+
+restore [locate_data_file OCC530_1.brep] c1
+checkshape c1
+
+restore [locate_data_file OCC530_2.brep] c2
+checkshape c2
+
+if { [catch { bfuse result c1 c2 } catch_result] } {
+ puts "Faulty OCC530 : function BFUSE works wrongly"
+} else {
+ puts "OCC530 OK: function BFUSE works properly"
+}
+
+set square 0
+set 2dviewer 0
+
+
--- /dev/null
+
+puts "========================"
+puts " OCC534 "
+puts " case 1 "
+puts "========================"
+puts ""
+
+hyperbola hyperbola 0 0 0 30 10
+extsurf es_hyperbola hyperbola 0 0 1
+offset es_hyperbola_of es_hyperbola 5
+mkface result es_hyperbola_of 0 3 0 40
+
+
+set tolerance [maxtolerance result]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxFaceTolerance
+regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxEdgeTolerance
+regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxVertexTolerance
+
+if { $MaxFaceTolerance > 1 || $MaxEdgeTolerance > 1 || $MaxVertexTolerance > 1 } {
+ puts "Faulty : Tolerance of shape is more then 1.0"
+} else {
+ puts "Tolerance is OK"
+}
+
+set square 11451.2
+set 2dviewer 0
+
--- /dev/null
+
+puts "========================"
+puts " OCC534 "
+puts " case 2 "
+puts "========================"
+puts ""
+
+hyperbola hyperbola 0 0 0 30 10
+extsurf es_hyperbola hyperbola 0 0 1
+offset es_hyperbola_of es_hyperbola 5
+offset es_hyperbola_of_of es_hyperbola_of 5
+mkface result es_hyperbola_of_of 0 3 0 40
+
+set tolerance [maxtolerance result]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxFaceTolerance
+regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxEdgeTolerance
+regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxVertexTolerance
+
+if { $MaxFaceTolerance > 1 || $MaxEdgeTolerance > 1 || $MaxVertexTolerance > 1 } {
+ puts "Faulty : Tolerance of shape is more then 1.0"
+} else {
+ puts "Tolerance is OK"
+}
+
+set square 11460.7
+set 2dviewer 0
+
+
+
--- /dev/null
+
+puts "========================"
+puts " OCC534 "
+puts " case 3 "
+puts "========================"
+puts ""
+
+hyperbola hyperbola 0 0 0 30 10
+revsurf rs_hyperbola hyperbola 0 400 0 1 0 0
+offset rs_hyperbola_of rs_hyperbola 5
+mkface result rs_hyperbola_of .3 .5 .3 .5
+
+set tolerance [maxtolerance result]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxFaceTolerance
+regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxEdgeTolerance
+regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxVertexTolerance
+
+if { $MaxFaceTolerance > 1 || $MaxEdgeTolerance > 1 || $MaxVertexTolerance > 1 } {
+ puts "Faulty : Tolerance of shape is more then 1.0"
+} else {
+ puts "Tolerance is OK"
+}
+
+set square 171.992
+set 2dviewer 0
+
--- /dev/null
+
+puts "========================"
+puts " OCC534 "
+puts " case 4 "
+puts "========================"
+puts ""
+
+hyperbola hyperbola 0 0 0 30 10
+revsurf rs_hyperbola hyperbola 0 400 0 1 0 0
+offset rs_hyperbola_of rs_hyperbola 5
+offset rs_hyperbola_of_of rs_hyperbola_of 5
+mkface result rs_hyperbola_of_of .3 .5 .3 .5
+
+set tolerance [maxtolerance result]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxFaceTolerance
+regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxEdgeTolerance
+regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxVertexTolerance
+
+if { $MaxFaceTolerance > 1 || $MaxEdgeTolerance > 1 || $MaxVertexTolerance > 1 } {
+ puts "Faulty : Tolerance of shape is more then 1.0"
+} else {
+ puts "Tolerance is OK"
+}
+
+set square 84.8861
+set 2dviewer 0
--- /dev/null
+
+puts "========================"
+puts " OCC534 "
+puts " case 5 "
+puts "========================"
+puts ""
+
+parabola parabola 0 0 0 30
+revsurf rs_parabola parabola 0 400 0 1 0 0
+offset rs_parabola_of rs_parabola 10
+mkface result rs_parabola_of .3 .5 .3 .5
+
+set tolerance [maxtolerance result]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxFaceTolerance
+regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxEdgeTolerance
+regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxVertexTolerance
+
+if { $MaxFaceTolerance > 1 || $MaxEdgeTolerance > 1 || $MaxVertexTolerance > 1 } {
+ puts "Faulty : Tolerance of shape is more then 1.0"
+} else {
+ puts "Tolerance is OK"
+}
+
+set square 13.3227
+set 2dviewer 0
--- /dev/null
+
+puts "========================"
+puts " OCC534 "
+puts " case 6 "
+puts "========================"
+puts ""
+
+parabola parabola 0 0 0 30
+revsurf rs_parabola parabola 0 400 0 1 0 0
+offset rs_parabola_of rs_parabola 10
+offset rs_parabola_of_of rs_parabola_of 5
+mkface result rs_parabola_of_of .3 .5 .3 .5
+
+set tolerance [maxtolerance result]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxFaceTolerance
+regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxEdgeTolerance
+regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxVertexTolerance
+
+if { $MaxFaceTolerance > 1 || $MaxEdgeTolerance > 1 || $MaxVertexTolerance > 1 } {
+ puts "Faulty : Tolerance of shape is more then 1.0"
+} else {
+ puts "Tolerance is OK"
+}
+
+set square 11.9915
+set 2dviewer 0
+
--- /dev/null
+#INTERFACE IGES
+puts "======="
+puts "OCC535"
+puts "======="
+puts ""
+#############################################################
+## After command "fixshape" in DRAW on attached shape quantity of shapes obtained
+## with help command "nbs" is increased.
+#############################################################
+
+pload XDE
+catch { source $env(CSF_DrawPluginQADefaults)/QARebuildCommands }
+
+restore [locate_data_file OCC535.brep] a
+
+set nb_info_a [nbshapes a]
+regexp {SHAPE +: +([-0-9.+eE]+)} $nb_info_a full r1
+
+fixshape result a
+
+set nb_info_res [nbshapes result]
+regexp {SHAPE +: +([-0-9.+eE]+)} $nb_info_res full r2
+
+puts ""
+puts [format "before Shapes = %s after Shapes = %s" $r1 $r2]
+puts ""
+
+if { $r1 == $r2 } {
+ puts "OCC535 OK"
+} else {
+ puts "OCC535 Faulty"
+}
+
+set square 3554.31
+set 2dviewer 0
--- /dev/null
+puts "========"
+puts "OCC548"
+puts "OCC628"
+puts "========"
+puts ""
+##################################################################
+# Function BRepTool::IsClosed returns Standard_True although argument is open shell
+# Incorrect work of BRepCheck
+##################################################################
+
+pload XDE
+catch { source $env(CSF_DrawPluginQADefaults)/QARebuildCommands }
+
+restore [locate_data_file CTO908_topo103-t.brep] a
+
+decho off
+
+checkshape a
+checkshape a b
+
+decho on
+
+fixshape result a 0.001
+
+set che [checkshape result c]
+if { [regexp {problems} $che] } {
+ puts "Faulty OCC628"
+}
+
+set square 119630
+set 2dviewer 2
##########################
restore [locate_data_file OCC571.brep] a
-puts [checkshape a]
+checkshape a
explode a
if [catch {fillet result a_1 1.2 a_2 } catch_result] {
##########################
restore [locate_data_file OCC571.brep] a
-puts [checkshape a]
+checkshape a
explode a
if [catch {fillet result a_1 0.03 a_2 } catch_result] {
restore [locate_data_file BUC60974.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_1 a_2
set square 191388
restore [locate_data_file BUC60974.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_2 a_1
set square 191388
restore [locate_data_file BUC60975.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_1 a_2
set square 241843
restore [locate_data_file BUC60975.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_2 a_1
set square 241843
############################################################
cpulimit 5000
restore [locate_data_file OCC600_1.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file OCC600_2.brep] b
-puts [checkshape b]
+checkshape b
bop b a
bopcommon result
###########################################
restore [locate_data_file OCC602.brep] a
-puts [checkshape a]
+checkshape a
explode a e
##############################
restore [locate_data_file OCC605a.brep] w1
-puts [checkshape w1]
+checkshape w1
restore [locate_data_file OCC605b.brep] w2
-puts [checkshape w2]
+checkshape w2
if { [catch {pipe result w2 w1 } catch_result] } {
puts "Faulty OCC605: function PIPE works with exception."
#############################
restore [locate_data_file OCC615.brep] a
-puts [checkshape a]
+checkshape a
explode a e
if [catch {blend result a 9 a_15 } catch_result] {
########################################
restore [locate_data_file OCC616.brep] a
-puts [checkshape a]
+checkshape a
if { [catch {mkoffset result a 5 -2} catch_result] } {
puts "Faulty OCC616: function MKOFFSET works with exception"
} else {
renamevar result_1 result
- puts [checkshape result]
+ checkshape result
puts "OCC616 OK: function MKOFFSET works OK"
}
restore [locate_data_file OCC62.brep] sh
explode sh
-puts [checkshape sh]
+checkshape sh
bfuse res1 sh_1 sh_3
-puts [checkshape res1]
+checkshape res1
bfuse res2 res1 sh_2
-puts [checkshape res2]
+checkshape res2
bfuse res3 res2 sh_6
-puts [checkshape res3]
+checkshape res3
bfuse res4 res3 sh_4
-puts [checkshape res4]
+checkshape res4
bfuse res5 res4 sh_5
-puts [checkshape res5]
+checkshape res5
renamevar res5 result
############################
restore [locate_data_file OCC620a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file OCC620b.brep] b
-puts [checkshape b]
+checkshape b
bop a b
############################
restore [locate_data_file OCC620a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file OCC620b.brep] b
-puts [checkshape b]
+checkshape b
bop a b
pload QAcommands
restore [locate_data_file OCC625.brep] a
-puts [checkshape a]
+checkshape a
vinit
tclean a
blend res1 a 10 a_22 10 a_14
blend result res1 10 a_17 10 a_4
-puts [checkshape result]
+checkshape result
vinit
vdisplay result
##########################################
restore [locate_data_file OCC629a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file OCC629b.brep] b
-puts [checkshape b]
+checkshape b
if [catch {pipe result a b } catch_result] {
puts "Faulty OCC629: function PIPE works wrongly"
#####################################
restore [locate_data_file OCC636a.brep] s
-puts [checkshape s]
+checkshape s
restore [locate_data_file OCC636b.brep] s1
-puts [checkshape s1]
+checkshape s1
restore [locate_data_file OCC636c.brep] s2
-puts [checkshape s2]
+checkshape s2
mksweep s
addsweep s1
##########################################
restore [locate_data_file OCC637a.brep] s
-puts [checkshape s]
+checkshape s
restore [locate_data_file OCC636c.brep] s1
-puts [checkshape s1]
+checkshape s1
restore [locate_data_file OCC637c.brep] s2
-puts [checkshape s2]
+checkshape s2
mksweep s
addsweep s1
##########################################
restore [locate_data_file OCC637d.brep] s
-puts [checkshape s]
+checkshape s
restore [locate_data_file OCC637c.brep] s1
-puts [checkshape s1]
+checkshape s1
restore [locate_data_file OCC637f.brep] s2
-puts [checkshape s2]
+checkshape s2
mksweep s
addsweep s1
puts ""
restore [locate_data_file OCC67.brep] sh
-puts [checkshape sh]
+checkshape sh
explode sh e
#######################################################
restore [locate_data_file OCC673a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file OCC673b.brep] b
-puts [checkshape b]
+checkshape b
if [catch {spliteshape result a a b} catch_result] {
puts "Faulty OCC673: function SPLITSHAPE works wrongly"
puts ""
restore [locate_data_file OCC68.brep] sh
-puts [checkshape sh]
+checkshape sh
explode sh
puts ""
restore [locate_data_file OCC68.brep] sh
-puts [checkshape sh]
+checkshape sh
explode sh
tcopy c2 cc2
bcommon int1 cc1 cc2
##########checkshape -top int1
-puts [checkshape -top int1]
+checkshape -top int1
tcopy c1 cc1
tcopy c2 cc2
bcut cut1 cc1 cc2
-puts [checkshape -top cut1]
+checkshape -top cut1
tcopy c1 cc1
tcopy c2 cc2
bcut cut2 cc2 cc1
##########checkshape -top cut2
-puts [checkshape -top cut2]
+checkshape -top cut2
compound int1 cut1 cut2 comp3
##########checkshape -top comp3
-puts [checkshape -top comp3]
+checkshape -top comp3
#donly comp3
tcopy comp3 ccomp3
tcopy h3 ch3
bcommon int2 ccomp3 ch3
##########checkshape -top int2
-puts [checkshape -top int2]
+checkshape -top int2
#donly int2
tcopy comp3 ccomp3
tcopy h3 ch3
bcut cut3 ccomp3 ch3
##########checkshape -top cut3
-puts [checkshape -top cut3]
+checkshape -top cut3
#donly cut3
tcopy comp3 ccomp3
tcopy h3 ch3
bcut cut4 ch3 ccomp3
##########checkshape -top cut4
-puts [checkshape -top cut4]
+checkshape -top cut4
compound int2 cut3 cut4 result
##########checkshape -top res
-puts [checkshape -top result]
+checkshape -top result
##########set che [checkshape -top res]
##########
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_"
+puts "TODO OCC12345 ALL: Error : The square of result shape is"
+
+puts "================"
+puts "OCC693"
+puts "================"
+puts ""
+###################################################
+## The boolean operations give incorrect result if one of shapes is compound
+## consisting of several adjoint solids
+####################################################
+
+box h1 234 52 0 41 98 40
+box v1 241 136 20 31 31 15
+box h3 215 120 20 78 15 15
+
+compound h1 c1
+compound v1 c2
+
+tcopy c1 cc1
+tcopy c2 cc2
+
+bop cc1 cc2
+bopcommon int1
+
+checkshape -top int1
+
+tcopy c1 cc1
+tcopy c2 cc2
+
+bop cc1 cc2
+bopcut cut1
+
+checkshape -top cut1
+
+tcopy c1 cc1
+tcopy c2 cc2
+
+bop cc2 cc1
+bopcut cut2
+
+checkshape -top cut2
+
+compound int1 cut1 cut2 comp3
+
+checkshape -top comp3
+
+tcopy comp3 ccomp3
+tcopy h3 ch3
+
+bop ccomp3 ch3
+bopcommon int2
+
+checkshape -top int2
+
+tcopy comp3 ccomp3
+tcopy h3 ch3
+
+bop ccomp3 ch3
+bopcut cut3
+
+checkshape -top cut3
+
+tcopy comp3 ccomp3
+tcopy h3 ch3
+
+bop ch3 ccomp3
+bopcut cut4
+
+checkshape -top cut4
+
+compound int2 cut3 cut4 result
+
+checkshape -top result
+
+set square 33196
+set 3dviewer 1
+
restore [locate_data_file OCC697_1.brep] b1
restore [locate_data_file OCC697_2.brep] b2
-puts [checkshape b1]
-puts [checkshape b2]
+checkshape b1
+checkshape b2
##############################################
if { [catch {bfuse result b1 b2} catch_result] } {
##############################################
restore [locate_data_file OCC697_2.brep] b2
restore [locate_data_file OCC697_3.brep] b3
-puts [checkshape b2]
-puts [checkshape b3]
+checkshape b2
+checkshape b3
##############################################
if { [catch {bfuse result b2 b3} catch_result] } {
##############################################
######################################
cpulimit 10000
restore [locate_data_file OCC698_1.brep] b4
-puts [checkshape b4]
+checkshape b4
restore [locate_data_file OCC698_2.brep] b5
-puts [checkshape b5]
+checkshape b5
bcut result b5 b4
#########################################################
restore [locate_data_file OCC712.brep] a
-puts [checkshape a]
+checkshape a
explode a f
####################################################
restore [locate_data_file OCC714.brep] a
-puts [checkshape a]
+checkshape a
set nb_info1 [nbshapes a]
regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info1 full ve1
restore [locate_data_file OCC726.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcommon result a_1 a_2
restore [locate_data_file OCC726.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcut result a_1 a_2
#######################################
restore [locate_data_file OCC743_corr2.brep] a
-puts [checkshape a]
+checkshape a
if { [catch { mkoffset result a 1 -15 } status] } {
puts "Faulty OCC743"
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
#######################################################
restore [locate_data_file OCC745_1.brep] a
-puts [checkshape a]
+checkshape a
if { [catch { mkoffset result a 1 -10 } status] } {
puts "Faulty : an exception was caught"
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
##################################################
restore [locate_data_file OCC745_nb3.brep] w
-puts [checkshape w]
+checkshape w
if { [catch { mkoffset result w 1 10 } status] } {
puts "Faulty OCC745"
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
--- /dev/null
+
+puts "========"
+puts "OCC745"
+puts "========"
+puts ""
+#################################
+# Infinite loop during bisector loci calculation.
+#################################
+
+restore [locate_data_file OCC745_nb5.brep] w
+checkshape w
+mkplane result w
+topoload result
+drawcont
+
+cpulimit 600
+
+mat
+
+result
+
+puts "OCC745 OK"
+
+set square 5844.54
+set 2dviewer 1
##################################################
restore [locate_data_file OCC745_2.brep] a
-puts [checkshape a]
+checkshape a
mkplane pl a
topoload pl
drawcont
--- /dev/null
+
+puts "========"
+puts "OCC745"
+puts "========"
+puts ""
+###########################
+## Incorrect MAT (map of bissectors)
+###########################
+
+puts "#"
+puts "Non stable test case on Linux. MKV. 04.02.2011"
+puts " ( Gif )"
+puts "#"
+
+restore [locate_data_file OCC745_ellipse.brep] w
+checkshape w
+mkplane result w
+topoload result
+drawcont
+
+smallview -2D-
+2dfit
+
+mat
+#result
+
+set square 8357.41
+set 2dviewer 0
+
###########################################
restore [locate_data_file OCC745_pocket1.brep] a
-puts [checkshape a]
+checkshape a
if { [catch { mkoffset result a 1 -10 } status] } {
puts "Faulty OCC745"
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
--- /dev/null
+
+puts "========"
+puts "OCC745"
+puts "========"
+puts ""
+############################
+# Not correct creation of bisector loci:
+############################
+
+restore [locate_data_file OCC745_pocket4.brep] w
+checkshape w
+plane p
+mkface result p w
+topoload result
+drawcont
+
+smallview -2D-
+2dfit
+
+mat
+result
+
+set square 5844.21
+set 2dviewer 0
################################
restore [locate_data_file BUC60878-wire3.brep] a
-puts [checkshape a]
+checkshape a
if { [catch { mkoffset result a 1 -10 } status] } {
puts "Faulty OCC745"
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
######################################################
source [locate_data_file OCC745_cont1.dat]
-puts [checkshape pp]
+checkshape pp
if { [catch { mkoffset result pp 1 -10 } status] } {
puts "Faulty OCC745"
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
###################################################
restore [locate_data_file BUC60830-face2.brep] f
-puts [checkshape f]
+checkshape f
if { [catch { mkoffset result f 45 -0.042225 } status] } {
puts "Faulty OCC745"
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
#####################################################
source [locate_data_file OCC745_cont2.dat]
-puts [checkshape pq]
+checkshape pq
if { [catch { mkoffset result pq 1 -10 } status] } {
puts "Faulty OCC745"
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
##################################
restore [locate_data_file OCC748_1.brep] s1
-puts [checkshape s1]
+checkshape s1
restore [locate_data_file OCC748_2.brep] s2
-puts [checkshape s2]
+checkshape s2
bcommon result s1 s2
####################################################################
restore [locate_data_file OCC755_1.brep] a1
-puts [checkshape a1]
+checkshape a1
restore [locate_data_file OCC755_2.brep] a2
-puts [checkshape a2]
+checkshape a2
bcut result a1 a2
restore [locate_data_file OCC758.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
-puts [checkshape a_3]
+checkshape a_1
+checkshape a_2
+checkshape a_3
bcut res1 a_1 a_2
-puts [checkshape res1]
+checkshape res1
bcut result res1 a_3
####################################
restore [locate_data_file OCC763_c1.brep] c1
-puts [checkshape c1]
+checkshape c1
restore [locate_data_file OCC763_c2.brep] c2
-puts [checkshape c2]
+checkshape c2
bop c1 c2
bopfuse result
######################################################
restore [locate_data_file buc60866a.rle] f
-puts [checkshape f]
+checkshape f
restore [locate_data_file buc60866b.rle] w
-puts [checkshape w]
+checkshape w
pipe result w f
restore [locate_data_file OCC770.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
-puts [checkshape a_3]
+checkshape a_1
+checkshape a_2
+checkshape a_3
bfuse res1 a_1 a_2
-puts [checkshape res1]
+checkshape res1
bfuse result res1 a_3
restore [locate_data_file OCC771.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
-puts [checkshape a_3]
+checkshape a_1
+checkshape a_2
+checkshape a_3
bfuse res1 a_1 a_2
-puts [checkshape res1]
+checkshape res1
bfuse result res1 a_3
restore [locate_data_file OCC772.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcommon result a_1 a_2
restore [locate_data_file OCC774.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
if { [catch { bcut result a_1 a_2 } status] } {
puts "Faulty OCC774 (case 1)"
##
restore [locate_data_file OCC774.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
if { [catch { bcut result a_2 a_1 } status] } {
puts "Faulty OCC774 (case 2)"
restore [locate_data_file OCC775.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_1 a_2
restore [locate_data_file OCC776.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcut result a_1 a_2
restore [locate_data_file OCC776.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcut result a_2 a_1
restore [locate_data_file OCC778.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcut result a_1 a_2
restore [locate_data_file OCC778.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcut result a_2 a_1
################################
restore [locate_data_file OCC779_s1.brep] s1
-puts [checkshape s1]
+checkshape s1
restore [locate_data_file OCC779_s2.brep] s2
-puts [checkshape s2]
+checkshape s2
ttranslate s1 0 0 -30
prism s1p s1 0 0 70
-puts [checkshape s1p]
+checkshape s1p
bcommon result s1p s2
#datadir /disk4/QA/hotline/GRIDS/chl/data
restore [locate_data_file BUC60875_wire.brep] w
restore [locate_data_file BUC60875_profile.brep] p
-puts [checkshape w]
-puts [checkshape p]
+checkshape w
+checkshape p
pipe result w p
set square 10191.8
restore [locate_data_file OCC780.brep] f
explode f f
-puts [checkshape f_1]
-puts [checkshape f_2]
+checkshape f_1
+checkshape f_2
bcommon result f_1 f_2
restore [locate_data_file OCC780.brep] f
explode f f
-puts [checkshape f_1]
-puts [checkshape f_2]
+checkshape f_1
+checkshape f_2
bfuse result f_1 f_2
##########################################################
restore [locate_data_file BUC60877_lh.brep] sh
-puts [checkshape sh]
+checkshape sh
plane pl 820 198 140 -1e-06 0 1
mkface f pl -1000 500 -300 100
###############################
restore [locate_data_file BUC60907_px1.rle] sh
-puts [checkshape sh]
+checkshape sh
plane f 60 0 0 1 0 0
mkface f f
--- /dev/null
+puts "TODO OCC12345 ALL: OCC817: Error"
+puts "TODO OCC12345 ALL: Error : The square of result shape is"
+
+pload QAcommands
+
+puts "============"
+puts "OCC817"
+puts "============"
+puts ""
+#############################
+## Bad results of BRepAlgoAPI_Common
+#############################
+
+set InfoList [OCC817 result 10]
+
+set OriginalVolume 0
+regexp {Info: Original volume = ([-0-9.+eE]+)} $InfoList full OriginalVolume
+
+set AccumulatedMeshedVolume 0
+regexp {Info: Accumulated meshed volume = ([-0-9.+eE]+)} $InfoList full AccumulatedMeshedVolume
+
+set percent_max 0.1
+set percent [expr abs(${AccumulatedMeshedVolume} - ${OriginalVolume}) / (${OriginalVolume}) * 100.]
+
+if {${percent} > ${percent_max}} {
+ puts "OCC817: Error"
+} else {
+ puts "OCC817: OK"
+}
+
+set 2dviewer 0
+set square 0
--- /dev/null
+pload QAcommands
+
+puts "============"
+puts "OCC817"
+puts "============"
+puts ""
+#############################
+## Bad results of BRepAlgoAPI_Common
+#############################
+
+set InfoList [OCC817 result 15]
+
+set OriginalVolume 0
+regexp {Info: Original volume = ([-0-9.+eE]+)} $InfoList full OriginalVolume
+
+set AccumulatedMeshedVolume 0
+regexp {Info: Accumulated meshed volume = ([-0-9.+eE]+)} $InfoList full AccumulatedMeshedVolume
+
+set percent_max 0.1
+set percent [expr abs(${AccumulatedMeshedVolume} - ${OriginalVolume}) / (${OriginalVolume}) * 100.]
+
+if {${percent} > ${percent_max}} {
+ puts "OCC817: Error"
+} else {
+ puts "OCC817: OK"
+}
+set 2dviewer 0
+set square 6000
--- /dev/null
+pload QAcommands
+
+puts "============"
+puts "OCC817"
+puts "============"
+puts ""
+#############################
+## Bad results of BRepAlgoAPI_Common
+#############################
+
+set InfoList [OCC817 result 30]
+
+
+set OriginalVolume 0
+regexp {Info: Original volume = ([-0-9.+eE]+)} $InfoList full OriginalVolume
+
+set AccumulatedMeshedVolume 0
+regexp {Info: Accumulated meshed volume = ([-0-9.+eE]+)} $InfoList full AccumulatedMeshedVolume
+
+set percent_max 0.1
+set percent [expr abs(${AccumulatedMeshedVolume} - ${OriginalVolume}) / (${OriginalVolume}) * 100.]
+
+if {${percent} > ${percent_max}} {
+ puts "OCC817: Error"
+} else {
+ puts "OCC817: OK"
+}
+set 2dviewer 0
+set square 6000
###############################
restore [locate_data_file BUC60907_px1.rle] sh
-puts [checkshape sh]
+checkshape sh
plane f 0 14.8053 0 0 1 0
mkface f f
#####################################
## BRepMesh_IncrementalMesh fails on some faces
#####################################
+## (old topology)
+#####################################
-if { [ catch { set info_result [OCC822_1 a1 a2 result] } ] } {
- puts "Faulty : an exception was caught"
+if {[ catch { set info_result [OCC822_1 a1 a2 result 0] } ] } {
+ puts "Faulty OCC822"
} else {
- if { [lsearch ${info_result} FAILED] > -1 } {
- puts "Faulty : command was FAILED"
+ if { [regexp {FAILED} $info_result] } {
+ puts "Faulty OCC822"
}
set ExplodeList [explode result]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC822"
}
}
#####################################
## BRepMesh_IncrementalMesh fails on some faces
#####################################
+## (old topology)
+#####################################
-if { [ catch { set info_result [OCC822_2 a1 a2 result] } ] } {
- puts "Faulty : an exception was caught"
+if { [ catch { set info_result [OCC822_2 a1 a2 result 0] } ] } {
+ puts "Faulty OCC822"
} else {
- if { [lsearch ${info_result} FAILED] > -1} {
- puts "Faulty : commands was FAILED"
+ if { [regexp {FAILED} $info_result] } {
+ puts "Faulty OCC822"
}
set ExplodeList [explode result]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC822"
}
}
-
set square 61963.5
-set 2dviewer 0
+set 3dviewer 1
###############################
## BRepAlgoAPI_Fuse fails on two cylinders
###############################
+## (old topology)
+#####################################
if { [ catch { set info_result [OCC823 a1 a2 result] } ] } {
- puts "Faulty : an exception was caught"
+ puts "Faulty OCC823"
} else {
-
- if { [lsearch ${info_result} FAILED] > -1} {
- puts "Faulty : commands was FAILED"
+ if { [regexp {FAILED} $info_result] } {
+ puts "Faulty OCC823"
}
set ExplodeList [explode result]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC823 : Resulting shape is empty COMPOUND"
}
}
-
set square 23189.5
-set 2dviewer 0
+set 2dviewer 1
if { [ catch { set info_result [OCC823 a1 a2 a3] } ] } {
puts "Faulty : exception was caught"
} else {
- puts [checkshape a1]
- puts [checkshape a2]
+ checkshape a1
+ checkshape a2
bfuse result a1 a2
set ExplodeList [explode result]
####################################
## BRepAlgoAPI_Fuse fails on cylinder and sphere
####################################
+## (old topology)
+#####################################
-if { [ catch { set info_result [OCC824 a1 a2 result] } ] } {
- puts "Faulty : an exception was caught"
+if { [ catch { set info_result [OCC824 a1 a2 result 0] } ] } {
+ puts "Faulty OCC824"
} else {
- if { [lsearch ${result} FAILED] > -1} {
- puts "Faulty : command was FAILED"
+ if { [regexp {FAILED} $info_result] } {
+ puts "Faulty OCC824"
}
set ExplodeList [explode result]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC824"
}
}
set square 16336.3
-set 2dviewer 0
+set 2dviewer 1
if { [ catch { set info_result [OCC824 a1 a2 a3] } ] } {
puts "Faulty : exception was catch"
} else {
- puts [checkshape a1]
- puts [checkshape a2]
+ checkshape a1
+ checkshape a2
bfuse result a1 a2
set ExplodeList [explode result]
-puts "TODO OCC12345 ALL: Faulty : command was FAILED"
-puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_"
-puts "TODO OCC12345 ALL: Error : The square of result shape is"
+puts "TODO OCC12345 ALL: Faulty OCC825"
+puts "TODO OCC12345 ALL: Error : The command is not valid. The square is"
pload QAcommands
######################################
## BRepAlgoAPI_Cut fails on sphere and b-spline face
######################################
+## (old topology)
+#####################################
-if { [ catch { set info_result [OCC825 a1 a2 a3 result1 result2] } ] } {
- puts "Faulty : an exception was caught"
+if { [ catch { set info_result [OCC825 a1 a2 a3 res1 res2 0] } ] } {
+ puts "Faulty OCC825"
} else {
- if { [lsearch ${info_result} FAILED] > -1} {
- puts "Faulty : command was FAILED"
+ if { [regexp {FAILED} $info_result] } {
+ puts "Faulty OCC825"
}
- puts [checkshape result1]
- puts [checkshape result2]
-
- set ExplodeList [explode result1]
+
+ set ExplodeList [explode res1]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC825"
}
- set ExplodeList [explode result2]
+
+ set ExplodeList [explode res2]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC825"
}
-
- renamevar result1 result
+ checkshape res1
+ renamevar res2 result
}
set square 0
-set 2dviewer 0
+set 2dviewer 1
if { [ catch { set info_result [OCC825 a1 a2 a3 a4 a5] } ] } {
puts "Faulty : an exception was caught"
} else {
- puts [checkshape a1]
- puts [checkshape a2]
+ checkshape a1
+ checkshape a2
bcut result a2 a1
set ExplodeList [explode result]
if {[llength ${ExplodeList}] < 1} {
if { [ catch { set info_result [OCC825 a1 a2 a3 a4 a5] } ] } {
puts "Faulty : an exception was caught"
} else {
- puts [checkshape a1]
- puts [checkshape a3]
+ checkshape a1
+ checkshape a3
bcut result a3 a1
###################################
## BRepAlgoAPI_Fuse fails on revolved and sphere
###################################
+## (old topology)
+#####################################
if { [ catch { set info_result [OCC826 a1 a2 result] } ] } {
- puts "Faulty : an exception was caught"
+ puts "Faulty OCC826"
} else {
- if { [lsearch ${info_result} FAILED] > -1} {
- puts "Faulty : command was FAILED"
+ if { [regexp {FAILED} $info_result] } {
+ puts "Faulty OCC826"
}
+
set ExplodeList [explode result]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC826"
}
}
if { [ catch { set result [OCC826 a1 a2 a3] } ] } {
puts "Faulty : an exception was caught"
} else {
- puts [checkshape a1]
- puts [checkshape a2]
+ checkshape a1
+ checkshape a2
bfuse result a1 a2
set ExplodeList [explode result]
if { [lsearch ${info_result} FAILED] > -1} {
puts "Faulty OCC827 (case 1)"
}
- puts [checkshape a1]
- puts [checkshape a2]
- puts [checkshape a3]
- puts [checkshape result1]
- puts [checkshape result2]
+ checkshape a1
+ checkshape a2
+ checkshape a3
+ checkshape result1
+ checkshape result2
set ExplodeList [explode result1]
if {[llength ${ExplodeList}] < 1} {
+puts "TODO OCC12345 ALL: Error : The square of result shape is"
+puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_"
+puts "TODO OCC12345 ALL: Faulty OCC827"
+
pload QAcommands
-puts "======="
+puts "========"
puts "OCC827"
-puts "======="
+puts "========"
puts ""
-####################################
+###################################
## BRepAlgoAPI_Fuse fails on cylinder and torus
-####################################
-##
-## Note: test for old topology
-##
-################################
-
-set status 1
+###################################
+## (old topology)
+#####################################
#
# a1 - Cylinder
# res2 - Fuse(Torus2 & res1)
#
-if [ catch { set info_result [OCC827 a1 a2 a3 a4 a5] } ] {
- puts "Faulty OCC827 (case 0)"
+if { [ catch { set info_result [OCC827 a1 a2 a3 res1 res2 0] } ] } {
+ puts "Faulty OCC827"
} else {
- puts [checkshape a1]
- puts [checkshape a2]
- puts [checkshape a3]
- bfuse result1 a1 a2
- puts [checkshape result1]
-
- set ExplodeList [explode result1]
+ if { [regexp {FAILED} $info_result] } {
+ puts "Faulty OCC827"
+ }
+ checkshape a1
+ checkshape a2
+ checkshape a3
+ checkshape res1
+
+ set ExplodeList [explode res1]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC827"
}
-
- bfuse result2 result1 a3
- puts [checkshape result2]
- set ExplodeList [explode result2]
+ set ExplodeList [explode res2]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC827"
}
- renamevar result2 result
+ renamevar res2 result
}
-
-set square 11847.7
-set 2dviewer 0
+set square 0
+set 2dviewer 1
####################################
## BRepAlgoAPI_Fuse fails on cylinder and torus
####################################
-##
-## Note: test for old topology
-##
-################################
+
#
# a1 - Cylinder
#
if { [ catch { set info_result [OCC827 a1 a2 a3 a4 a5] } ] } {
- puts "Faulty an exception was caught"
+ puts "Faulty OCC827"
} else {
- puts [checkshape a1]
- puts [checkshape a2]
- puts [checkshape a3]
- bfuse result1 a2 a1
- puts [checkshape result1]
- set ExplodeList [explode result1]
+ checkshape a1
+ checkshape a2
+ checkshape a3
+ bop a1 a2
+ bopfuse res1
+ checkshape res1
+ set ExplodeList [explode res1]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC827 : Resulting shape is empty COMPOUND"
}
- bfuse result2 a3 result1
- puts [checkshape result2]
-
- set ExplodeList [explode result2]
+ bop res1 a3
+ bopfuse result
+ set ExplodeList [explode result]
if {[llength ${ExplodeList}] < 1} {
- puts "Faulty : Resulting shape is empty COMPOUND"
+ puts "Faulty OCC827 : Resulting shape is empty COMPOUND"
}
-
- renamevar result2 result
}
-
set square 11847.7
set 2dviewer 0
+
--- /dev/null
+pload QAcommands
+
+puts "======="
+puts "OCC827"
+puts "======="
+puts ""
+####################################
+## BRepAlgoAPI_Fuse fails on cylinder and torus
+####################################
+
+#
+# a1 - Cylinder
+# a2 - Torus1
+# a3 - Torus1
+# res1 - Fuse(Torus1 & Cylinder)
+# res2 - Fuse(Torus2 & res1)
+#
+
+if { [ catch { set info_result [OCC827 a1 a2 a3 a4 a5] } ] } {
+ puts "Faulty OCC827"
+} else {
+ checkshape a1
+ checkshape a2
+ checkshape a3
+ bop a2 a1
+ bopfuse res1
+ checkshape res1
+ set ExplodeList [explode res1]
+ if {[llength ${ExplodeList}] < 1} {
+ puts "Faulty OCC827 : Resulting shape is empty COMPOUND"
+ }
+ bop a3 res1
+ bopfuse result
+
+ set ExplodeList [explode result]
+ if {[llength ${ExplodeList}] < 1} {
+ puts "Faulty OCC827 : Resulting shape is empty COMPOUND"
+ }
+}
+
+set square 11847.7
+set 2dviewer 1
+
if { [lsearch ${info_result} FAILED] > -1} {
puts "Faulty : command was FAILED"
}
- puts [checkshape a1]
+ checkshape a1
explode a1 e
blend result a1 10 a1_7 10 a1_6
###################################
restore [locate_data_file OCC829_w1.brep] a
-puts [checkshape a]
+checkshape a
explode a w
if { [catch { mkoffset result a_1 1 5 } status] } {
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
## BRepOffsetAPI_MakeOffset fails on given wires
###################################
restore [locate_data_file OCC829_w2.brep] a
-puts [checkshape a]
+checkshape a
explode a w
if { [catch { mkoffset result a_1 1 5 } status] } {
set num [llength $ll]
puts [format "Faulty : Result shape result is COMPOUND and contains %s wires" $num]
foreach {k} $ll {
- puts [checkshape $k]
+ checkshape $k
regexp {nb alone Vertices : ([-0-9.+eE]+)} [checksection $k] full cs
if { $cs != 0 } {
puts [format "Faulty : Result shape is UNclosed wire !!! " $k]
puts "1 case: perform section with plane"
restore [locate_data_file BUC60912_sec_slow.brep] c
explode c
-puts [checkshape c_1]
-puts [checkshape c_2]
+checkshape c_1
+checkshape c_2
renamevar c_1 sh
renamevar c_2 pr
puts "2 case: perform section with planar BSpline surface"
restore [locate_data_file BUC60912_sec_slow.brep] c
explode c
-puts [checkshape c_1]
-puts [checkshape c_2]
+checkshape c_1
+checkshape c_2
renamevar c_1 sh
renamevar c_2 pr
puts "Restoring the wires :"
restore [locate_data_file OCC86a.brep] w1
-puts [checkshape w1]
+checkshape w1
restore [locate_data_file OCC86b.brep] w2
-puts [checkshape w2]
+checkshape w2
puts "Do Thrusection by following command: thrusections res 0 0 w1 w2 "
puts "Restoring the wires :"
restore [locate_data_file OCC86a.brep] w1
-puts [checkshape w1]
+checkshape w1
restore [locate_data_file OCC86b.brep] w2
-puts [checkshape w2]
+checkshape w2
set first1 [dump w1]
set second1 [dump w2]
--- /dev/null
+puts "======="
+puts "DXF906"
+puts "OCC889"
+puts "OCC1013"
+puts "======="
+puts ""
+#########################################################
+## After fix OCC157 we have plane surface in face (instead bspline as in C40).
+## But now checkshape founds number of errors on new face. I think that face from
+## c40 is not better than in dev
+#########################################################
+
+restore [locate_data_file DXF906.rle] a
+
+mkplane result a
+
+set square 92131.6
+set 2dviewer 0
restore [locate_data_file OCC890.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
if { [ catch { bfuse result a_1 a_2 } catch_result ] } {
puts "Faulty OCC890 (case 3)"
restore [locate_data_file OCC910.rle] a
-puts [checkshape a]
+checkshape a
explode a w
-puts [checkshape a_7]
+checkshape a_7
set list1 [expwire a_7]
regexp {TopoDS_Iterator\(EDGE\) donne ([-0-9.+eE]+) Edges} $list1 full TopoDS_Iterator1
restore [locate_data_file OCC919-PROC.brep] a_1
#
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
if { [ catch { bfuse result a_1 a_2} catch_result ] } {
puts "Faulty OCC919 (case 1)"
--- /dev/null
+puts "========="
+puts " OCC951 "
+puts "========="
+puts ""
+##################################################
+##BRepAlgoAPI_Section and BRepAlgoAPI_Common fail on given shapes
+##################################################
+## (old topology)
+## (common)
+## (section)
+######################################################
+
+restore [locate_data_file OCC951_1.brep] b
+restore [locate_data_file OCC951_2.brep] a
+
+checkshape b
+checkshape a
+
+bcommon result b a
+
+set nb_info [nbshapes result]
+regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve
+regexp {EDGE +: +([-0-9.+eE]+)} $nb_info full ed
+regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi
+regexp {FACE +: +([-0-9.+eE]+)} $nb_info full fa
+regexp {SHELL +: +([-0-9.+eE]+)} $nb_info full sh
+regexp {SOLID +: +([-0-9.+eE]+)} $nb_info full so
+regexp {COMPSOLID +: +([-0-9.+eE]+)} $nb_info full cm
+regexp {COMPOUND +: +([-0-9.+eE]+)} $nb_info full co
+regexp {SHAPE +: +([-0-9.+eE]+)} $nb_info full shl
+if { $ve != 0 || $ed != 0 || $wi != 0 || $fa != 0 || $sh != 0 || $so != 0 || $cm != 0 || $co != 0 || $shl != 0 } {
+ puts " OCC951 : COMMON operation was made PROPERLY"
+} else {
+ puts "Faulty OCC951 : result of COMMON operation is EMPTY compound"
+}
+
+set square 560.908
+set 3dviewer 1
--- /dev/null
+puts "========="
+puts " OCC951 "
+puts "========="
+puts ""
+##################################################
+##BRepAlgoAPI_Section and BRepAlgoAPI_Common fail on given shapes
+##################################################
+## (new topology)
+## (bopcommon)
+## (bopsection)
+######################################################
+
+restore [locate_data_file OCC951_1.brep] b
+restore [locate_data_file OCC951_2.brep] a
+
+checkshape b
+checkshape a
+
+bop b a
+bopcommon result
+
+set nb_info [nbshapes result]
+regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve
+regexp {EDGE +: +([-0-9.+eE]+)} $nb_info full ed
+regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi
+regexp {FACE +: +([-0-9.+eE]+)} $nb_info full fa
+regexp {SHELL +: +([-0-9.+eE]+)} $nb_info full sh
+regexp {SOLID +: +([-0-9.+eE]+)} $nb_info full so
+regexp {COMPSOLID +: +([-0-9.+eE]+)} $nb_info full cm
+regexp {COMPOUND +: +([-0-9.+eE]+)} $nb_info full co
+regexp {SHAPE +: +([-0-9.+eE]+)} $nb_info full shl
+if { $ve != 0 || $ed != 0 || $wi != 0 || $fa != 0 || $sh != 0 || $so != 0 || $cm != 0 || $co != 0 || $shl != 0 } {
+ puts " OCC951 : COMMON operation was made PROPERLY"
+} else {
+ puts "Faulty OCC951 : result of COMMON operation is EMPTY compound"
+}
+
+set square 560.908
+set 3dviewer 1
--- /dev/null
+puts "========="
+puts " OCC951 "
+puts "========="
+puts ""
+##################################################
+##BRepAlgoAPI_Section and BRepAlgoAPI_Common fail on given shapes
+##################################################
+## (old topology)
+## (common)
+## (section)
+######################################################
+
+restore [locate_data_file OCC951_1.brep] b
+restore [locate_data_file OCC951_2.brep] a
+
+checkshape b
+checkshape a
+
+bsection result b a
+
+set nb_info [nbshapes result]
+regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve
+regexp {EDGE +: +([-0-9.+eE]+)} $nb_info full ed
+regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi
+regexp {FACE +: +([-0-9.+eE]+)} $nb_info full fa
+regexp {SHELL +: +([-0-9.+eE]+)} $nb_info full sh
+regexp {SOLID +: +([-0-9.+eE]+)} $nb_info full so
+regexp {COMPSOLID +: +([-0-9.+eE]+)} $nb_info full cm
+regexp {COMPOUND +: +([-0-9.+eE]+)} $nb_info full co
+regexp {SHAPE +: +([-0-9.+eE]+)} $nb_info full shl
+if { $ve != 0 || $ed != 0 || $wi != 0 || $fa != 0 || $sh != 0 || $so != 0 || $cm != 0 || $co != 0 || $shl != 0 } {
+ puts " OCC951 : COMMON operation was made PROPERLY"
+} else {
+ puts "Faulty OCC951 : result of COMMON operation is EMPTY compound"
+}
+
+set length 39.8616
+set 3dviewer 1
+
--- /dev/null
+puts "========="
+puts " OCC951 "
+puts "========="
+puts ""
+##################################################
+##BRepAlgoAPI_Section and BRepAlgoAPI_Common fail on given shapes
+##################################################
+## (new topology)
+## (bopcommon)
+## (bopsection)
+######################################################
+
+restore [locate_data_file OCC951_1.brep] b
+restore [locate_data_file OCC951_2.brep] a
+
+checkshape b
+checkshape a
+
+bop b a
+bopsection result
+
+set nb_info [nbshapes result]
+regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full ve
+regexp {EDGE +: +([-0-9.+eE]+)} $nb_info full ed
+regexp {WIRE +: +([-0-9.+eE]+)} $nb_info full wi
+regexp {FACE +: +([-0-9.+eE]+)} $nb_info full fa
+regexp {SHELL +: +([-0-9.+eE]+)} $nb_info full sh
+regexp {SOLID +: +([-0-9.+eE]+)} $nb_info full so
+regexp {COMPSOLID +: +([-0-9.+eE]+)} $nb_info full cm
+regexp {COMPOUND +: +([-0-9.+eE]+)} $nb_info full co
+regexp {SHAPE +: +([-0-9.+eE]+)} $nb_info full shl
+if { $ve != 0 || $ed != 0 || $wi != 0 || $fa != 0 || $sh != 0 || $so != 0 || $cm != 0 || $co != 0 || $shl != 0 } {
+ puts " OCC951 : COMMON operation was made PROPERLY"
+} else {
+ puts "Faulty OCC951 : result of COMMON operation is EMPTY compound"
+}
+
+set length 39.8616
+set 3dviewer 1
+++ /dev/null
-
-puts "======="
-puts "DXF906"
-puts "OCC889"
-puts "OCC1013"
-puts "======="
-puts ""
-#########################################################
-## After fix OCC157 we have plane surface in face (instead bspline as in C40).
-## But now checkshape founds number of errors on new face. I think that face from
-## c40 is not better than in dev
-#########################################################
-
-restore [locate_data_file DXF906.rle] a
-
-mkplane result a
-
-set square 92131.6
-set 2dviewer 0
puts "==========="
restore [locate_data_file fra62369a.brep] a
-puts [checkshape a]
+checkshape a
compound result
puts "============"
restore [locate_data_file pro16983a.brep] B
-puts [checkshape B]
+checkshape B
plane p 0 0 0 1 0 0
vertex v1 0 90.16396 252.4591
vertex v2 0 252.459 -9.835989
# TOPOLOGY-M4-6A : 2
restore [locate_data_file pro18892.rle] a
-puts [checkshape a]
+checkshape a
explode a
bsection result a_1 a_2 -2d -a
puts "=========="
restore [locate_data_file pro19424a.brep] b
-puts [checkshape b]
+checkshape b
restore [locate_data_file pro19424b.brep] p
-puts [checkshape p]
+checkshape p
if [catch {evolved result b p o } catch_result] {
puts "Faulty PRO19424 : function EVOLVED works wrongly"
puts "============"
restore [locate_data_file pro19626a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file pro19626b.brep] b
-puts [checkshape b]
+checkshape b
bsection result a b
regexp { nb alone Vertices : +([-0-9.+eE]+)} [checksection result] full num
puts "=================================="
restore [locate_data_file pro19653a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file pro19653b.brep] b
-puts [checkshape b]
+checkshape b
bsection result a b
explode result e
--- /dev/null
+puts "================"
+puts "BUC60609"
+puts "================"
+
+pload QAcommands
+
+set INF [BUC60609 [locate_data_file buc60609a.brep] a]
+set ll [llength $INF]
+set first [lindex $INF [expr $ll - 5]]
+set second [lindex $INF [expr $ll - 1]]
+
+if {$first != "INSIDE" && $first != "inside"} {
+ puts "Faulty BUC60609 first: $first is not right result. It should be INSIDE"
+} else {
+ puts "BUC60609 first OK: It is INSIDE"
+}
+
+if {$second != "INSIDE"} {
+ puts "Faulty BUC60609 second: $second is not right result. It should be INSIDE"
+} else {
+ puts "BUC60609 second OK: It is INSIDE"
+}
+
+renamevar a result
+set 2dviewer 0
+
puts "========================"
restore [locate_data_file buc60623a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60623b.brep] b
-puts [checkshape b]
+checkshape b
mksurface S1 a
mksurface S2 b
pload QAcommands
restore [locate_data_file buc60652a.brep] result
-puts [checkshape result]
+checkshape result
BUC60652 result
set check_square 1
pload QAcommands
restore [locate_data_file buc60652b.brep] result
-puts [checkshape result]
+checkshape result
BUC60652 result
set check_square 1
pload QAcommands
restore [locate_data_file buc60652c.brep] result
-puts [checkshape result]
+checkshape result
BUC60652 result
set check_square 1
pload QAcommands
restore [locate_data_file shading_104.brep] result
-puts [checkshape result]
+checkshape result
BUC60652 result
set check_square 1
restore [locate_data_file buc60667a.brep] result
fsameparameter result
-puts [checkshape result]
+checkshape result
set 2dviewer 0
## Fillets created in CasCade version 3 do not display as shaded surfaces.
#################################################
restore [locate_data_file buc60707a.brep] result
-puts [checkshape result]
+checkshape result
tclean result
incmesh result .1
puts "========================"
restore [locate_data_file buc60755a.brep] a
-puts [checkshape a]
+checkshape a
#########################################
# "tcopy" command of a valid shape give a no-valid shape.
#########################################
tcopy a result
-puts [checkshape result]
+checkshape result
set check_square 1
set square 623.832
puts "============="
restore [locate_data_file buc60769a.brep] result
-puts [checkshape result]
+checkshape result
set 2dviewer 0
line aLine 0 0 0 0 0 1
mkedge aEdge1 aLine
restore [locate_data_file buc60825.brep] aEdge2
-puts [checkshape aEdge2]
+checkshape aEdge2
distmini d aEdge1 aEdge2
regexp {NB RESULTS +: +([-0-9.+eE]+)} [BUC60825 aEdge1 aEdge2] full ext
pload QAcommands
restore [locate_data_file BUC60848.brep] a
-puts [checkshape a]
+checkshape a
tcopy a res
pload QAcommands
restore [locate_data_file buc60868.brep] sh
-puts [checkshape sh]
+checkshape sh
BUC60868 result sh
-puts [checkshape result]
+checkshape result
set len [llength [explode result w]]
if { $len != 3 } {
restore [locate_data_file BUC60895.brep] result
fsameparameter result
-puts [checkshape result]
+checkshape result
set check_square 1
set length 12.6012
puts "Restoring face from file"
restore [locate_data_file buc60955.brep] result
-puts [checkshape result]
+checkshape result
build3d result
cpulimit 3000
restore [locate_data_file OCC104-1.brep] sh1
-puts [checkshape sh1]
+checkshape sh1
regexp {Mass +: +([-0-9.+eE]+)} [vprops result] full l1
restore [locate_data_file OCC104-2.brep] sh2
-puts [checkshape sh2]
+checkshape sh2
regexp {Mass +: +([-0-9.+eE]+)} [vprops result] full l2
set diff [expr abs([expr $l2 - $l1])]
--- /dev/null
+puts "================"
+puts "OCC1048"
+puts "================"
+puts ""
+
+pload QAcommands
+
+restore [locate_data_file OCC1048.brep] result
+
+set list [OCC1048 result]
+
+set NBTRIANGLES 0
+regexp {Info: +Number +of +triangles += +([-0-9.+eE]+)} $list full NBTRIANGLES
+
+if { ${NBTRIANGLES} > 0 } {
+ puts "OCC1048: OK"
+} else {
+ puts "OCC1048: Error"
+}
+
+set 2dviewer 0
+
+
pload QAcommands
restore [locate_data_file OCC105.brep] result
-puts [checkshape result]
+checkshape result
if [catch { OCC105 result} ] {
puts "Error : BUC61032"
puts ""
restore [locate_data_file OCC107-1.brep] ee
-puts [checkshape ee]
+checkshape ee
restore [locate_data_file OCC107-2.brep] ff
-puts [checkshape ff]
+checkshape ff
distmini dd1 ee ff
puts " 1) OCC119 OK: BLEND was NOT created and suitable except was given."
} else {
puts "1) OCC119 OK: function BLEND works without suitable except"
- puts [checkshape result_1]
+ checkshape result_1
explode result_1 e
if { [catch {blend result_2 result_1 50 result_1_20 50 result_1_22 50 result_1_10} catch_result] } {
puts "2) Faulty OCC119: BLEND was NOT created"
} else {
puts "2) BLEND OCC199 OK: BLEND was created"
- puts [checkshape result_2]
+ checkshape result_2
}
set che [checkshape result_2 r]
puts ""
restore [locate_data_file OCC12.brep] f
-puts [checkshape f]
+checkshape f
mksurface su f
clpoles su
puts ""
restore [locate_data_file OCC126-1.brep] sh1
-puts [checkshape sh1]
+checkshape sh1
restore [locate_data_file OCC126-2.brep] sh2
-puts [checkshape sh2]
+checkshape sh2
compound sh1 sh2 result
######################################################
restore [locate_data_file OCC130.brep] sh
-puts [checkshape sh]
+checkshape sh
line l -120 -100 400 0 0 1
mksurface surf sh
####################################
restore [locate_data_file OCC134-1.brep] sh
-puts [checkshape sh]
+checkshape sh
prism result sh 100 100 100
-puts [checkshape result]
+checkshape result
set check_square 1
set square 104057
###########################################################
restore [locate_data_file OCC134-2.brep] sh
-puts [checkshape sh]
+checkshape sh
prism result sh 100 100 100
-puts [checkshape result]
+checkshape result
set check_square 1
set square 271859
puts ""
restore [locate_data_file OCC135.brep] sh
-puts [checkshape sh]
+checkshape sh
sewing result 1 sh
-puts [checkshape result]
+checkshape result
set check_square 1
set square 273837
restore [locate_data_file OCC15.brep] result
-puts [checkshape result]
+checkshape result
vinit
tclean result
restore [locate_data_file OCC150_compsolid_nofuse.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bfuse result sh_1 sh_2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 700
restore [locate_data_file OCC150_compsolid_nofuse.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bfuse result sh_2 sh_1
-puts [checkshape result]
+checkshape result
set check_square 1
set square 700
restore [locate_data_file OCC3-1.brep] sh1
restore [locate_data_file OCC3-2.brep] sh2
-puts [checkshape sh1]
-puts [checkshape sh2]
+checkshape sh1
+checkshape sh2
bfuse result sh1 sh2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 11400
restore [locate_data_file OCC3-1.brep] sh1
restore [locate_data_file OCC3-2.brep] sh2
-puts [checkshape sh1]
-puts [checkshape sh2]
+checkshape sh1
+checkshape sh2
bfuse result sh2 sh1
-puts [checkshape result]
+checkshape result
set check_square 1
set square 11400
restore [locate_data_file OCC152.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bcut result sh_1 sh_2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 276424
restore [locate_data_file OCC152.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bcut result sh_2 sh_1
-puts [checkshape result]
+checkshape result
set check_square 1
set square 34894.3
puts "========================"
restore [locate_data_file buc60775a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60775b.brep] b
-puts [checkshape b]
+checkshape b
bcommon result a b
-puts [checkshape result]
+checkshape result
set nf [llength [explode result f]]
if {$nf < 6} {
puts "========================"
restore [locate_data_file buc60775a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60775b.brep] b
-puts [checkshape b]
+checkshape b
bcommon result b a
-puts [checkshape result]
+checkshape result
set nf [llength [explode result f]]
if {$nf < 6} {
puts "========================"
restore [locate_data_file buc60775a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60775b.brep] b
-puts [checkshape b]
+checkshape b
bfuse result a b
-puts [checkshape result]
+checkshape result
set nf [llength [explode result f]]
puts "========================"
restore [locate_data_file buc60775a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60775b.brep] b
-puts [checkshape b]
+checkshape b
bfuse result b a
-puts [checkshape result]
+checkshape result
set nf [llength [explode result f]]
if {$nf < 6} {
puts "========================"
restore [locate_data_file buc60775a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60775b.brep] b
-puts [checkshape b]
+checkshape b
bcut result a b
-puts [checkshape result]
+checkshape result
set nf [llength [explode result f]]
if {$nf < 6} {
puts "========================"
restore [locate_data_file buc60775a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file buc60775b.brep] b
-puts [checkshape b]
+checkshape b
bcut result b a
-puts [checkshape result]
+checkshape result
set nf [llength [explode result f]]
if {$nf < 6} {
restore [locate_data_file OCC130.brep] res
-puts [checkshape res]
+checkshape res
line l -120 -100 400 0 0 1
mksurface s res
restore [locate_data_file OCC164-1.brep] sh1
restore [locate_data_file OCC164-2.brep] sh2
-puts [checkshape sh1]
-puts [checkshape sh2]
+checkshape sh1
+checkshape sh2
bfuse result sh1 sh2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 344595
restore [locate_data_file OCC164-1.brep] sh1
restore [locate_data_file OCC164-2.brep] sh2
-puts [checkshape sh1]
-puts [checkshape sh2]
+checkshape sh1
+checkshape sh2
bfuse result sh2 sh1
-puts [checkshape result]
+checkshape result
set check_square 1
set square 344595
puts "========"
restore [locate_data_file offset_wire_019.brep] a
-puts [checkshape a]
+checkshape a
mkplane f a
-puts [checkshape f]
+checkshape f
set IsGood 1
if [catch {mkoffset res1 f 1 1 } result] {
puts "========"
restore [locate_data_file offset_wire_019.brep] a
-puts [checkshape a]
+checkshape a
mkplane f a
-puts [checkshape f]
+checkshape f
set IsGood 1
if [catch {mkoffset res1 f 1 4.8 } result] {
set IsGood 0
} else {
puts "OCC165 OK (case 1): function MKOFFSET works properly"
- puts [checkshape res1_1]
+ checkshape res1_1
mkplane pl1 res1_1
- puts [checkshape pl1]
+ checkshape pl1
}
if [catch {mkoffset res2 f 1 -2.9 } result] {
set IsGood 0
} else {
puts "OCC165 OK (case 2): function MKOFFSET works properly"
- puts [checkshape res2_1]
+ checkshape res2_1
mkplane pl2 res2_1
- puts [checkshape pl2]
+ checkshape pl2
}
if {$IsGood == 1} {
puts "========"
restore [locate_data_file OCC165-2.brep] f
-puts [checkshape f]
+checkshape f
set IsGood 1
if [catch {mkoffset res1 f 3 10 } result] {
} else {
#puts "OCC165 OK (case 1): function MKOFFSET works properly"
mkplane pl1_1 res1_1
- puts [checkshape pl1_1]
+ checkshape pl1_1
mkplane pl1_2 res1_2
- puts [checkshape pl1_2]
+ checkshape pl1_2
mkplane pl1_3 res1_3
- puts [checkshape pl1_3]
+ checkshape pl1_3
}
if [catch {mkoffset res2 f 3 -10 } result] {
} else {
#puts "OCC165 OK (case 2): function MKOFFSET works properly"
mkplane pl2_1 res2_1
- puts [checkshape pl2_1]
+ checkshape pl2_1
mkplane pl2_2 res2_2
- puts [checkshape pl2_2]
+ checkshape pl2_2
mkplane pl2_3 res2_3
- puts [checkshape pl2_3]
+ checkshape pl2_3
}
if {$IsGood == 1} {
restore [locate_data_file OCC17.brep] sh
-puts [checkshape sh]
+checkshape sh
explode sh f
renamevar sh_14 result
###########################################
restore [locate_data_file OCC175.brep] result
-puts [checkshape result]
+checkshape result
regexp {SHAPE +: +([-0-9.+eE]+)} [nbshapes result] full col1
puts ""
restore [locate_data_file f1] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file f4] b2
-puts [checkshape b2]
+checkshape b2
bcommon result b1 b2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 315.159
puts ""
restore [locate_data_file so1] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file so4] b2
-puts [checkshape b2]
+checkshape b2
bfuse result b1 b2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 942.478
puts ""
restore [locate_data_file so1] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file so4] b2
-puts [checkshape b2]
+checkshape b2
bcut result b1 b2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 863.938
puts ""
restore [locate_data_file so1] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file so2] b2
-puts [checkshape b2]
+checkshape b2
bcommon result b1 b2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 392.699
puts ""
restore [locate_data_file so4] b1
-puts [checkshape b1]
+checkshape b1
restore [locate_data_file so2] b2
-puts [checkshape b2]
+checkshape b2
bcommon result b1 b2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 198.863
puts ""
restore [locate_data_file CTO900_cts16184a.rle] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file cts16184b.brep] b
-puts [checkshape b]
+checkshape b
bop a b
bopfuse result a b
-puts [checkshape -top result]
+checkshape -top result
set check_square 1
set square 0.0892544
restore [locate_data_file BUC60929.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcommon result a_1 a_2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 3739.26
restore [locate_data_file BUC60929.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcut result a_1 a_2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 669659
pload QAcommands
restore [locate_data_file OCC20.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
explode a e
blend result a 10 a_24
-puts [checkshape result]
+checkshape result
set check_square 1
set square 1.34399e+06
explode a e
blend result a 10 a_4
-puts [checkshape result]
+checkshape result
set check_square 1
set square 1.34399e+06
psphere s 6
bfuse result s b
-puts [checkshape result]
+checkshape result
set check_square 1
set square 618.85
restore [locate_data_file OCC227a.brep] a
fsameparameter a
updatetolerance a
-puts [checkshape a]
+checkshape a
restore [locate_data_file OCC227b.brep] b
fsameparameter b
updatetolerance b
-puts [checkshape b]
+checkshape b
bfuse result a b
-puts [checkshape result]
+checkshape result
set check_square 1
set square 1583.92
restore [locate_data_file OCC227a.brep] a
fsameparameter a
updatetolerance a
-puts [checkshape a]
+checkshape a
restore [locate_data_file OCC227b.brep] b
fsameparameter b
updatetolerance b
-puts [checkshape b]
+checkshape b
bfuse result b a
-puts [checkshape result]
+checkshape result
set check_square 1
set square 1583.92
restore [locate_data_file OCC228.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bcommon result a_1 a_2
restore [locate_data_file OCC252.brep] a
-puts [checkshape a]
+checkshape a
explode a w
pload QAcommands
restore [locate_data_file OCC252.brep] a
-puts [checkshape a]
+checkshape a
explode a w
pload QAcommands
restore [locate_data_file OCC252.brep] a
-puts [checkshape a]
+checkshape a
explode a w
puts ""
restore [locate_data_file OCC254-1.brep] shape1
-puts [checkshape shape1]
+checkshape shape1
restore [locate_data_file OCC254-3.brep] shape3
-puts [checkshape shape3]
+checkshape shape3
common result shape1 shape3
-puts [checkshape result]
+checkshape result
set check_square 1
set length 1231.07
puts "========"
restore [locate_data_file OCC256.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts ""
restore [locate_data_file OCC257.brep] result
-puts [checkshape result]
+checkshape result
set bb [bounding result]
puts "========================"
restore [locate_data_file shading_143.brep] result
-puts [checkshape result]
+checkshape result
tclean result
isos result 0
puts "========================"
restore [locate_data_file shading_144.brep] result
-puts [checkshape result]
+checkshape result
tclean result
isos result 0
trotate b2 0 0 0 0 0 1 135
bfuse result b2 b1
-puts [checkshape -top result]
+checkshape -top result
set check_square 1
set square 18.8496
puts ""
restore [locate_data_file OCC266.brep] a
-puts [checkshape a]
+checkshape a
renamevar a edge
explode edge e
explode face f
chamf result face edge_10 face_3 A 1 45 edge_6 face_3 A 1 45 edge_11 face_3 A 1 45 edge_12 face_3 A 1 45 edge_13 face_3 A 1 45 edge_14 face_3 A 1 45 edge_8 face_3 A 1 45 edge_9 face_3 A 1 45
-puts [checkshape result]
+checkshape result
set check_square 1
set square 48913
###########################################################
restore [locate_data_file OCC268.brep] result
-puts [checkshape result]
+checkshape result
set check_square 1
set length 56.6039
restore [locate_data_file OCC26.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_1 a_2
restore [locate_data_file OCC26.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_2 a_1
dchrono h2 reset
dchrono h2 start
-puts [checkshape result]
+checkshape result
dchrono h2 stop
set q2 [ dchrono h2 show ]
restore [locate_data_file OCC278a.brep] a
mkplane result a
-puts [checkshape result]
+checkshape result
set check_square 1
set square 2914.99
restore [locate_data_file OCC278b.brep] a
mkplane result a
-puts [checkshape result]
+checkshape result
set check_square 1
set square 22740
explode a e
blend result a 1 a_5 1 a_6 1 a_7 1 a_8
-puts [checkshape result]
+checkshape result
set check_square 1
set square 155.846
explode a e
explode a f
chamf result a a_5 a_1 A 1 45 a_6 a_1 A 1 45 a_7 a_1 A 1 45 a_8 a_1 A 1 45
-puts [checkshape result]
+checkshape result
set check_square 1
set square 154.145
cpulimit 1200
restore [locate_data_file OCC28.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_1 a_2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 483935
cpulimit 1200
restore [locate_data_file OCC28.brep] a
explode a
-puts [checkshape a_1]
-puts [checkshape a_2]
+checkshape a_1
+checkshape a_2
bfuse result a_2 a_1
-puts [checkshape result]
+checkshape result
set check_square 1
set square 483935
puts ""
restore [locate_data_file OCC31.brep] sh
-puts [checkshape sh]
+checkshape sh
explode sh f
explode sh_2 e
chamf res1 sh sh_2_1 sh_2 7 7
-puts [checkshape res1]
+checkshape res1
explode res1 f
explode res1_5 e
chamf res2 res1 res1_5_4 res1_5 7 7
-puts [checkshape res2]
+checkshape res2
explode res2 f
explode res2_4 e
chamf result res2 res2_4_1 res2_4 7 7
-puts [checkshape result]
+checkshape result
set check_square 1
set square 107634
OCC332 ${wall_thickness} ${dia1} ${dia2} ${length} ${major_radius}
-puts [checkshape wallSolid_]
-puts [checkshape gasSolid_]
+checkshape wallSolid_
+checkshape gasSolid_
vinit
explode a e
blend result a 2 a_18
-puts [checkshape result]
+checkshape result
set check_square 1
set square 593.527
donl a a_5_6
chamf result a a_5_6 a_5 A 2 45
-puts [checkshape result]
+checkshape result
set check_square 1
set square 589.268
##############################################
restore [locate_data_file OCC368.brep] result
-puts [checkshape result]
+checkshape result
tclean result
isos result 0
--- /dev/null
+pload QAcommands
+
+puts "========================"
+puts "OCC372"
+puts "BUC61036"
+puts "========================"
+puts ""
+###############################################################
+##BRepClass3d_SolidClassifier classify point to solid as OUT, but the point is inside the solid.
+###############################################################
+
+restore [locate_data_file OCC372.brep] b1
+checkshape b1
+
+point p1 6311.4862583184 -2841.3092756034 16.461053497188
+
+set result [OCC299 b1 p1]
+set ll [llength ${result}]
+if { ${ll} < 4 } then {
+ puts "OCC372: ERROR 1"
+} else {
+ regexp {The point is (.*) shape} ${result} full status
+ if {[string compare ${status} "IN"] == 0} then {
+ puts "status = ${status}"
+ puts "OCC372: OK"
+ } else {
+ puts "status = ${status}"
+ puts "Faulty : OCC372"
+ }
+}
+
restore [locate_data_file OCC37.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bfuse result sh_1 sh_2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 665013
restore [locate_data_file OCC37.brep] sh
explode sh
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
bfuse result sh_2 sh_1
-puts [checkshape result]
+checkshape result
set check_square 1
set square 665013
restore [locate_data_file OCC3-1.brep] a
restore [locate_data_file OCC3-2.brep] b
-puts [checkshape a]
-puts [checkshape b]
+checkshape a
+checkshape b
bfuse result a b
-puts [checkshape result]
+checkshape result
set check_square 1
set square 11400
restore [locate_data_file OCC3-1.brep] a
restore [locate_data_file OCC3-2.brep] b
-puts [checkshape a]
-puts [checkshape b]
+checkshape a
+checkshape b
bfuse result b a
-puts [checkshape result]
+checkshape result
set check_square 1
set square 11400
puts ""
restore [locate_data_file OCC4.brep] sh
-puts [checkshape sh]
+checkshape sh
explode sh e
fillet result sh 15 sh_14
-puts [checkshape result]
+checkshape result
set square 1
set 2dviewer 0
box b2 0 -0.5 0 1.5 0.5 0.5
bcommon result b1 b2
-puts [checkshape -top result]
+checkshape -top result
# 1. retriesve shape
restore [locate_data_file OCC42.brep] sh
-puts [checkshape sh]
+checkshape sh
# 2. perform sewing
set toler 80
sewing result $toler sh
# 3. Verify result of sewing
-puts [checkshape result]
+checkshape result
# Retrieve free wires from result shape
catch { fbclose result $toler $toler } resOfCatch
############################################
restore [locate_data_file OCC432.brep] result
-puts [checkshape result r]
+checkshape result r
set 2dviewer 0
puts ""
restore [locate_data_file OCC466.brep] res
-puts [checkshape res]
+checkshape res
nurbsconvert result res
checkshape a_2
bfuse result a_1 a_2
-puts [checkshape result]
+checkshape result
set check_square 1
set square 10
--- /dev/null
+pload QAcommands
+
+puts "========"
+puts "OCC486"
+puts "========"
+puts ""
+#############################
+## Extrema_ExtPS gives wrong solution.
+#############################
+
+restore [locate_data_file OCC486.draw] s
+
+# Case 1. Verify whether surface is u-periodic and v-periodic
+set result [isperiodic s]
+puts $result
+set uper "is u-periodic"
+set vper "is v-periodic"
+if {[regexp $uper $result] && [regexp $vper $result]} {
+ puts "OCC486 case 1 - Faulty"
+} else {
+ puts "OCC486 case 1 - OK"
+}
+
+# Case 2. Verify extremum distance between point and surface
+
+point p3d -420.1170080179139 926.8792206000001 229.5109675013802
+if { [ catch { OCC486 s -420.1170080179139 926.8792206000001 229.5109675013802 0 0.0000001 } ] } {
+ puts "OCC486 case 2 - Faulty"
+} else {
+ puts "OCC486 case 2 - OK"
+}
+
+set 2dviewer 1
##############################
restore [locate_data_file OCC496a.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
restore [locate_data_file OCC496b.brep] a_2
-puts [checkshape a_2]
+checkshape a_2
bfuse result a_1 a_2
###################################################################
restore [locate_data_file OCC50.brep] a
-puts [checkshape a]
+checkshape a
explode a e
blend result a 1 a_17 1 a_5 1 a_1 1 a_2 1 a_16 1 a_20 1 a_3 1 a_11 1 a_10 1 a_4
-puts [checkshape result]
+checkshape result
set check_square 1
set square 7677.49
#####################################
restore [locate_data_file OCC505a.brep] su1
-puts [checkshape su1]
+checkshape su1
restore [locate_data_file OCC505b.brep] su2
-puts [checkshape su2]
+checkshape su2
distmini d su1 su2
--- /dev/null
+puts "========"
+puts "OCC513"
+puts "========"
+puts ""
+
+######################################
+## Can not intersect plane and conical surfaces
+## The ">intersect" command hangs up the computer.
+######################################
+
+# cpulimit 9000
+
+restore [locate_data_file OCC513a.draw] sa23
+restore [locate_data_file OCC513b.draw] sb8
+
+if { [catch {intersect result sa23 sb8} catch_result] } {
+ puts "Faulty OCC513: function INTERSECTION works wrongly"
+} else {
+ puts "OCC513 OK: function INTERSECTION works properly"
+}
+
+set 2dviewer 0
+
--- /dev/null
+puts "========"
+puts "OCC515"
+puts "========"
+puts ""
+################################
+## Wrong projection of the Line on the Cone
+################################
+
+restore [locate_data_file OCC515a.draw] cx
+restore [locate_data_file OCC515b.draw] s
+
+if { [catch {project c2d cx s -t 0.0015} ] } {
+ puts "OCC515 FAULTY"
+} else {
+ # create dump of resulting curve
+ set dump [dump c2d]
+ # read dump of old curve
+ set olddump [read [open [locate_data_file OCC515_DUMP]]]
+ # if the the dumps is equal this bug is still exist
+ if { $dump == $olddump } {
+ puts "OCC515 FAULTY"
+ } else {
+ puts "OCC515 WARNING: Dumps of old and new curve are different, probably bug is still exist"
+ }
+}
+
+
--- /dev/null
+pload QAcommands
+
+puts "========"
+puts "OCC525"
+puts "========"
+puts ""
+#########################################
+## Bug in GeomPlate_BuildPlateSurface::ComputeSurfInit()
+#########################################
+
+set mistake 0
+
+decho off
+if { [catch { OCC525 } ] } {
+ set mistake 1
+}
+decho on
+
+if { $mistake == 1 } {
+ puts "Faulty : OCC525"
+}
+
+set 2dviewer 1
--- /dev/null
+
+puts "======="
+puts "OCC531"
+puts "======="
+puts ""
+##########################################################
+## Can not intersect plane and cone.The ">intersect" command hangs up the computer
+##########################################################
+
+restore [locate_data_file OCC531_1.draw] a
+restore [locate_data_file OCC531_2.draw] b
+
+intersect result a b
+
+set 2dviewer 0
+
--- /dev/null
+puts "TODO OCC12345 ALL: Error : OCC537"
+
+puts "======="
+puts "OCC537"
+puts "======="
+puts ""
+#######################################################################
+##Application do something in intersection operation for long time and eat much memory (This may be the
+## reason of BUS ERROR that happens in application). Intersection operation invokes for conical and plane
+## surfaces.
+#######################################################################
+
+restore [locate_data_file OCC537_CONE.draw] c
+restore [locate_data_file OCC537_PLANE.draw] p
+
+intersect result c p
+
+set wt_is [whatis result]
+
+if { [regexp {WIRE} ${wt_is}] } {
+ puts " OCC537 OK"
+} else {
+ puts "Error : OCC537"
+}
+
+set 2dviewer 2
+
cpulimit 300
restore [locate_data_file OCC54.brep] result
-puts [checkshape result]
+checkshape result
set 3dviewer 0
--- /dev/null
+puts "========================"
+puts " OCC541 "
+puts "========================"
+puts ""
+############################################
+## Extrema works wrong for line and circle laying on one plane.
+############################################
+
+restore [locate_data_file OCC541a.draw] c1x
+restore [locate_data_file OCC541b.draw] c2x
+
+set result [extrema c1x c2x]
+set err [llength $result]
+if { $err < 1} {
+ puts "Faulty OCC541 (amount of solution): command extrema does NOT work properly"
+} else {
+ puts "OCC541 OK (amount of solution): : command extrema works properly"
+}
+
+set 2dviewer 0
--- /dev/null
+
+puts "========"
+puts "OCC542"
+puts "========"
+puts ""
+################################
+## Wrong projection of the circle on the sphere
+################################
+
+restore [locate_data_file OCC542_C3D.draw] c3d
+restore [locate_data_file OCC542_S.draw] s
+
+if { [catch {project result c3d s } catch_result] } {
+ puts "OCC542 Faulty"
+} else {
+ # create dump of resulting curve
+ set dump [dump result]
+ # read dump of old curve
+ set olddump [read [open [locate_data_file OCC542_DUMP]]]
+ # if the the dumps is equal this bug is still exist
+ if { $dump == $olddump } {
+ puts "OCC542 Faulty"
+ } else {
+ puts "OCC542 WARNING: Dumps of old and new curve are different, probably bug is still exist"
+ }
+}
+
+set 2dviewer 0
--- /dev/null
+puts "========| OCC565 |========"
+##################################
+## Can not intersect two trimmed conical surfaces
+##################################
+
+restore [locate_data_file OCC565a.draw] s1
+restore [locate_data_file OCC565b.draw] s2
+
+puts "Preliminary check: intersection work with infinite cones:"
+if { [catch {intersect inf s1 s2 } catch_result] } {
+ puts "Faulty OCC565: function intersection works wrongly with infinite cones"
+} else {
+ set j 1
+ set er [lindex [whatis inf] 5]
+ repeat 4 {
+ set err [lindex [whatis inf_$j] 5]
+ if { $err != "curve" && $er != "curve"} {
+ puts " Faulty OCC565: function intersection works wrongly with infinite cones"
+ break
+ } else {
+ puts [format "curve inf_%s : exist " $j]
+ }
+ incr j
+ }
+ puts "Function intersection works correctly with infinite cones. Then check OCC565:"
+}
+
+trim s1x s1 0 2*pi 0 2.8
+trim s2x s2 0 2*pi 0 2.8
+
+if { [catch {intersect result s1x s2x } catch_result] } {
+ puts "Faulty OCC565 exception: function intersection works wrongly with trimmed cones"
+} else {
+ set nom 0
+ set j 1
+ set er [lindex [whatis result] 5]
+ repeat 4 {
+ set err [lindex [whatis result_$j] 5]
+ if { $err != "curve" && $er != "curve"} {
+ break
+ } else {
+ set nom [expr $nom + 1]
+ }
+ incr j
+ }
+ if { $nom == 0} {
+ puts " Faulty OCC565: function intersection works wrongly with trimmed cones"
+ } else {
+ puts " OCC565 OK: function intersection works with trimmed cones"
+ }
+}
+
+
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty OCC565: function intersection works wrongly with trimmed Surfaces"
+
+puts "========"
+puts "OCC567"
+puts "========"
+puts ""
+#######################################
+## Can not intersect two Rectangular Trimmed Surfaces .
+#######################################
+
+restore [locate_data_file OCC567a.draw] s1
+restore [locate_data_file OCC567b.draw] s2
+
+if { [catch {intersect i s1 s2 } catch_result] } {
+ puts "Faulty OCC565: function intersection works wrongly with infinite Surfaces"
+} else {
+ set j 1
+ repeat 11 {
+ set err [lindex [whatis i_$j] 5]
+ if { $err != "curve"} {
+ puts " Faulty OCC565: function intersection works wrongly with infinite Surfaces"
+ break
+ } else {
+ puts [format "%s ) OCC565 OK: function intersection works with infinite Surfaces" $j]
+ }
+ incr j}
+}
+
+trim s1x s1 0 2*pi 0 2*pi/13
+trim s2x s2 0 2*pi 0 2*pi/13
+
+if { [catch {intersect result s1x s2x } catch_result] } {
+ puts "Faulty OCC565 exception: function intersection works wrongly with trimmed Surfaces"
+} else {
+ set nom 0
+ set j 1
+ repeat 11 {
+ set err [lindex [whatis result_$j] 5]
+ if { $err != "curve"} {
+ break
+ } else {
+ set nom [expr $nom + 1]
+ }
+ incr j
+ }
+ if { $nom == 0} {
+ puts "Faulty OCC565: function intersection works wrongly with trimmed Surfaces"
+ } else {
+ puts " OCC565 OK: function intersection works with trimmed Surfaces"
+ }
+}
+
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty OCC569: function intersection works wrongly with trimmed plane and cone surfaces"
+
+puts "========"
+puts "OCC569"
+puts "========"
+puts ""
+##################################
+## Can not intersect trimmed plane and cone surfaces
+##################################
+
+restore [locate_data_file OCC569a.draw] s1
+restore [locate_data_file OCC569b.draw] s2
+
+if { [catch {intersect result s1 s2 } catch_result] } {
+ puts "Faulty OCC569 exception: function intersection works wrongly with trimmed plane and cone surfaces "
+} else {
+ set nom 0
+ set j 1
+ repeat 10 {
+ set err [lindex [whatis result_$j] 5]
+ if { $err != "curve"} {
+ break
+ } else {
+ set nom [expr $nom + 1]
+ }
+ incr j
+ }
+ if { $nom == 0} {
+ puts "Faulty OCC569: function intersection works wrongly with trimmed plane and cone surfaces"
+ } else {
+ puts "OCC569 OK: function intersection works with trimmed plane and cone surfaces"
+ }
+}
--- /dev/null
+puts "TODO OCC12345 ALL: Error : Projection of a 3D point on surface using GeomAPI_ProjectPointOnSurf works incorrect"
+
+puts "========================"
+puts " OCC593 "
+puts "========================"
+puts ""
+#############################################################
+## Projection of a 3D point on surface using GeomAPI_ProjectPointOnSurf works incorrect
+#############################################################
+
+restore [locate_data_file OCC593.brep] ff48
+
+set tolerance [maxtolerance ff48]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance full MaxFaceTolerance
+
+vertex vv -19.561252535222 17.89876466186 71.408126285268
+distmini dd vv ff48
+regexp {([-0-9.+eE]+)$} [dump dd_val] full ddval
+
+mksurface gs ff48
+
+proj gs -19.561252535222 17.89876466186 71.408126285268
+
+set pp1 [lindex [dump ext_1] 9]
+set pp2 [lindex [dump ext_1] 10]
+
+set err [expr abs ([expr $pp2 - $pp1])]
+puts [format "MaxFaceTolerance = %s" $MaxFaceTolerance]
+puts [format "MaxDistance = %s" $err]
+if { $err < $MaxFaceTolerance } {
+ puts "OCC593 (case 1) : Projection of a 3D point on surface using GeomAPI_ProjectPointOnSurf works properly"
+} else {
+ puts "Error : Projection of a 3D point on surface using GeomAPI_ProjectPointOnSurf works incorrect"
+}
+copy ext_1 oldext_1
+
+puts ""
+puts "***** Another example: *****"
+
+svalue gs 0.56 0.4 x y z
+point p x y z
+proj gs x y z
+
+set p1 [lindex [dump ext_1] 9]
+set p2 [lindex [dump ext_1] 10]
+
+set err1 [expr abs ([expr $p2 - $p1])]
+puts [format "MaxFaceTolerance = %s" $MaxFaceTolerance]
+puts [format "MaxDistance = %s" $err1]
+if { $err1 < $MaxFaceTolerance } {
+ puts "OCC593 (case 2) : Projection of a 3D point on surface using GeomAPI_ProjectPointOnSurf works properly"
+} else {
+ puts "Error : Projection of a 3D point on surface using GeomAPI_ProjectPointOnSurf works incorrect"
+}
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty OCC601: function BLEND works wrongly"
+
+puts "========================"
+puts " OCC601 "
+puts "SAM1542"
+puts "========================"
+puts ""
+#############################################
+## No possibility to make a fillet 13 at the inner edge of the shape
+#############################################
+
+restore [locate_data_file OCC601.brep] a
+checkshape a
+
+explode a e
+
+if [catch {blend result a 13 a_41 } res] {
+ puts "Faulty OCC601: function BLEND works wrongly"
+} else {
+ puts "OCC601 OK: function BLEND works without exception"
+ checkshape result
+
+ set check_square 1
+ set square 10
+ set 2dviewer 0
+}
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty OCC604: Result of intersection operation is INcorrect !!!"
+
+puts "========================"
+puts " OCC604"
+puts "========================"
+puts ""
+############################
+## Wrong intersection between two tores.
+############################
+
+restore [locate_data_file OCC604a.draw] a
+restore [locate_data_file OCC604b.draw] b
+
+if { [catch { intersect result a b } catch_result] } {
+ puts "Faulty OCC604: function INTERSECTION works with exception"
+} else {
+ set nom 0
+ set j 1
+ repeat 10 {
+ set err [lindex [whatis res_$j] 5]
+ if { $err != "curve"} {
+ break
+ } else {
+ set nom [expr $nom + 1]
+ }
+ incr j
+ }
+ if { $nom != 1 } {
+ puts "Faulty OCC604: Result of intersection operation is INcorrect !!!"
+ } else {
+ puts "OCC604 OK : Result of intersection operation is CORRECT !!! "
+ }
+}
+
+set 3dviewer 1
--- /dev/null
+puts "========================"
+puts "OCC611"
+puts "SAM1564"
+puts "(case 1)"
+puts "========================"
+puts ""
+############################
+## No possibility to fuse the shapes.
+############################
+
+restore [locate_data_file OCC611.brep] a
+explode a
+checkshape a_1
+checkshape a_2
+
+bfuse result a_1 a_2
+checkshape result
+
+set check_square 1
+set square 531.197
+set 2dviewer 0
--- /dev/null
+puts "=================7======="
+puts "OCC611"
+puts "SAM1564"
+puts "(case 2)"
+puts "========================"
+puts ""
+############################
+## No possibility to fuse the shapes.
+############################
+
+restore [locate_data_file OCC611.brep] a
+explode a
+checkshape a_1
+checkshape a_2
+
+bop a_1 a_2
+bopfuse result
+checkshape result
+
+set check_square 1
+set square 531.197
+set 2dviewer 0
--- /dev/null
+puts "========================"
+puts "OCC611"
+puts "SAM1564"
+puts "(case 1)"
+puts "========================"
+puts ""
+############################
+## No possibility to fuse the shapes.
+############################
+
+restore [locate_data_file OCC611.brep] a
+explode a
+checkshape a_1
+checkshape a_2
+
+bfuse result a_2 a_1
+checkshape result
+
+set check_square 1
+set square 531.197
+set 2dviewer 0
--- /dev/null
+puts "========================"
+puts " OCC613"
+puts "(case 1)"
+puts "========================"
+puts ""
+#############################################
+## Meshing algo cannot create mesh for faces with internal edges
+#############################################
+
+restore [locate_data_file OCC613a.brep] result
+
+tclean result
+isos result 0
+incmesh result .1
+triangles result
+
+set tri_info [trinfo result]
+regexp { +([-0-9.+eE]+) +triangles} $tri_info full tri
+regexp { +([-0-9.+eE]+) +nodes} $tri_info full nod
+
+if { $tri == 0 || $nod == 0 } {
+ puts "Error : Meshing algo cannot create mesh for faces with internal edges "
+}
+
+set 3dviewer 1
+
--- /dev/null
+puts "========================"
+puts " OCC613"
+puts "(case 2)"
+puts "========================"
+puts ""
+#############################################
+## Meshing algo cannot create mesh for faces with internal edges
+#############################################
+
+restore [locate_data_file OCC613b.brep] result
+
+tclean result
+isos result 0
+incmesh result .1
+triangles result
+
+set tri_info [trinfo result]
+regexp { +([-0-9.+eE]+) +triangles} $tri_info full tri
+regexp { +([-0-9.+eE]+) +nodes} $tri_info full nod
+
+if { $tri == 0 || $nod == 0 } {
+ puts "Error : Meshing algo cannot create mesh for faces with internal edges "
+}
+
+set 3dviewer 1
+
############################
restore [locate_data_file OCC618a.brep] a
-puts [checkshape a]
+checkshape a
restore [locate_data_file OCC618b.brep] b
-puts [checkshape b]
+checkshape b
if [catch {bop a b} catch_result] {
puts "Faulty OCC618 : BOP operation was made wrongly"
###############################################
restore [locate_data_file OCC65.brep] sh
-puts [checkshape sh]
+checkshape sh
revol result sh 0 0 0 0 0 1 360
-puts [checkshape result]
+checkshape result
set check_square 1
set volume 10
--- /dev/null
+puts "=========="
+puts "OCC703 "
+puts "=========="
+puts ""
+##################################################
+## Wrong result of extrema
+## Draw command extrema c1 ce gives no solutions, but must be 2 solutions
+##################################################
+
+restore [locate_data_file OCC703_1.draw] c1
+restore [locate_data_file OCC703_2.draw] ce
+
+set result [extrema c1 ce]
+set err [llength $result]
+if { $err != 2} {
+ puts "Faulty OCC703 (amount of solution): command extrema does NOT work properly"
+} else {
+ puts "OCC703 OK (amount of solution): command extrema works properly"
+}
+
+set 2dviewer 0
+
--- /dev/null
+puts "TODO OCC12345 ALL: Tcl Exception: result is not a topological shape!!!"
+puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+
+puts "========"
+puts "OCC726"
+puts "SAM1594"
+puts "========"
+puts ""
+######################################
+## Boolean operations are impossible on the attachment.
+######################################
+
+restore [locate_data_file OCC726.brep] a
+explode a
+checkshape a_1
+checkshape a_2
+
+bcut result a_2 a_1
+
+checkshape result
+
+set check_square 1
+set square 10
+set 2dviewer 0
--- /dev/null
+puts "========"
+puts "OCC736"
+puts "========"
+puts ""
+#####################################################
+## After restoring attached shape(face) it is obviously that there is
+## selfintersecting wire. However BRepCheck gives reply that shape looks OK.
+#####################################################
+
+restore [locate_data_file OCC736.brep] result
+decho off
+set che [checkshape result r]
+decho on
+if { [regexp {OK} $che ] == 1 } {
+ puts "Faulty OCC736: checkshape command works wrongly"
+} else {
+ puts "OCC736 OK: checkshape command works PROPERLY"
+}
+
+set 2dviewer 0
+
--- /dev/null
+
+puts "========"
+puts "OCC747"
+puts "========"
+puts ""
+###############################
+## Exception in DRAW-command "distmini"
+###############################
+
+restore [locate_data_file OCC747_1.brep] s1
+checkshape s1
+restore [locate_data_file OCC747_2.brep] s2
+checkshape s2
+
+if { [catch { distmini result s1 s2 } status] } {
+ puts "Faulty OCC747"
+} else {
+ puts "OCC747 OK"
+}
+
puts ""
restore [locate_data_file shading_177.brep] sh1
-puts [checkshape sh1]
+checkshape sh1
regexp {Mass +: +([-0-9.+eE]+)} [vprops sh1] full l1
restore [locate_data_file OCC76-2.brep] sh2
-puts [checkshape sh2]
+checkshape sh2
regexp {Mass +: +([-0-9.+eE]+)} [vprops sh2] full l2
if { [expr abs([expr $l1 - 3020.94])] > 0.00999} {
--- /dev/null
+puts "========"
+puts "OCC766"
+puts "========"
+puts ""
+###############################
+## Can not project the 3-D point on the ellipse
+###############################
+
+restore [locate_data_file OCC766.draw] c
+
+set result [proj c 30 3.944304526105059e-31 20.0]
+
+set length [llength $result]
+
+if {$length > 0} {
+ puts "OCC770 OK"
+} else {
+ puts "Faulty OCC770"
+}
+
+set 2dviewer 1
pload XDE
restore [locate_data_file OCC8.brep] result
-puts [checkshape result]
+checkshape result
explode result w
set info [expwire result_1 sh]
--- /dev/null
+pload QAcommands
+
+puts "========="
+puts " OCC813 "
+puts "========="
+puts ""
+#####################################
+## Geom2dGcc_Lin2d2Tan fails on point and ellipse
+#####################################
+set U 200
+set V 200
+
+set result [OCC813 $U $V]
+
+set nb_sol 0
+
+regexp {nb of solutions = ([-0-9.+eE]+)} $result full nb_sol
+
+if {$nb_sol > 0} {
+ puts "OCC813 OK"
+} else {
+ puts "Faulty OCC813"
+}
+
--- /dev/null
+pload QAcommands
+
+puts "========="
+puts " OCC814 "
+puts "========="
+puts ""
+####################################
+## Geom2dGcc_Lin2d2Tan fails on circle and ellipse
+####################################
+
+set result [OCC814]
+
+set nb_sol 0
+
+regexp {nb of solutions = ([-0-9.+eE]+)} $result full nb_sol
+
+if {$nb_sol > 0} {
+ puts "OCC814 OK"
+} else {
+ puts "Faulty OCC814"
+}
+
+
--- /dev/null
+
+puts "================"
+puts "OCC862"
+puts "================"
+puts ""
+########################################
+## The result is just one extremum - intersection is not found.
+########################################
+restore [locate_data_file OCC862_1.draw] c1
+restore [locate_data_file OCC862_2.draw] c2
+
+set result [extrema c1 c2]
+set err [llength $result]
+if { $err <= 1} {
+ puts "Faulty OCC862 (amount of solution): command extrema does NOT work properly"
+} else {
+ puts "OCC862 OK (amount of solution): command extrema works properly"
+}
+
+set 2dviewer 0
+
--- /dev/null
+pload QAcommands
+
+puts "========"
+puts "OCC867"
+puts "========"
+puts ""
+######################################################
+## When calling method Init() with surface and its boundary parameters are the
+## arguments and then calling method Perform() it raises an exception.
+######################################################
+
+cylinder c 10 20
+trim c c 0 4 0 2
+point p 30 30 30
+set Umin 0
+set Usup 3
+set Vmin 0
+set Vsup 2
+
+if { [ catch {OCC867 p c $Umin $Usup $Vmin $Vsup} catch_result ] } {
+ puts "Faulty OCC867"
+} else {
+ puts "OCC867 OK"
+}
set che [checkshape sh]
explode sh f
-puts [checkshape sh_1]
-puts [checkshape sh_2]
+checkshape sh_1
+checkshape sh_2
mksurface surf1 sh_1
mksurface surf2 sh_2
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty OCC889 : Checkshape says that the shape has FAULTY, but it is not truth"
+
+puts "============"
+puts "OCC889"
+puts "============"
+puts ""
+############################################
+## Checkshape founds number of errors on new face. It is not true.
+############################################
+restore [locate_data_file OCC889.rle] result
+
+decho off
+set che [checkshape result]
+decho on
+
+if { [ regexp {Faulty} $che ] == 1 } {
+ puts "Faulty OCC889 : Checkshape says that the shape has FAULTY, but it is not truth"
+} else {
+ puts "OCC889 OK : Checkshape works properly"
+}
+
+set 2dviewer 0
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty OCC909"
+
+pload QAcommands
+
+puts "======="
+puts "OCC909"
+puts "======="
+puts ""
+#######################################################
+## BRepTools_WireExplorer give different number of edges in dev and FIXOCC40
+#######################################################
+
+restore [locate_data_file OCC909_f.rle] f
+restore [locate_data_file OCC909_w.rle] w
+
+if { [ catch { set result [OCC909 w f] } ] } {
+ puts "Faulty OCC909"
+} else {
+ set count 0
+ regexp {Count = ()} $result full count
+ if {$count != 2} {
+ puts "Faulty OCC909"
+ } else {
+ puts "OCC909 OK"
+ }
+}
+
--- /dev/null
+pload QAcommands
+
+puts "======="
+puts "OCC921"
+puts "======="
+puts ""
+############################################################
+## I have found that regresiion on file a054a.sat depends on changes in
+## BRepTools::AddUVBounds. The method BRepTools::UVBounds(F, u1, u2, v1, v2)
+## returns different values in C40 and in dev. It is because there are different
+## strings of code. BRepTools.cxx line 213 (in dev version)
+############################################################
+
+set good_u1 -0.157166
+set good_u2 4.88216
+set good_v1 -1.65583
+set good_v2 7.93778
+
+set percent_max 0.1
+
+restore [locate_data_file OCC921.rle] a
+
+set BoundsList [OCC921 a]
+
+set u1 0
+set u2 0
+set v1 0
+set v2 0
+
+regexp {Bounds: *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+) *([-0-9.+eE]+)} $BoundsList full u1 u2 v1 v2
+
+set u1_percent [expr abs(${u1} - ${good_u1}) / double(${good_u1}) * 100.]
+set u2_percent [expr abs(${u2} - ${good_u2}) / double(${good_u2}) * 100.]
+set v1_percent [expr abs(${v1} - ${good_v1}) / double(${good_v1}) * 100.]
+set v2_percent [expr abs(${v2} - ${good_v2}) / double(${good_v2}) * 100.]
+
+puts "u1 = ${u1}"
+puts "u2 = ${u2}"
+puts "v1 = ${v1}"
+puts "v2 = ${v2}"
+
+puts "u1_percent = ${u1_percent}"
+puts "u2_percent = ${u2_percent}"
+puts "v1_percent = ${v1_percent}"
+puts "v2_percent = ${v2_percent}"
+
+set status 0
+
+if {${u1_percent} > ${percent_max}} {
+ puts "OCC921: Error (case 1)"
+ set status 1
+}
+
+if {${u2_percent} > ${percent_max}} {
+ puts "OCC921: Error (case 2)"
+ set status 1
+}
+
+if {${v1_percent} > ${percent_max}} {
+ puts "OCC921: Error (case 3)"
+ set status 1
+}
+
+if {${v2_percent} > ${percent_max}} {
+ puts "OCC921: Error (case 4)"
+ set status 1
+}
+
+if {${status} == 0} {
+ puts "OCC921: OK"
+}
+
--- /dev/null
+
+puts "========="
+puts " OCC935 "
+puts "(case 1)"
+puts "========="
+puts ""
+###############################
+## instability in checkshape in KAS:dev version.
+###############################
+
+restore [locate_data_file OCC935_1.brep] result
+
+decho off
+set err [checkshape result]
+decho on
+set j 1
+repeat 25 {
+ restore [locate_data_file OCC935_1.brep] result
+ decho off
+ set err1 [checkshape result]
+ decho on
+ if { $err != $err1 } {
+ puts [format " Faulty OCC935 (case 1): function CHECKSHAPE works wrongly on %s time" $j]
+ break
+ } else {
+ puts [format " OCC935 (case 1) OK: function CHECKSHAPE works properly %s time" $j]
+ }
+ incr j
+}
+
+set 2dviewer 0
+
+
--- /dev/null
+
+puts "========="
+puts " OCC935 "
+puts "(case 2)"
+puts "========="
+puts ""
+###############################
+## instability in checkshape in KAS:dev version.
+###############################
+
+restore [locate_data_file OCC935_2.brep] result
+
+decho off
+set err [checkshape result]
+decho on
+
+set j 1
+repeat 25 {
+ restore [locate_data_file OCC935_2.brep] result
+ decho off
+ set err1 [checkshape result]
+ decho on
+ if { $err != $err1 } {
+ puts [format " Faulty OCC935 (case 2): function CHECKSHAPE works wrongly on %s time" $j]
+ break
+ } else {
+ puts [format " OCC935 (case 2) OK: function CHECKSHAPE works properly %s time" $j]
+ }
+ incr j
+}
+
+set 2dviewer 0
--- /dev/null
+
+puts "========="
+puts " OCC943 "
+puts "(case 1)"
+puts "========="
+puts ""
+#####################################################
+## The regression is intersecting pcurves of face, They are added by fixshape.
+## (To see this you can try fixshape dF.rle from attachment. But please note, that
+## checkshape on result of fixshape sometimes fails and sometimes not. It is
+## instability!)
+######################################################
+
+restore [locate_data_file OCC943_1.brep] result
+
+decho off
+set err [checkshape result]
+decho on
+
+set j 1
+repeat 25 {
+ restore [locate_data_file OCC943_1.brep] result
+ decho off
+ set err1 [checkshape result]
+ decho on
+ if { $err != $err1 } {
+ puts [format " Faulty OCC943 (case 1): function CHECKSHAPE works wrongly on %s time" $j]
+ break
+ } else {
+ puts [format " OCC943 (case 1) OK: function CHECKSHAPE works properly %s time" $j]
+ }
+ incr j
+}
+
+set 2dviewer 0
+
--- /dev/null
+
+puts "========="
+puts " OCC943 "
+puts "(case 2)"
+puts "========="
+puts ""
+#########################################################
+## distinace between projection and initial point in dev version is larger then in C40.
+#########################################################
+
+restore [locate_data_file OCC943_2.draw] su
+
+set X 5.759527537723098
+set Y 31.81368637070151
+set Z -0.2989616405627145
+
+vertex v $X $Y $Z
+proj su $X $Y $Z
+
+regexp {Parameters +: +[-0-9.+eE]+ +([-0-9.+eE]+)} [dump ext_1] full resV
+
+cvalue ext_1 $resV cx cy cz
+vertex V cx cy cz
+distmini d V v
+
+regexp {([-0-9.+eE]+)$} [dump d_val] full res
+
+set res_good 1.108e-05
+
+if { $res > $res_good } {
+ puts ""
+ puts "Faulty OCC493 (case 2)"
+} else {
+ puts ""
+ puts " OCC493 (case 2) OK"
+}
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty OCC956"
+
+puts "========="
+puts " OCC956 "
+puts "(case 1)"
+puts "========="
+puts ""
+###############################################
+##possible regression in KAS:dev on checkshape. Fails on valid shape
+###############################################
+
+restore [locate_data_file OCC956_1.brep] result
+
+decho off
+set che [checkshape result]
+decho on
+
+if { [regexp {Faulty} $che] } {
+ puts "Faulty OCC956 (case 1): Checkshape says that the shape is incorrect, but it is not truth"
+} else {
+ puts "OCC956 OK (case 1): Checkshape works properly"
+}
+
+set 2dviewer 0
+
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty OCC956"
+
+puts "========="
+puts " OCC956 "
+puts "(case 2)"
+puts "========="
+puts ""
+###############################################
+##possible regression in KAS:dev on checkshape. Fails on valid shape
+###############################################
+
+restore [locate_data_file OCC956_2.brep] result
+
+decho off
+set che [checkshape result]
+decho on
+
+if { [regexp {Faulty} $che] } {
+ puts "Faulty OCC956 (case 2): Checkshape says that the shape is incorrect, but it is not truth"
+} else {
+ puts "OCC956 OK (case 2): Checkshape works properly"
+}
+
+set 2dviewer 0
+
+
puts ""
restore [locate_data_file fra62476a.brep] result
-puts [checkshape result]
+checkshape result
tclean result
incmesh result .1
puts ""
restore [locate_data_file fra62476b.brep] result
-puts [checkshape result]
+checkshape result
tclean result
incmesh result .1
puts "==========="
restore [locate_data_file ger61235a.brep] tool
-puts [checkshape tool]
+checkshape tool
restore [locate_data_file ger61235b.brep] object
-puts [checkshape object]
+checkshape object
bsection result object tool
puts "Result of section :"
-puts [checkshape result]
+checkshape result
#To check geometry part
mksurface s1 tool
mksurface s2 object
#############################################################
restore [locate_data_file pro19422a.brep] shape
-puts [checkshape shape]
+checkshape shape
restore [locate_data_file pro19422b.brep] tool
-puts [checkshape tool]
+checkshape tool
bcut result shape tool
#############################################################
restore [locate_data_file pro19422c.brep] shape
-puts [checkshape shape]
+checkshape shape
restore [locate_data_file pro19422d.brep] tool
-puts [checkshape tool]
+checkshape tool
bcut result shape tool
puts "=================================="
restore [locate_data_file pro20333a.brep] result
-puts [checkshape result]
+checkshape result
tclean result
isos result 0
stepread [locate_data_file buc60624a.stp] a *
tpcompound result
-puts [checkshape result]
+checkshape result
set 2dviewer 0
stepread [locate_data_file BUC60809.stp] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
if { ${IsOK} == 1 } {
fixshape result com ${delta}
- puts [ checkshape result]
- puts [checkshape result r]
+ checkshape result
+ checkshape result r
}
set 2dviewer 0
puts "========================"
restore [locate_data_file pump4.brep] a_1
-puts [checkshape a_1]
+checkshape a_1
#####################################################################
catch {exec rm ${imagedir}/buc60948.stp}
stepread ${imagedir}/buc60948.stp a *
tpcompound result
-puts [checkshape result]
+checkshape result
set 2dviewer 0
if { [llength [whatis result]] == 3 } {
puts "Error : There is no result"
}
-puts [checkshape result]
+checkshape result
set 2dviewer 0
stepread [locate_data_file BUC61003-1.stp] a *
tpcompound result
-puts [checkshape result]
+checkshape result
vdisplay result
vsetdispmode 1
stepread [locate_data_file BUC61003-2.stp] a *
tpcompound result
-puts [checkshape result]
+checkshape result
vdisplay result
vsetdispmode 1
stepread [locate_data_file BUC61003-3.stp] a *
tpcompound result
-puts [checkshape result]
+checkshape result
vdisplay result
vsetdispmode 1
stepread [locate_data_file BUC61003-4.stp] a *
tpcompound result
-puts [checkshape result]
+checkshape result
vdisplay result
vsetdispmode 1
stepread [locate_data_file BUC61004.stp] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
igesbrep ${imagedir}/box.igs b *
compound a_1 b_1 result
-puts [checkshape result]
+checkshape result
set 2dviewer 0
stepread [locate_data_file OCC55.stp] a *
tpcompound result
-puts [checkshape result]
+checkshape result
set 2dviewer 0
--- /dev/null
+puts "================"
+puts "OCC609"
+puts "================"
+puts ""
+#################################
+## Impossible to write separate vertices to STEP
+#################################
+
+restore [locate_data_file OCC609.brep] a1
+
+######################################################################
+file delete ${imagedir}/vertises.stp
+stepwrite a a1 ${imagedir}/vertises.stp
+
+dall
+
+stepread ${imagedir}/vertises.stp a2 *
+
+set tex [nbshapes a2_1]
+regexp {VERTEX +: +([-0-9.+eE]+)} $tex full ve
+
+if { $ve != 0 } {
+ puts " OCC609 : vertexes were saved and restored properly"
+} else {
+ puts "Faulty OCC609: vertexes were saved and restored wrongly"
+}
+
+
--- /dev/null
+puts "================"
+puts "OCC630"
+puts "================"
+puts ""
+########################################################
+## DRAW hungs up at the attempt to restore solid previously saved in STEP format
+########################################################
+
+restore [locate_data_file OCC630.brep] a1
+checkshape a1
+
+######################################################################
+file delete ${imagedir}/solid.stp
+stepwrite a a1 ${imagedir}/solid.stp
+
+dall
+
+if [catch {stepread ${imagedir}/solid.stp a2 * } res] {
+ puts "Faulty OCC630: here is reading problem"
+} else {
+ tpcompound result
+ checkshape result
+
+ set 2dviewer 0
+}
--- /dev/null
+puts "======="
+puts "OCC725"
+puts "======="
+puts ""
+#############################################################
+## Storing all free vertices of STEP into one SHAPE_DEFINITION_REPRESENTATION
+#############################################################
+
+stepread [locate_data_file OCC725.stp] a *
+
+tpcompound result
+checkshape result
+
+set 2dviewer 0
--- /dev/null
+puts "============"
+puts "OCC725"
+puts "============"
+puts ""
+###########################################################
+## Storing all free vertices of STEP into one SHAPE_DEFINITION_REPRESENTATION
+######################################################################
+
+set file2 ${imagedir}/OCC725.stp
+
+stepread [locate_data_file OCC725.stp] a *
+
+set len [nbshapes a_1]
+regexp {VERTEX +: +([-0-9.+eE]+)} $len full VERTEX1
+
+stepwrite a a_1 $file2
+
+stepread $file2 b *
+
+set len [nbshapes b_1]
+regexp {VERTEX +: +([-0-9.+eE]+)} $len full VERTEX2
+
+if { ${VERTEX1} != ${VERTEX2} } {
+ puts "Faulty OCC725"
+}
+
--- /dev/null
+puts "TODO OCC12345 ALL: Error on Record"
+puts "TODO OCC12345 ALL: OCC926 Faulty"
+
+puts "================"
+puts "OCC926"
+puts "================"
+puts ""
+
+stepread [locate_data_file OCC926.stp] a *
+
+tpcompound result
+set list [nbshapes result]
+
+regexp {VERTEX +: +([-0-9.+eE]+)} $list full VERTEX
+regexp {EDGE +: +([-0-9.+eE]+)} $list full EDGE
+regexp {WIRE +: +([-0-9.+eE]+)} $list full WIRE
+regexp {FACE +: +([-0-9.+eE]+)} $list full FACE
+regexp {SHELL +: +([-0-9.+eE]+)} $list full SHELL
+regexp {SOLID +: +([-0-9.+eE]+)} $list full SOLID
+regexp {COMPSOLID +: +([-0-9.+eE]+)} $list full COMPSOLID
+regexp {COMPOUND +: +([-0-9.+eE]+)} $list full COMPOUND
+regexp {SHAPE +: +([-0-9.+eE]+)} $list full SHAPE
+
+if { $VERTEX != 4474 || \
+ $EDGE != 6907 || \
+ $WIRE != 3823 || \
+ $FACE != 3085 || \
+ $SHELL != 196 || \
+ $SOLID != 154 || \
+ $COMPSOLID != 0 || \
+ $COMPOUND != 32 || \
+ $SHAPE != 18671 } {
+ puts "OCC926 Faulty"
+} else {
+ puts "OCC926 OK"
+}
+
+set 2dviewer 0
+
stepread [locate_data_file id_turbine-B.stp] a *
-puts [checkshape a_1]
-puts [checkshape a_1 r]
+checkshape a_1
+checkshape a_1 r
renamevar a_1 result
tpdraw 2637
-puts [checkshape tp_2637]
-puts [checkshape tp_2637 r]
+checkshape tp_2637
+checkshape tp_2637 r
set 2dviewer 0
tpdraw 2139
-puts [checkshape tp_2139]
-puts [checkshape tp_2139 r]
+checkshape tp_2139
+checkshape tp_2139 r
set MaxTolerance [ lindex [ split [ lindex [tolerance tp_2139] 1 ] = ] 1 ]
puts "MaxTolerance = $MaxTolerance"
stepread [locate_data_file PRO20361-1.stp] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
stepread [locate_data_file PRO20361-3.stp] a *
tpcompound result
-puts [checkshape result]
-puts [checkshape result r]
+checkshape result
+checkshape result r
set 2dviewer 0
explode a_1 f
renamevar a_1 result
-puts [checkshape a_1_1]
-puts [checkshape a_1_1 r]
+checkshape a_1_1
+checkshape a_1_1 r
set l [explode a_1_1 e]
set n [llength $l]
puts "Error : The amount of edges in FIRST face is more than four"
}
-puts [checkshape a_1_2]
-puts [checkshape a_1_2 r]
+checkshape a_1_2
+checkshape a_1_2 r
set i [explode a_1_2 e]
set m [llength $i]
--- /dev/null
+puts "TODO OCC12345 ALL: An exception was caught"
+puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+
+puts "=========="
+puts "BUC60547"
+puts "========================="
+puts "It takes visul check for this BUG"
+puts "We must see 4 contours"
+puts "========================="
+
+vinit
+BUC60547 f
+vfit
+QAUpdateLights
+
+set x_coord 290
+set y_coord 33
+
+checkcolor $x_coord $y_coord 1 0 0
+
+set only_screen 1
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+puts "==========="
+puts "BUC60574"
+puts "==========="
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+vinit
+BUC60574
+
+QASelect 220 210
+QASelect 220 210
+QAUpdateLights
+puts ""
+
+set x_coord 205
+set y_coord 205
+
+checkcolor $x_coord $y_coord 0.8 0.8 0.8
+
+if {$stat != 1} {
+ puts "OK: Plane of trihedron was selected properly "
+}
+
+## modified colors
+
+set only_screen 1
--- /dev/null
+
+puts "========="
+puts "BUC60587"
+puts "========="
+puts ""
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+restore [locate_data_file buc60587a.brep] result
+checkshape result
+tclean result
+vinit
+vdisplay result
+vfit
+vsetdispmode 1
+QASelect 180 180
+QASelect 180 180
+vsetcolor result CYAN3
+
+set x_coord 120
+set y_coord 180
+
+checkcolor $x_coord $y_coord 0.7 1 0.9
+
+if { $stat != 1 } {
+ puts "Error : Model has NOT CYAN colour."
+}
+
+set only_screen 1
+
--- /dev/null
+
+puts "================"
+puts "BUC60614"
+puts "================"
+puts "The application crashs when you set the selection mode to compound."
+puts ""
+
+box b 10 30 50
+compound b c
+vinit
+BUC60614 c
+QAMoveTo 200 200
+QAMoveTo 200 200
+vfit
+
+set only_screen 1
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+puts "================"
+puts "BUC60632"
+puts "================"
+
+vinit
+BUC60632 0 100
+vfit
+QAMoveTo 313 254
+QAMoveTo 313 254
+puts "Highlighting by 'Move To' command in wireframe mode"
+
+set x_coord 315
+set y_coord 256
+
+checkcolor $x_coord $y_coord 0 1 1
+
+if { $stat != 1 } {
+ puts "Error : Highlighting by Move To command in wireframe mode is WRONG."
+}
+
+set only_screen 1
+
+
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+puts "================"
+puts "BUC60632"
+puts "================"
+
+vinit
+BUC60632 1 100
+vfit
+QAMoveTo 313 254
+QAMoveTo 313 254
+puts "Highlighting by 'Move To' command in shading mode"
+
+set x_coord 315
+set y_coord 256
+
+checkcolor $x_coord $y_coord 0 1 1
+
+if { $stat != 1 } {
+ puts "Error : Highlighting by Move To command in shading mode is WRONG."
+}
+
+set only_screen 1
+
+
--- /dev/null
+
+puts "=========================="
+puts "BUC60659"
+puts "=========================="
+puts ""
+##########################################
+## puts "There was Exception after vsetshading command"
+##########################################
+
+box a 10 30 50
+vinit
+vdisplay a
+vfit
+vsetshading a
+
+set only_screen 1
--- /dev/null
+puts "=================================="
+puts "BUC60661"
+puts "It takes visual check for this BUG"
+puts "=================================="
+puts ""
+
+pload XDE
+
+##################################################################
+##DESCRIPTION: It is impossible to nominate "sheding" mode in 3D-viewer for the some shapes in
+## C30 (SUN station), which were stored in "IGES" format previousl and then were retrieved again
+## into "BREP" format.
+##################################################################
+
+restore [locate_data_file buc60661a.brep] buc60661
+checkshape buc60661
+
+######################################################################
+file delete ${imagedir}/buc60661.igs }
+brepiges buc60661 ${imagedir}/buc60661.igs
+######################################################################
+
+dall
+
+if [catch { igesbrep ${imagedir}//buc60661.igs a * } res] {
+ puts "Faulty BUC60661: here is reading problem of iges file"
+} else {
+ puts "Reading of iges in BUC60661 is OK"
+}
+
+tpcompound result
+checkshape result
+
+vinit
+tclean result
+vdisplay result
+vsetdispmode result 1
+
+set info [trinfo result]
+regexp { +([-0-9.+eE]+) +triangles} $info full tri
+regexp { +([-0-9.+eE]+) +nodes} $info full nod
+
+if { $tri == 0 || $nod ==0 } {
+ puts "Error : here is shading problem"
+}
+
+set 3dviewer 1
+
--- /dev/null
+puts "==========="
+puts "BUC60688"
+puts "==========="
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+vinit
+vertex v_1 .003 .0 .0
+vertex v_2 .003 .0 .003
+vertex v_3 .0 .0 .003
+vertex v_4 .0 .0 .0
+edge e_1 v_1 v_2
+edge e_2 v_2 v_3
+edge e_3 v_3 v_4
+edge e_4 v_4 v_1
+wire w_1 e_1 e_2 e_3 e_4
+mkplane r w_1
+vdisplay r
+vfit
+QASelect 120 21
+QASelect 120 21
+QAUpdateLights
+
+puts "WARNING : The rectangular MUST be highlighted !"
+puts ""
+
+set x_coord 88
+set y_coord 272
+
+checkcolor $x_coord $y_coord 0.8 0.8 0.8
+
+if {$stat != 1} {
+ puts "Error : The rectangular is NOT highlighted."
+}
+
+set only_screen 1
--- /dev/null
+
+puts "========================"
+puts "BUC60701"
+puts "========================"
+
+box result 10 10 10
+vinit
+vdisplay result
+set 3dviewer 1
+
+### Photo of V3Dview is less than image in the viewer (only half-part of viewer is present on a photo).
--- /dev/null
+### by apn (no regresion in CR23352_3
+###if { [array get env os_type] != "" } {
+### set os $env(os_type)
+###}
+###if { [string compare $os "windows"] == 0 } {
+### puts "TODO OCC12345 ALL: Error : Colors are not equal in default coordinate and in the near coordinates too"
+### puts "TODO OCC12345 ALL: Error : The style of edge is NOT dash"
+### by apn: Image is not correct on WNT
+###}
+
+puts "========================"
+puts "BUC60738"
+puts "========================"
+puts ""
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+vinit
+BUC60738
+vfit
+vsetdispmode 1
+
+QAUpdateLights
+
+set x_coord 261
+set y_coord 314
+
+checkcolor $x_coord $y_coord 0 1 0
+
+if {$stat != 1} {
+ puts "Error : The style of edge is NOT dash"
+}
+
+set only_screen 1
--- /dev/null
+puts "==========="
+puts "BUC60740"
+puts "==========="
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+vinit
+box b 0 0 0 10 10 10
+pcylinder c 10 10
+vdisplay b
+vsetdispmode b 1
+vdisplay c
+vsetdispmode c 1
+vfit
+vsettransparency c 0.5
+
+set x_coord 154
+set y_coord 257
+
+QAUpdateLights
+
+checkcolor $x_coord $y_coord 0.6 0.4 0.07
+
+if {$stat != 1} {
+ puts "Error :function vsettransparency works WRONGLY"
+}
+
+set only_screen 1
--- /dev/null
+puts "==========="
+puts "BUC60747"
+puts "BUC60611"
+puts "BUC60639"
+puts "==========="
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+v2dinit
+pcone c_o 15 0 50 360
+v2ddisplay c_o
+v2dfit
+
+set x_coord 37
+set y_coord 287
+set color2d 1
+
+checkcolor $x_coord $y_coord 1 1 0
+
+if {$stat != 1} {
+ puts "Error : function V2DFIT works wrongly"
+}
+
+set only_screen2d 1
--- /dev/null
+puts "========"
+puts "BUC60753"
+puts "========"
+puts ""
+
+restore [locate_data_file buc60753.brep] a
+checkshape a
+
+tclean a
+vinit
+vdisplay a
+vsetdispmode a 1
+vfit
+
+set TypeOfDegenerateModel 2
+set Ratio 0.5
+
+BUC60753 ${TypeOfDegenerateModel} ${Ratio}
+
+set only_screen 1
--- /dev/null
+puts "========"
+puts "BUC60774"
+puts "========"
+puts ""
+
+vinit
+catch {BUC60774}
+vfit
+
+set only_screen 1
+
+
+
+
--- /dev/null
+puts "========"
+puts "BUC60814"
+puts "========"
+puts ""
+
+vinit
+BUC60814
+vfit
+QAUpdateLights
+
+set x_coord 131
+set y_coord 352
+
+checkcolor $x_coord $y_coord 0 0 1
+
+#AKI.111002.Against **Exception..-it's on lin.Changed coord of trihedron.
+
+if {$stat != 1} {
+ puts "Error : Circle has NOT blue color."
+}
+
+set x_coord 170
+set y_coord 319
+
+checkcolor $x_coord $y_coord 0 0 1
+
+if {$stat != 1} {
+ puts "Error : Trihedron has NOT blue color."
+}
+
+set only_screen 1
--- /dev/null
+puts "==========="
+puts "BUC60818"
+puts "==========="
+
+vinit
+BUC60818
+
+set only_screen 1
+
--- /dev/null
+puts "==========="
+puts "BUC60821"
+puts "==========="
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+puts ""
+
+vinit
+
+catch {BUC60821 100 200 300}
+
+set x_coord 206
+set y_coord 195
+
+checkcolor $x_coord $y_coord 0 0 0
+
+if {$stat != 1} {
+ puts "Error : The texts have identical height"
+}
+
+set only_screen 1
+
--- /dev/null
+puts "============="
+puts "BUC60830"
+puts "BUC60829"
+puts "============="
+
+restore [locate_data_file BUC60830-face1.brep] res
+checkshape res
+
+topoload res
+side left
+mat
+result
+
+side right
+mat
+result
+
--- /dev/null
+puts "============="
+puts "BUC60830"
+puts "BUC60829"
+puts "============="
+coordload res [locate_data_file cont1.dat]
+topoload res
+drawcont
+side left
+mat
+result
+side right
+mat
+result
+
+
--- /dev/null
+puts "============="
+puts "BUC60830"
+puts "BUC60829"
+puts "============="
+
+coordload res [locate_data_file cont2.dat]
+topoload res
+drawcont
+side left
+mat
+result
+side right
+mat
+result
+
+
--- /dev/null
+puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty_"
+
+puts "============"
+puts "BUC60832"
+puts "============"
+puts ""
+################################################################################
+## Try to display this shape in the viewer 3D by means of the method AIS_InteractiveContext::Display().
+## This method calls StdSelect_BRepSelectionTool::ComputeSelection() a recursive method which hangs up an application.
+################################################################################
+
+restore [locate_data_file BUC60832.brep] result
+checkshape result
+
+tclean result
+vinit
+vdisplay result
+vsetdispmode result 1
+vfit
+
+set only_screen 1
--- /dev/null
+
+puts "============="
+puts "BUC60851"
+puts "============="
+puts ""
+##########################################################
+## After several manipulations with Triedron of V3d_View class it raises an exception
+## (detected in method Visual3d_View::TriedronDisplay)
+##########################################################
+
+BUC60851
+vfit
+
+set only_screen 1
--- /dev/null
+puts "========"
+puts "BUC60857"
+puts "========"
+
+vinit
+BUC60857
+vfit
+
+set Property_BLUE [sprops BUC60857_BLUE]
+set Square_BLUE [lindex ${Property_BLUE} 2]
+
+set Property_RED [sprops BUC60857_RED]
+set Square_RED [lindex ${Property_RED} 2]
+
+set Property_GREEN [sprops BUC60857_GREEN]
+set Square_GREEN [lindex ${Property_GREEN} 2]
+
+boundingstr BUC60857_BLUE xmin_BLUE ymin_BLUE zmin_BLUE xmax_BLUE ymax_BLUE zmax_BLUE
+boundingstr BUC60857_RED xmin_RED ymin_RED zmin_RED xmax_RED ymax_RED zmax_RED
+boundingstr BUC60857_GREEN xmin_GREEN ymin_GREEN zmin_GREEN xmax_GREEN ymax_GREEN zmax_GREEN
+
+set delta_Square_GB [expr abs(${Square_GREEN} - ${Square_BLUE}) / ${Square_BLUE} * 100]
+set delta_Square_BR [expr ${Square_BLUE} / ${Square_RED}]
+
+set delta_xmin_GB [expr abs([dval xmin_GREEN] - [dval xmin_BLUE]) / [dval xmin_BLUE] * 100]
+set delta_ymin_GB [expr abs([dval ymin_GREEN] - [dval ymin_BLUE]) / [dval ymin_BLUE] * 100]
+set delta_zmin_GB [expr abs([dval zmin_GREEN] - [dval zmin_BLUE]) / [dval zmin_BLUE] * 100]
+set delta_xmax_GB [expr abs([dval xmax_GREEN] - [dval xmax_BLUE]) / [dval xmax_BLUE] * 100]
+set delta_ymax_GB [expr abs([dval ymax_GREEN] - [dval ymax_BLUE]) / [dval ymax_BLUE] * 100]
+set delta_zmax_GB [expr abs([dval zmax_GREEN] - [dval zmax_BLUE]) / [dval zmax_BLUE] * 100]
+
+set delta_xmin_RB [expr abs([dval xmin_RED] - [dval xmin_BLUE]) / [dval xmin_BLUE] * 100]
+set delta_ymin_RB [expr abs([dval ymin_RED] - [dval ymin_BLUE]) / [dval ymin_BLUE] * 100]
+set delta_zmin_RB [expr abs([dval zmin_RED] - [dval zmin_BLUE]) / [dval zmin_BLUE] * 100]
+set delta_xmax_RB [expr abs([dval xmax_RED] - [dval xmax_BLUE]) / [dval xmax_BLUE] * 100]
+set delta_ymax_RB [expr abs([dval ymax_RED] - [dval ymax_BLUE]) / [dval ymax_BLUE] * 100]
+set delta_zmax_RB [expr abs([dval zmax_RED] - [dval zmax_BLUE]) / [dval zmax_BLUE] * 100]
+
+set H_BLUE [expr [dval zmax_BLUE] - [dval zmin_BLUE] ]
+set H_RED [expr [dval zmax_RED] - [dval zmin_RED] ]
+set delta_H_RB [expr abs(${H_RED} - ${H_BLUE}) / ${H_BLUE} * 100]
+
+set maxdelta 0.01
+
+if {${delta_Square_GB} > ${maxdelta}} {
+ puts "delta_Square_GB = ${delta_Square_GB}"
+ puts "maxdelta = ${maxdelta}"
+ puts "BUC60857: ERROR (case 1)"
+} else {
+ puts "BUC60857: OK (case 1)"
+}
+
+if {${delta_Square_BR} > 3.0 || \
+ ${delta_Square_BR} < 2.9 } {
+ puts "delta_Square_BR = ${delta_Square_BR}"
+ puts "delta_Square_BR = ${delta_Square_BR}"
+ puts "BUC60857: ERROR (case 2)"
+} else {
+ puts "BUC60857: OK (case 2)"
+}
+
+if {${delta_xmin_GB} > ${maxdelta} || \
+ ${delta_ymin_GB} > ${maxdelta} || \
+ ${delta_zmin_GB} > ${maxdelta} || \
+ ${delta_xmax_GB} > ${maxdelta} || \
+ ${delta_ymax_GB} > ${maxdelta} || \
+ ${delta_zmax_GB} > ${maxdelta} } {
+ puts "delta_xmin_GB = ${delta_xmin_GB}"
+ puts "delta_ymin_GB = ${delta_ymin_GB}"
+ puts "delta_zmin_GB = ${delta_zmin_GB}"
+ puts "delta_xmax_GB = ${delta_xmax_GB}"
+ puts "delta_ymax_GB = ${delta_ymax_GB}"
+ puts "delta_zmax_GB = ${delta_zmax_GB}"
+ puts "maxdelta = ${maxdelta}"
+ puts "BUC60857: ERROR (case 3)"
+} else {
+ puts "BUC60857: OK (case 3)"
+}
+
+set maxdelta_H 10
+if {${delta_H_RB} > ${maxdelta_H}} {
+ puts "delta_H_RB = ${delta_H_RB}"
+ puts "maxdelta_H = ${maxdelta_H}"
+ puts "BUC60857: ERROR (case 4)"
+} else {
+ puts "BUC60857: OK (case 4)"
+}
+
+set only_screen 1
--- /dev/null
+puts "============"
+puts "BUC60858"
+puts "============"
+puts ""
+######################################################################
+## When I gave command "vdisplay a" , where a is shape restored from attached file.DRAW crashes
+## with segmentation fault. Exception is raised in the file BRepMesh/triangle.cxx.
+######################################################################
+
+restore [locate_data_file BUC60858.brep] result
+
+tclean result
+isos 0
+vinit
+incmesh result 0.01
+vdisplay result
+vfit
+
+vclear
+vdisplay result
+vsetdispmode result 1
+
+isos result 0
+triangles result
+
+set info [trinfo result]
+regexp { +([-0-9.+eE]+) +triangles} $info full tr
+regexp { +([-0-9.+eE]+) +nodes} $info full nd
+
+if { $tr == 0 || $nd == 0 } {
+ puts "Error : here is shading problem"
+}
+
+set 3dviewer 1
+
+
+
--- /dev/null
+puts "========"
+puts "BUC60876"
+puts "========"
+puts ""
+
+pcylinder c 100 300
+vinit
+BUC60876 c
+vfit
+QAMoveTo 200 200
+QAMoveTo 200 200
+
+QAUpdateLights
+
+set x_coord 200
+set y_coord 200
+
+checkcolor $x_coord $y_coord 0 1 1
+
+set only_screen 1
+
--- /dev/null
+puts "============"
+puts "BUC60887"
+puts "============"
+puts ""
+############################################
+## Shape hangs after command " vdisplay " in the Viewer3d.
+############################################
+
+restore [locate_data_file BUC60887.brep] result
+
+set nb_info [nbshapes result]
+regexp {VERTEX +: +([-0-9.+eE]+)} $nb_info full nb_v
+
+puts [format "Shape res contains %s vertexes" $nb_v]
+if { $nb_v == 0} {
+ puts "Error : Result shape is NULL shape"
+} else {
+ set 3dviewer 1
+}
+
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+puts "==========="
+puts "BUC60915"
+puts "==========="
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+vinit
+BUC60915
+
+set x_coord 300
+set y_coord 164
+
+checkcolor $x_coord $y_coord 0.51 0.98 0
+
+if {$stat != 1} {
+ puts "Error : Cannot set the arrow size when using AIS_LengthDimension or AIS_RadiusDimensin."
+}
+
+set only_screen 1
+
+
--- /dev/null
+puts "==========="
+puts "BUC60920"
+puts "==========="
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+#########################################################################
+## Bug in Viewer3d: curves and points are not highlighted when mouse pointer is moved over in shading mode.
+#########################################################################
+
+vinit
+BUC60920
+vfit
+
+QAUpdateLights
+
+set x_coord 315
+set y_coord 210
+
+checkcolor $x_coord $y_coord 0 1 1
+
+set only_screen 1
puts "========================"
restore [locate_data_file OCC20.brep] res
-puts [checkshape res]
+checkshape res
set first [trinfo res]
tclean res
###########################################################
restore [locate_data_file OCC173.brep] result
-puts [checkshape result]
+checkshape result
vinit result
tclean
###########################################################
restore [locate_data_file OCC173.brep] result
-puts [checkshape result]
+checkshape result
vinit
tclean result
restore [locate_data_file OCC173.brep] result
-puts [checkshape result]
+checkshape result
vinit
tclean result
puts ""
restore [locate_data_file OCC19.brep] result
-puts [checkshape result]
+checkshape result
tclean result
incmesh result .9
puts ""
restore [locate_data_file OCC19.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========================"
restore [locate_data_file shading_058.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========================"
restore [locate_data_file shading_105.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========================"
restore [locate_data_file shading_107.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "========================"
restore [locate_data_file shading_151.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
puts "============ OCC288 (case 5) ==============="
restore [locate_data_file OCC288e.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
#############################################
restore [locate_data_file OCC344.brep] result
-puts [checkshape result]
+checkshape result
tclean result
vinit
##############################################
restore [locate_data_file OCC364.brep] result
-puts [checkshape result]
+checkshape result
tclean result
isos result 0
--- /dev/null
+puts "========================"
+puts "BUC61058"
+puts " OCC378 "
+puts "========================"
+puts ""
+########################################################################
+##Regression on KAS:dev:ros. Draw hangs after try to load 6381.brep shape to 3D Viewer. Case : cgg/004/S2
+########################################################################
+
+restore [locate_data_file OCC378.brep] result
+
+tclean result
+vinit
+
+if [catch {vdisplay result } res] {
+ puts "Error : function VDISPLAY works wrongly"
+}
+
+vfit
+
+set only_screen 1
+
+
--- /dev/null
+puts "========"
+puts "OCC443"
+puts "========"
+puts ""
+###############################################################
+##"Fit all view" ives not centered picture during fitting the view (SAM024).
+###############################################################
+
+restore [locate_data_file OCC443.brep] result
+
+vinit
+vdisplay result
+vfit
+
+set x_coord 31
+set y_coord 304
+
+QAUpdateLights
+
+checkcolor $x_coord $y_coord 0 0 0
+
+set only_screen 1
--- /dev/null
+puts "========================"
+puts " OCC451 "
+puts "========================"
+puts ""
+#############################################################
+## puts "Choosing of viewer MODA for selection of VERTEX"
+## puts "(visual checking for this case is desirable)"
+##
+# Selection Modes Activation:
+# 0 - OBJECT, 1 - VERTEX, 2 - ELEMENT, 3 - VERTEX, 4 - NONE
+#############################################################
+
+vertex v1 0 0 0
+vertex v2 10 10 10
+v2dinit
+v2ddisplay v1
+v2ddisplay v2
+v2dfit
+
+set x_coord 49
+set y_coord 361
+set color2d 1
+
+QAv2dSetHighlightMode 3
+QAMoveTo2d 0 0
+QASelect2d $x_coord $y_coord
+
+checkcolor $x_coord $y_coord 0.8 0.8 0.8
+
+if {$stat != 1} {
+ puts "Error : Choosing of viewer MOD for selection of VERTEX was NOT MADE properly"
+}
+
+set only_screen2d 1
--- /dev/null
+puts "========"
+puts "OCC591"
+puts "========"
+puts ""
+
+restore [locate_data_file OCC591.brep] result
+tclean result
+vinit
+vdisplay result
+vfit
+vsetdispmode result 1
+vsettransparency result .5
+
+QAUpdateLights
+
+set x_coord 250
+set y_coord 115
+
+checkcolor $x_coord $y_coord 0.58 0.41 0.07
+
+if {$stat != 1} {
+ puts "Error : Function VSETTRANSPARENCY works wrongly."
+}
+
+set only_screen 1
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+puts "=================================="
+puts "BUC60569"
+puts "OCC597"
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+restore [locate_data_file buc60569a.rle] result
+tclean result
+vinit
+
+checkshape result
+
+BUC60569 result
+vfit
+QAMoveTo 250 190
+QASelect 250 190
+QAUpdateLights
+
+set x_coord 335
+set y_coord 331
+
+checkcolor $x_coord $y_coord 0.8 0.8 0.8
+
+if {$stat != 1} {
+ puts "Error : The right face is NOT Selected by Select command."
+}
+
+QAShiftSelect 180 350
+QAUpdateLights
+
+set x_coord 101
+set y_coord 347
+
+checkcolor $x_coord $y_coord 0.8 0.8 0.8
+
+if {$stat != 1} {
+ puts "Error : The left face is NOT Selected by Shift Select command."
+}
+
+set only_screen 1
+
+
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+puts "=================================="
+puts "BUC60569"
+puts "OCC597"
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+puts ""
+
+restore [locate_data_file buc60569a.rle] result
+tclean result
+vinit
+
+checkshape result
+
+BUC60569 result
+vfit
+QAMoveTo 250 190
+QASelect 250 190
+QAShiftSelect 180 350
+QAMoveTo 250 190
+QAUpdateLights
+
+set x_coord 335
+set y_coord 331
+
+checkcolor $x_coord $y_coord 0.8 0.8 0.8
+
+if {$stat != 1} {
+ puts "Error : The right face is highlighted by Move To command."
+}
+
+set only_screen 1
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+puts "=================================="
+puts "BUC60569"
+puts "OCC597"
+puts "=================================="
+puts ""
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+puts ""
+
+restore [locate_data_file buc60569a.rle] result
+tclean result
+vinit
+
+checkshape result
+
+BUC60569 result
+vfit
+
+QAMoveTo 250 190
+QASelect 250 190
+QAShiftSelect 180 350
+QAMoveTo 250 190
+QAMoveTo 180 350
+QAUpdateLights
+
+set x_coord 101
+set y_coord 347
+
+checkcolor $x_coord $y_coord 0 1 1
+
+if {$stat != 1} {
+ puts "Error : The left face is highlighted by Move To command"
+}
+
+set only_screen 1
+
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+puts "=================================="
+puts "BUC60569"
+puts "OCC597"
+puts "=================================="
+puts ""
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+puts ""
+
+restore [locate_data_file buc60569a.rle] result
+tclean result
+vinit
+
+checkshape result
+
+BUC60569 result
+vfit
+QAMoveTo 250 190
+
+QASelect 250 190
+QAShiftSelect 180 350
+QAMoveTo 250 190
+QAMoveTo 180 350
+QASelect 390 390
+QAUpdateLights
+
+set x_coord 335
+set y_coord 331
+
+checkcolor $x_coord $y_coord 1 1 0
+
+if {$stat != 1} {
+ puts "Error : The right face is NOT deSelected."
+}
+
+set x_coord 101
+set y_coord 347
+
+checkcolor $x_coord $y_coord 1 1 0
+
+if {$stat != 1} {
+ puts "Error : The left face is NOT deSelected"
+}
+
+set only_screen 1
+
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+puts "=================================="
+puts "BUC60569"
+puts "OCC597"
+puts "=================================="
+puts ""
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+puts ""
+
+restore [locate_data_file buc60569a.rle] result
+tclean result
+vinit
+
+checkshape result
+
+BUC60569 result
+vfit
+QAMoveTo 250 190
+QASelect 250 190
+QAShiftSelect 180 350
+QAMoveTo 250 190
+QAMoveTo 180 350
+QASelect 390 390
+QAShiftSelect 250 190
+QAUpdateLights
+
+set x_coord 335
+set y_coord 331
+
+checkcolor $x_coord $y_coord 0.8 0.8 0.8
+
+if {$stat != 1} {
+ puts "Error : The right face is NOT Selected by Shift Select command"
+}
+
+QAShiftSelect 180 350
+QAUpdateLights
+
+set x_coord 101
+set y_coord 347
+
+checkcolor $x_coord $y_coord 0.8 0.8 0.8
+
+if {$stat != 1} {
+ puts "Error : The left face is Selected by Shift Select command"
+}
+
+set only_screen 1
+
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+puts "=================================="
+puts "BUC60569"
+puts "OCC597"
+puts "=================================="
+puts ""
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+puts ""
+
+restore [locate_data_file buc60569a.rle] result
+tclean result
+vinit
+
+checkshape result
+
+BUC60569 result
+vfit
+
+QAMoveTo 250 190
+QASelect 250 190
+QAShiftSelect 180 350
+QAMoveTo 250 190
+QAMoveTo 180 350
+QASelect 390 390
+QAShiftSelect 250 190
+QAShiftSelect 180 350
+QAMoveTo 250 190
+QAUpdateLights
+
+set x_coord 335
+set y_coord 331
+
+checkcolor $x_coord $y_coord 0 1 1
+
+if {$stat != 1} {
+ puts "Error : The right face is NOT highlighted by Move To command."
+}
+
+set only_screen 1
--- /dev/null
+if { [array get env os_type] != "" } {
+ set os $env(os_type)
+}
+if { [string compare $os "windows"] != 0 } {
+ puts "TODO OCC12345 ALL: An exception was caught"
+ puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+ puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+}
+
+
+puts "=================================="
+puts "BUC60569"
+puts "OCC597"
+puts "=================================="
+puts ""
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+puts ""
+
+restore [locate_data_file buc60569a.rle] result
+tclean result
+vinit
+
+checkshape result
+
+BUC60569 result
+vfit
+
+QAMoveTo 250 190
+QASelect 250 190
+QAShiftSelect 180 350
+QAMoveTo 250 190
+QAMoveTo 180 350
+QASelect 390 390
+QAShiftSelect 250 190
+QAShiftSelect 180 350
+QAMoveTo 250 190
+QAMoveTo 180 350
+
+set x_coord 335
+set y_coord 331
+
+checkcolor $x_coord $y_coord 0.8 0.8 0.8
+
+if {$stat != 1} {
+ puts "Error : The right face is NOT highlighted by Move To command."
+}
+
+set only_screen 1
+
--- /dev/null
+puts "================"
+puts "OCC641"
+puts "SAM1559"
+puts "================"
+puts ""
+#################################################
+## Exception during attemption to display shape ==>SAM1559 (#2901)
+#################################################
+
+restore [locate_data_file OCC641.brep] a
+
+vinit
+vdisplay a
+vfit
+
+copy a b
+
+if [catch {tmirror result 0 0 0 0 1 0 } res] {
+ puts "Error : function tmirror works wrongly"
+} else {
+ if [catch { vdisplay result } res] {
+ puts "Error : result shape is displaed wrongly"
+ }
+ vfit
+}
+
+set only_screen 1
+
--- /dev/null
+puts "========"
+puts "OCC708"
+puts "OCC1011"
+puts "========"
+puts ""
+#######################################################
+## UnsetTransformation() of the AIS_InteractiveObject crashes an application
+#######################################################
+vinit
+box result 10 10 10
+vdisplay result
+vfit
+
+if [catch { OCC708 result }] {
+ puts "Faulty OCC708"
+}
+
+set only_screen 1
--- /dev/null
+puts "============"
+puts "OCC727"
+puts "============"
+puts ""
+#############################
+## The second object can not be deselected.
+#############################
+
+box a 10 10 10
+box b 50 50 50 10 10 10
+
+vinit
+vdisplay a
+vdisplay b
+vfit
+
+set x1 60
+set y1 300
+set x2 350
+set y2 120
+
+QASelect 0 0
+QASelect ${x1} ${y1}
+QAShiftSelect ${x2} ${y2}
+
+set NbSelected1 [QANbSelected]
+if { ${NbSelected1} != 2 } {
+ puts "Error : (case 1)"
+}
+
+QAShiftSelect ${x2} ${y2}
+
+set NbSelected1 [QANbSelected]
+if { ${NbSelected1} != 1 } {
+ puts "Error : (case 2)"
+}
+
+set only_screen 1
--- /dev/null
+puts "======="
+puts "OCC872"
+puts "SAM1660"
+puts "======="
+puts ""
+
+########################################
+## Exception is raised during vizualization attached shape.
+########################################
+
+cpulimit 3000
+cpulimit 3500
+
+restore [locate_data_file OCC872.brep] result
+
+vinit
+vdisplay result
+vfit
+vsetdispmode 1
+
+set only_screen 1
--- /dev/null
+puts "==============="
+puts " GER61351 "
+puts "=================================="
+puts "CASE 1 :takes visual check "
+puts "=================================="
+
+vinit
+GER61351 RED2
+QAUpdateLights
+
+set x_coord 200
+set y_coord 200
+
+checkcolor $x_coord $y_coord 0.93 0 0
+
+if {$stat != 1} {
+ puts "Error : Background color is NOT RED2."
+}
+
+set only_screen 1
--- /dev/null
+puts "==============="
+puts " GER61351 "
+puts " CASE 2 "
+puts "==============="
+puts ""
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+vinit
+
+GER61351 0 255 0
+QAUpdateLights
+
+set x_coord 200
+set y_coord 200
+
+checkcolor $x_coord $y_coord 0 1 0
+
+if {$stat != 1} {
+ puts "Error : Background color is NOT 0 1 0."
+}
+
+set only_screen 1
--- /dev/null
+puts "==============="
+puts " GER61351 "
+puts "=================================="
+puts "CASE 3 :takes visual check "
+puts "=================================="
+
+vinit
+box b 10 20 30
+GER61351 b RED2
+vfit
+QAUpdateLights
+
+set x_coord 89
+set y_coord 363
+
+checkcolor $x_coord $y_coord 0.93 0 0
+
+if {$stat != 1} {
+ puts "Error : Box color is NOT RED2."
+}
+
+set only_screen 1
--- /dev/null
+puts "TODO OCC12345 ALL: An exception was caught"
+puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+
+puts "==============="
+puts " GER61351 "
+puts " CASE 4 "
+puts "==============="
+puts ""
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+vinit
+
+box b 30 20 10
+GER61351 b 0 0 255
+vfit
+QAUpdateLights
+
+set x_coord 89
+set y_coord 363
+
+checkcolor $x_coord $y_coord 0 1 1
+
+if {$stat != 1} {
+ puts "Error : Box color is NOT 0 0 1"
+}
+
+set only_screen 1
--- /dev/null
+puts "TODO OCC12345 ALL: An exception was caught"
+puts "TODO OCC12345 ALL: \\*\\* Exception \\*\\*.*"
+puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+
+puts "==============="
+puts " GER61351 "
+puts " CASE 5 "
+puts "==============="
+puts ""
+puts "=================================="
+puts "It takes visual check for this BUG"
+puts "=================================="
+
+vinit
+
+box b 20 10 30
+GER61351 b 0 255 255
+vfit
+QAUpdateLights
+
+set x_coord 89
+set y_coord 363
+
+checkcolor $x_coord $y_coord 0 1 1
+
+if {$stat != 1} {
+ puts "Error : Box color is NOT 0 1 1"
+}
+
+set only_screen 1
--- /dev/null
+puts "==============="
+puts " GER61351 "
+puts "============================"
+puts "CASE 6 takes visual check "
+puts "============================"
+
+vinit
+box b 20 10 30
+GER61351 b CYAN3
+vfit
+QAUpdateLights
+
+set x_coord 88
+set y_coord 316
+
+checkcolor $x_coord $y_coord 0 0.8 0.8
+
+if {$stat != 1} {
+ puts "Error : Box color is NOT CYAN3"
+}
+
+set only_screen 1
--- /dev/null
+puts "TODO OCC12345 ALL: Tcl Exception: result_1 is not a topological shape!!!"
+puts "TODO OCC12345 ALL: TEST INCOMPLETE"
+puts "============="
+puts "PRO20342"
+puts "============="
+
+##############################################################################
+## Calling of the function "vsetshading" with argument less than 1.0 calls exception "Segmentation Fault". Command
+## works properly in C30. There is line in the file "C40/Gallery/ViewerTest.cxx" in the function "Vshading":
+##############################################################################
+
+pload XDE
+
+igesbrep [locate_data_file fra62523a.igs] result *
+
+checkshape result_1 r
+
+vinit
+tclean result_1
+vdisplay result_1
+vsetshading result_1 0.1
+vfit
+
+set only_screen 1
restore [locate_data_file OCC125-1.brep] shell1
fixshape result shell1 1e-7
-puts [checkshape result]
+checkshape result
set square 282.743
restore [locate_data_file OCC125-2.brep] shell2
fixshape result shell2 1e-7
-puts [checkshape result]
+checkshape result
set square 282.743
restore [locate_data_file OCC168.brep] a
fixshape result a 1e-7
-puts [checkshape result]
+checkshape result
set square 992.596
restore [locate_data_file OCC169.brep] a
fixshape result a 1e-7
-puts [checkshape result]
+checkshape result
set square 6.27959
puts "========"
restore [locate_data_file OCC184.brep] FaceBrep
-puts [checkshape FaceBrep]
+checkshape FaceBrep
set dum1 [nbshapes FaceBrep]
regexp {VERTEX +: +([-0-9.+eE]+)} $dum1 full nb_v1
igesbrep ${imagedir}/OCC184.igs FaceIGES *
sewing result FaceIGES
-puts [checkshape result]
+checkshape result
set dum2 [nbshapes result]
regexp {VERTEX +: +([-0-9.+eE]+)} $dum2 full nb_v2
puts ""
restore [locate_data_file OCC46.brep] result
-puts [checkshape result]
+checkshape result
set l [lindex [statshape result] 5]
stepread [locate_data_file OCC321.stp] a *
tpcompound a
-puts [checkshape a]
-puts [checkshape a r]
+checkshape a
+checkshape a r
######################################################################
catch {exec rm ${imagedir}/OCC321.iges}
igesbrep ${imagedir}/OCC321.iges b *
tpcompound result
-puts [checkshape result]
+checkshape result
set 2dviewer 0
fixshape result sh 1.e-7 1
-puts [checkshape result]
+checkshape result
set square 116.889
set prop "square"
fixshape result a 1e-7
-puts [checkshape result]
+checkshape result
set volume 477547
set prop "volume"
--- /dev/null
+puts "========================"
+puts " OCC547 "
+puts "(case 1)"
+puts "========================"
+puts ""
+####################################
+## Big tolerance after commmand fixshape r a 1.e-7 1
+####################################
+
+cpulimit 3000
+
+restore [locate_data_file OCC547.brep] a
+
+set tol1 [maxtolerance a]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol1 full face1
+regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol1 full edge1
+regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol1 full vert1
+
+fixshape result a 1.e-7 1
+
+set tol2 [ maxtolerance result]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol2 full face2
+regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol2 full edge2
+regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol2 full vert2
+
+if { ${face2} > ${face1} || ${edge2} > ${edge1} || ${vert2} > ${vert1} } {
+ puts "Error : Tolerance invalid. Function FixShape works WRONGLY"
+} else {
+ puts "Tolerance valed. Function FixShape works CORRECTLY"
+}
+
+set 2dviewer 1
+
--- /dev/null
+puts "TODO OCC12345 ALL: Error : Tolerance invalid. Function FixShape works WRONGLY"
+
+puts "========================"
+puts " OCC547 "
+puts "(case 2)"
+puts "========================"
+puts ""
+##################################
+## Big tolerance after "sewing" with tolearnce 0.5
+##################################
+
+restore [locate_data_file OCC547.brep] a
+
+set tol1 [maxtolerance a]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol1 full face1
+regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol1 full edge1
+regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol1 full vert1
+
+sewing result a 0.5 a
+
+set tol2 [ maxtolerance result]
+regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol2 full face2
+regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol2 full edge2
+regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tol2 full vert2
+
+if { ${face2} > ${face1} || ${edge2} > ${edge1} || ${vert2} > ${vert1} } {
+ puts "Error : Tolerance invalid. Function FixShape works WRONGLY"
+} else {
+ puts "Tolerance valed. Function FixShape works CORRECTLY"
+}
+
+set 2dviewer 1
--- /dev/null
+puts "================"
+puts "OCC659"
+puts "================"
+puts ""
+#############################################
+## Units are not taken into account while translating IGES surfaces
+#############################################
+
+param read.surfacecurve.mode -2
+
+if [catch { igesbrep [locate_data_file D44-11325-6.igs] a 6425 } res] {
+ puts "Faulty OCC659 first: here is reading problem"
+}
+
+renamevar a_1 a1
+
+param read.surfacecurve.mode -3
+
+if [catch { igesbrep . a 6425 } res] {
+ puts "Faulty OCC659 second: here is reading problem"
+}
+
+renamevar a_1 a2
+
+set size1 [ bounding a1 ]
+set size2 [ bounding a2 ]
+
+set x1_a1 [ lindex $size1 0 ]
+set x2_a1 [ lindex $size1 3 ]
+
+set x1_a2 [ lindex $size2 0 ]
+set x2_a2 [ lindex $size2 3 ]
+
+set dim2 [ expr $x2_a2 - $x1_a2 ]
+set dim1 [ expr $x2_a1 - $x1_a1 ]
+
+set siz [expr ${dim1} / ${dim2}]
+if { $siz > 25} {
+ puts "Faulty OCC659"
+} else {
+ puts " OCC659 OK"
+}
--- /dev/null
+puts "================"
+puts "OCC660"
+puts "================"
+puts ""
+#######################################################
+## Surfaces types changed while reading IGES, causing problems with 2d mapping
+#######################################################
+
+if [catch { igesbrep [locate_data_file D44-11325-6.igs] a 6425 } res] {
+ puts "Faulty OCC660: here is reading problem"
+}
+
+renamevar a_1 a
+
+mksurface result a
+
+set info [dump result]
+
+if { [regexp "SurfaceOfLinearExtrusion" $info] != 1 } {
+ puts "Faulty OCC660"
+}
+
+set 2dviewer 1
--- /dev/null
+puts "========================"
+puts " OCC810 "
+puts "========================"
+puts ""
+########################################################################
+## This bug reproducing by doing fixshape for face (In fixshape command invokes segment of bspline curve)
+## The fix for this bug is fix of OCC311 for Geom_BSplineCurve and Geom2d_BSplineCurve.
+########################################################################
+
+restore [locate_data_file OCC810.rle] a
+
+if { [catch { fixshape result a 1.e-7 0.1 } ] > 0 } {
+ puts "Faulty OCC810"
+}
+
+set 2dviewer 1
+
--- /dev/null
+puts "======="
+puts "OCC816"
+puts "======="
+puts ""
+########################################################
+## Fail occur during reading iges file that stored in brep mode. It is happens on
+## torus-apple and torus-lemon files (standard files in DE xloop nonregression test).
+########################################################
+
+set file ${imagedir}/OCC816.stp
+
+restore [locate_data_file OCC816-apple.rle] result
+
+if [ catch { brepiges result $file } res ] {
+ puts "Faulty OCC816 : brepiges not complite"
+}
+
+if [ catch { igesbrep $file a *} res ] {
+ puts "Faulty OCC816 : igesbrep not complite"
+}
+
+set 2dviewer 1
+
+
--- /dev/null
+puts "======="
+puts "OCC816"
+puts "======="
+puts ""
+########################################################
+## Fail occur during reading iges file that stored in brep mode. It is happens on
+## torus-apple and torus-lemon files (standard files in DE xloop nonregression test).
+########################################################
+
+set file ${imagedir}/OCC816.stp
+
+restore [locate_data_file OCC816-lemon.rle] result
+
+if [ catch { brepiges result $file } res ] {
+ puts "Faulty OCC816 : brepiges not complite"
+}
+
+if [ catch { igesbrep $file a *} res ] {
+ puts "Faulty OCC816 : igesbrep not complite"
+}
+
+set 2dviewer 1
+
--- /dev/null
+puts "================"
+puts "OCC859"
+puts "SAM1637"
+puts "================"
+puts ""
+#####################
+## Attached shape is not sewed.
+#####################
+
+restore [locate_data_file OCC859.brep] a
+checkshape a
+
+sewing result a
+
+freebounds result 0.1
+
+set list [statshape result_o]
+
+if {[llength ${list}] > 4} {
+ puts "Faulty OCC859: here is sewing problem"
+}
+
+set 2dviewer 1
--- /dev/null
+puts "================"
+puts "OCC861"
+puts "SAM1626"
+puts "================"
+puts ""
+######################################################
+## Invalid free boundary get by command DRAW "freebound" on attached shape.
+######################################################
+
+restore [locate_data_file OCC859.brep] result
+checkshape result
+
+freebounds result 0.1
+
+set list [statshape result_o]
+
+if {[llength ${list}] > 4} {
+ puts "Faulty OCC861"
+}
+
+set 2dviewer 1
+
--- /dev/null
+puts "======="
+puts "OCC901"
+puts "OCC884"
+puts "======="
+puts ""
+
+###########################################
+## ShapeFix_Wire::FixSelfIntersection does not remove all loops
+############################################
+
+pload QAcommands
+
+restore [locate_data_file OCC884.brep] a
+
+OCC884 result a 1.1 1.1
+
+explode result e
+mkplane p result
+pcurve c2d result_1 p
+mkcurve c3d result_1
+
+set list_3 [length $c3d]
+set list_4 [length $c2d]
+
+# len2 is the length of 3d curve
+regexp {The length c3d is +([-0-9.+eE]+)} $list_3 full len2
+
+# len1 is the length of 2d curve
+regexp {The length c2d is +([-0-9.+eE]+)} $list_4 full len1
+
+set percent_max 0.1
+set percent1 [expr abs(${len2} - ${len1}) / double(${len1}) * 100.]
+
+set len3 1.55056
+set percent2 [expr abs(${len2} - ${len3}) / double(${len3}) * 100.]
+
+puts "len1 = ${len1}"
+puts "len2 = ${len2}"
+puts "percent1 = ${percent1}"
+puts "percent2 = ${percent2}"
+
+set status 0
+
+if {${percent1} > ${percent_max}} {
+ puts "OCC901: Error (case 1)"
+ set status 1
+}
+
+if {${percent2} > ${percent_max}} {
+ puts "OCC901: Error (case 2)"
+ set status 1
+}
+
+if {${status} == 0} {
+ puts "OCC901: OK"
+}
+
+set 2dviewer 0
--- /dev/null
+puts "============"
+puts "OCC904"
+puts "============"
+puts ""
+#####################################################
+## Invalid resut shell after command fixshell in DRAW with non-manifold mode
+#####################################################
+
+pload QAcommands
+
+restore [locate_data_file OCC904.brep] a
+
+if [ catch { set res [OCC904 result a 1] } ] {
+ puts "Faulty OCC904 (case 1)"
+} else {
+ set info [checkshape result]
+ set index [lsearch $result Faulty]
+ if { [regexp "Faulty" $info] == 1 } {
+ puts "Faulty OCC904 (case 2)"
+ } else {
+ puts "OCC904 OK"
+ }
+}
+
+set 2dviewer 1
+
--- /dev/null
+puts "================"
+puts "OCC991"
+puts "================"
+puts ""
+
+puts ""
+puts "TEST COMPLETED"
+puts ""
+
+exit
+
+set status 0
+
+if { ${status} == 0 } {
+ puts "OCC991: Error"
+} else {
+ puts "OCC991: OK"
+}