1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00

0026622: Tests - Avoid using dlog and decho commands in test scripts

Added possibility to define patterns that must be present in the test log, so that test is considered OK only if all these patterns are found.
New REQUIRED statement is introduced for that, documented in dox/dev_guides/tests/tests.md.

Removed all uses of decho and dlog commands, added REQUIRED where necessary.
Command xdistcs is modified to output to Tcl instead of cout, and extended to report errors and warnings if distances are greater than tolerance (directly, instead of complex post-processing on Tcl level).

DEBUG mode for TODOs was removed (we should have no deviations in Debug mode).

Corrected indentation in DrawResources/TestCommands.tcl

HTML log will now highlight TODO statement causing IMPROVEMENT status, or REQUIRED statement causing FAIL, by corresponding color.
This commit is contained in:
abv 2015-10-09 20:15:11 +03:00 committed by bugmaster
parent ee9e67edc7
commit 6d3685029f
144 changed files with 1195 additions and 2642 deletions

View File

@ -7,7 +7,7 @@
This document provides OCCT developers and contributors with an overview and practical guidelines for work with OCCT automatic testing system. This document provides OCCT developers and contributors with an overview and practical guidelines for work with OCCT automatic testing system.
Reading the Introduction is sufficient for OCCT developers to use the test system to control non-regression of the modifications they implement in OCCT. Other sections provide a more in-depth description of the test system, required for modifying the tests and adding new test cases. Reading the Introduction should be sufficient for developers to use the test system to control non-regression of the modifications they implement in OCCT. Other sections provide a more in-depth description of the test system, required for modifying the tests and adding new test cases.
@subsection testmanual_1_1 Basic Information @subsection testmanual_1_1 Basic Information
@ -28,10 +28,11 @@ Some tests involve data files (typically CAD models) which are located separatel
@subsection testmanual_1_2 Intended Use of Automatic Tests @subsection testmanual_1_2 Intended Use of Automatic Tests
Each modification made in OCCT code must be checked for non-regression Each modification made in OCCT code must be checked for non-regression
by running the whole set of tests. The developer who does the modification by running the whole set of tests. The developer who makes the modification
is responsible for running and ensuring non-regression for the tests available to him. is responsible for running and ensuring non-regression for the tests available to him.
Note that many tests are based on data files that are confidential and thus available only at OPEN CASCADE. Thus official certification testing of the changes before integration to master branch of official OCCT Git repository (and finally to the official release) is performed by OPEN CASCADE in any case. Note that many tests are based on data files that are confidential and thus available only at OPEN CASCADE.
The official certification testing of each change before its integration to master branch of official OCCT Git repository (and finally to the official release) is performed by OPEN CASCADE to ensure non-regression on all existing test cases and supported platforms.
Each new non-trivial modification (improvement, bug fix, new feature) in OCCT should be accompanied by a relevant test case suitable for verifying that modification. This test case is to be added by the developer who provides the modification. Each new non-trivial modification (improvement, bug fix, new feature) in OCCT should be accompanied by a relevant test case suitable for verifying that modification. This test case is to be added by the developer who provides the modification.
@ -49,11 +50,10 @@ For this it is recommended to add a file *DrawAppliInit* in the directory which
Example (Windows) Example (Windows)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.tcl} ~~~~~{.tcl}
set env(CSF_TestDataPath) $env(CSF_TestDataPath)\;d:/occt/test-data set env(CSF_TestDataPath) $env(CSF_TestDataPath)\;d:/occt/test-data
return ;# this is to avoid an echo of the last command above in cout ~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Note that variable *CSF_TestDataPath* is set to default value at DRAW start, pointing at the folder <i>$CASROOT/data</i>. Note that variable *CSF_TestDataPath* is set to default value at DRAW start, pointing at the folder <i>$CASROOT/data</i>.
In this example, subdirectory <i>d:/occt/test-data</i> is added to this path. Similar code could be used on Linux and Mac OS X except that on non-Windows platforms colon ":" should be used as path separator instead of semicolon ";". In this example, subdirectory <i>d:/occt/test-data</i> is added to this path. Similar code could be used on Linux and Mac OS X except that on non-Windows platforms colon ":" should be used as path separator instead of semicolon ";".
@ -169,17 +169,19 @@ test: Run specified test case
The detailed rules of creation of new tests are given in <a href="#testmanual_3">section 3</a>. The following short description covers the most typical situations: The detailed rules of creation of new tests are given in <a href="#testmanual_3">section 3</a>. The following short description covers the most typical situations:
Use prefix <i>bug</i> followed by Mantis issue ID and, if necessary, additional suffixes, for naming the test script and DRAW commands specific for this test case. Use prefix <i>bug</i> followed by Mantis issue ID and, if necessary, additional suffixes, for naming the test script, data files, and DRAW commands specific for this test case.
1. If the test requires C++ code, add it as new DRAW command(s) in one of files in *QABugs* package. Note that this package defines macros *QVERIFY* and *QCOMPARE*, thus code created for QTest or GoogleTest frameworks can be used with minimal modifications. 1. If the test requires C++ code, add it as new DRAW command(s) in one of files in *QABugs* package.
2. Add script(s) for the test case in the subfolder corresponding to the relevant OCCT module of the group bugs <i>($CASROOT/tests/bugs)</i>. See <a href="#testmanual_5_2">the correspondence map</a>. 2. Add script(s) for the test case in the subfolder corresponding to the relevant OCCT module of the group *bugs* <i>($CASROOT/tests/bugs)</i>. See <a href="#testmanual_5_2">the correspondence map</a>.
3. In the test script: 3. In the test script:
* Load all necessary DRAW modules by command *pload*. * Load all necessary DRAW modules by command *pload*.
* Use command *locate_data_file* to get a path to data files used by test script. (Make sure to have this command not inside catch statement if it is used.) * Use command *locate_data_file* to get a path to data files used by test script. (Make sure to have this command not inside catch statement if it is used.)
* Use DRAW commands to reproduce the situation being tested. * Use DRAW commands to reproduce the situation being tested.
* If test case is added to describe existing problem and the fix is not available, add TODO message for each error to mark it as known problem. The TODO statements must be specific so as to match the actually generated messages but not all similar errors. * Make sure that in case of failure the test produces message containing word "Error" or other recognized by test system as error (add new error patterns in file parse.rules if necessary).
* Make sure that in case of failure the test produces message containing word "Error" or other recognized by test system as error (see files parse.rules). * If test case reports error due to existing problem and the fix is not available, add @ref testmanual_3_6 "TODO" statement for each error to mark it as known problem. The TODO statements must be specific so as to match the actually generated messages but not all similar errors.
4. If the test case uses data file(s) not yet present in the test database, these can be put to subfolder data of the test grid, and integrated to Git along with the test case. * To check expected output which should be obtained as a result of a test, add @ref testmanual_3_7 "REQUIRED" statement for each line of output to mark it as required.
* If test case produces error messages (contained in parse.rules) which are expected in that test and should not be considered as its failure (e.g. test for checkshape command), add REQUIRED statement for each error to mark it as required output.
4. If the test uses data file(s) not yet present in the test database, these can be put to (sub)directory pointed out by *CSF_TestDataPath* variable for running test. The files should be attached to Mantis issue corresponding to the modification being tested.
5. Check that the test case runs as expected (test for fix: OK with the fix, FAILED without the fix; test for existing problem: BAD), and integrate to Git branch created for the issue. 5. Check that the test case runs as expected (test for fix: OK with the fix, FAILED without the fix; test for existing problem: BAD), and integrate to Git branch created for the issue.
Example: Example:
@ -188,18 +190,18 @@ Example:
~~~~~ ~~~~~
git status short git status short
A tests/bugs/heal/data/OCC210a.brep A tests/bugs/heal/data/bug210_a.brep
A tests/bugs/heal/data/OCC210a.brep A tests/bugs/heal/data/bug210_b.brep
A tests/bugs/heal/bug210_1 A tests/bugs/heal/bug210_1
A tests/bugs/heal/bug210_2 A tests/bugs/heal/bug210_2
~~~~~ ~~~~~
* Test script * Test script
~~~~~ ~~~~~{.tcl}
puts "OCC210 (case 1): Improve FixShape for touching wires" puts "OCC210 (case 1): Improve FixShape for touching wires"
restore [locate_data_file OCC210a.brep] a restore [locate_data_file bug210_a.brep] a
fixshape result a 0.01 0.01 fixshape result a 0.01 0.01
checkshape result checkshape result
@ -212,10 +214,10 @@ checkshape result
Standard OCCT tests are located in subdirectory tests of the OCCT root folder ($CASROOT). Standard OCCT tests are located in subdirectory tests of the OCCT root folder ($CASROOT).
Additional test folders can be added to the test system by defining environment variable *CSF_TestScriptsPath*. This should be list of paths separated by semicolons (*;*) on Windows Additional test folders can be added to the test system by defining environment variable *CSF_TestScriptsPath*. This should be list of paths separated by semicolons (*;*) on Windows
or colons (*:*) on Linux or Mac. Upon DRAW launch, path to tests subfolder of OCCT is added at the end of this variable automatically. or colons (*:*) on Linux or Mac. Upon DRAW launch, path to *tests* subfolder of OCCT is added at the end of this variable automatically.
Each test folder is expected to contain: Each test folder is expected to contain:
* Optional file parse.rules defining patterns for interpretation of test results, common for all groups in this folder * Optional file *parse.rules* defining patterns for interpretation of test results, common for all groups in this folder
* One or several test group directories. * One or several test group directories.
Each group directory contains: Each group directory contains:
@ -304,15 +306,15 @@ The test group may contain *parse.rules* file. This file defines patterns used f
Each line in the file should specify a status (single word), followed by a regular expression delimited by slashes (*/*) that will be matched against lines in the test output log to check if it corresponds to this status. Each line in the file should specify a status (single word), followed by a regular expression delimited by slashes (*/*) that will be matched against lines in the test output log to check if it corresponds to this status.
The regular expressions support a subset of the Perl *re* syntax. See also <a href="http://perldoc.perl.org/perlre.html">Perl regular expressions</a>. The regular expressions should follow <a href="http://www.tcl.tk/man/tcl/TclCmd/re_syntax.htm">Tcl syntax</a>, with special exception that "\b" is considered as word limit (Perl-style), in addition to "\y" used in Tcl.
The rest of the line can contain a comment message, which will be added to the test report when this status is detected. The rest of the line can contain a comment message, which will be added to the test report when this status is detected.
Example: Example:
~~~~~ ~~~~~
FAILED /\\b[Ee]xception\\b/ exception FAILED /\b[Ee]xception\b/ exception
FAILED /\\bError\\b/ error FAILED /\bError\b/ error
SKIPPED /Cannot open file for reading/ data file is missing SKIPPED /Cannot open file for reading/ data file is missing
SKIPPED /Could not read file .*, abandon/ data file is missing SKIPPED /Could not read file .*, abandon/ data file is missing
~~~~~ ~~~~~
@ -559,6 +561,7 @@ Other Tcl variables defined during the test execution are:
In order to ensure that the test works as expected in different environments, observe the following additional rules: In order to ensure that the test works as expected in different environments, observe the following additional rules:
* Avoid using external commands such as *grep, rm,* etc., as these commands can be absent on another system (e.g. on Windows); use facilities provided by Tcl instead. * Avoid using external commands such as *grep, rm,* etc., as these commands can be absent on another system (e.g. on Windows); use facilities provided by Tcl instead.
* Do not put call to *locate_data_file* in catch statement this can prevent correct interpretation of the missing data file by the test system. * Do not put call to *locate_data_file* in catch statement this can prevent correct interpretation of the missing data file by the test system.
* Do not use commands *decho* and *dlog* in the test script, to avoid interference with use of these commands by the test system.
@subsection testmanual_3_5 Interpretation of test results @subsection testmanual_3_5 Interpretation of test results
@ -566,7 +569,7 @@ The result of the test is evaluated by checking its output against patterns defi
The OCCT test system recognizes five statuses of the test execution: The OCCT test system recognizes five statuses of the test execution:
* SKIPPED: reported if a line matching SKIPPED pattern is found (prior to any FAILED pattern). This indicates that the test cannot be run in the current environment; the most typical case is the absence of the required data file. * SKIPPED: reported if a line matching SKIPPED pattern is found (prior to any FAILED pattern). This indicates that the test cannot be run in the current environment; the most typical case is the absence of the required data file.
* FAILED: reported if a line matching pattern with status FAILED is found (unless it is masked by the preceding IGNORE pattern or a TODO statement), or if message TEST COMPLETED is not found at the end. This indicates that the test has produced a bad or unexpected result, and usually means a regression. * FAILED: reported if a line matching pattern with status FAILED is found (unless it is masked by the preceding IGNORE pattern or a TODO or REQUIRED statement), or if message TEST COMPLETED or at least one of REQUIRED patterns is not found. This indicates that the test has produced a bad or unexpected result, and usually means a regression.
* BAD: reported if the test script output contains one or several TODO statements and the corresponding number of matching lines in the log. This indicates a known problem. The lines matching TODO statements are not checked against other patterns and thus will not cause a FAILED status. * BAD: reported if the test script output contains one or several TODO statements and the corresponding number of matching lines in the log. This indicates a known problem. The lines matching TODO statements are not checked against other patterns and thus will not cause a FAILED status.
* IMPROVEMENT: reported if the test script output contains a TODO statement for which no corresponding line is found. This is a possible indication of improvement (a known problem has disappeared). * IMPROVEMENT: reported if the test script output contains a TODO statement for which no corresponding line is found. This is a possible indication of improvement (a known problem has disappeared).
* OK: reported if none of the above statuses have been assigned. This means that the test has passed without problems. * OK: reported if none of the above statuses have been assigned. This means that the test has passed without problems.
@ -587,7 +590,7 @@ puts "TODO BugNumber ListOfPlatforms: RegularExpression"
Here: Here:
* *BugNumber* is the bug ID in the tracker. For example: #12345. * *BugNumber* is the bug ID in the tracker. For example: #12345.
* *ListOfPlatforms* is a list of platforms, at which the bug is reproduced (e.g. Mandriva2008, Windows or All). Note that the platform name is custom for the OCCT test system; it corresponds to the value of environment variable *os_type* defined in DRAW. * *ListOfPlatforms* is a list of platforms, at which the bug is reproduced (Linux, Windows, MacOS, or All). Note that the platform name is custom for the OCCT test system; it corresponds to the value of environment variable *os_type* defined in DRAW.
Example: Example:
~~~~~ ~~~~~
@ -616,7 +619,27 @@ puts "TODO OCC22817 All: \\*\\* Exception \\*\\*"
puts "TODO OCC22817 All: TEST INCOMPLETE" puts "TODO OCC22817 All: TEST INCOMPLETE"
~~~~~ ~~~~~
@subsection testmanual_3_7 Marking required output
To check expected output which must be obtained as a result of a test for it to be considered correct, add REQUIRED statement for each specific message.
For that, the following statement should be added to such a test script:
~~~~~
puts "REQUIRED ListOfPlatforms: RegularExpression"
~~~~~
Here *ListOfPlatforms* and *RegularExpression* have the same meaning as in TODO statements described above.
The REQUIRED statament can also be used to mask message that would normally be interpreted as error (according to rules defined in *parse.rules*) but should not be considered as such within current test.
Example:
~~~~~
puts "TODO REQUIRED Linux: Faulty shapes in variables faulty_1 to faulty_5"
~~~~~
This statement notifies test system that errors reported by *checkshape* command are expected in that test case, and test should be considered as OK if this message appears, despite of presence of general rule stating that 'Faulty' signals failure.
If output does not contain required statement, test case will be marked as FAILED.
@section testmanual_4 Advanced Use @section testmanual_4 Advanced Use

View File

@ -591,7 +591,6 @@ help testdiff {
1 - output only differences 1 - output only differences
2 - output also list of logs and directories present in one of dirs only 2 - output also list of logs and directories present in one of dirs only
3 - (default) output also progress messages 3 - (default) output also progress messages
-highlight_percent value: highlight considerable (>value in %) deviations -highlight_percent value: highlight considerable (>value in %) deviations
of CPU and memory (default value is 5%) of CPU and memory (default value is 5%)
} }
@ -629,7 +628,9 @@ proc testdiff {dir1 dir2 args} {
incr narg incr narg
if { $narg < [llength $args] && ! [regexp {^-} [lindex $args $narg]] } { if { $narg < [llength $args] && ! [regexp {^-} [lindex $args $narg]] } {
set status [lindex $args $narg] set status [lindex $args $narg]
} else { set status "" } } else {
set status ""
}
if { "$status" != "same" && "$status" != "all" && "$status" != "ok" } { if { "$status" != "same" && "$status" != "all" && "$status" != "ok" } {
error "Error: Option -status must be followed by one of \"same\", \"all\", or \"ok\"" error "Error: Option -status must be followed by one of \"same\", \"all\", or \"ok\""
} }
@ -1122,16 +1123,16 @@ if [catch {
} }
# analyse log line-by-line # analyse log line-by-line
set todos {} set todos {} ;# TODO statements
set requs {} ;# REQUIRED statements
set todo_incomplete -1
set status "" set status ""
foreach line [split $log "\n"] { foreach line [split $log "\n"] {
# check if line defines specific treatment of some messages # check if line defines specific treatment of some messages
set deb_info [dversion]
if [regexp -nocase {^[ \s]*TODO ([^:]*):(.*)$} $line res platforms pattern] { if [regexp -nocase {^[ \s]*TODO ([^:]*):(.*)$} $line res platforms pattern] {
if { [regexp {DEBUG_} $platforms] != 1 } {
if { ! [regexp -nocase {\mAll\M} $platforms] && if { ! [regexp -nocase {\mAll\M} $platforms] &&
! [regexp -nocase "\\m$env(os_type)\\M" $platforms] } { ! [regexp -nocase "\\m$env(os_type)\\M" $platforms] } {
lappend html_log $line lappend html_log [_html_highlight IGNORE $line]
continue ;# TODO statement is for another platform continue ;# TODO statement is for another platform
} }
@ -1140,41 +1141,52 @@ if [catch {
set todos_unstable([llength $todos]) 1 set todos_unstable([llength $todos]) 1
} }
lappend todos [regsub -all {\\b} [string trim $pattern] {\\y}] ;# convert regexp from Perl to Tcl style # convert legacy regexps from Perl to Tcl style
set pattern [regsub -all {\\b} [string trim $pattern] {\\y}]
# special case: TODO TEST INCOMPLETE
if { [string trim $pattern] == "TEST INCOMPLETE" } {
set todo_incomplete [llength $todos]
}
lappend todos [list $pattern [llength $html_log] $line]
lappend html_log [_html_highlight BAD $line] lappend html_log [_html_highlight BAD $line]
continue continue
} }
if [regexp -nocase {^[ \s]*REQUIRED ([^:]*):[ \s]*(.*)$} $line res platforms pattern] {
if { [regexp "Debug mode" $deb_info] != 1 && [regexp {DEBUG_} $platforms] == 1 } {
continue
}
if { [regexp "Debug mode" $deb_info] == 1 && [regexp {DEBUG_} $platforms] == 1 } {
if { ! [regexp -nocase {\mAll\M} $platforms] && if { ! [regexp -nocase {\mAll\M} $platforms] &&
! [regexp -nocase "\\m$env(os_type)\\M" $platforms] } { ! [regexp -nocase "\\m$env(os_type)\\M" $platforms] } {
lappend html_log $line lappend html_log [_html_highlight IGNORE $line]
continue ;# TODO statement is for another platform continue ;# REQUIRED statement is for another platform
} }
lappend requs [list $pattern [llength $html_log] $line]
# record TODOs that mark unstable cases lappend html_log [_html_highlight OK $line]
if { [regexp {[\?]} $platforms] } {
set todos_unstable([llength $todos]) 1
}
lappend todos [regsub -all {\\b} [string trim $pattern] {\\y}] ;# convert regexp from Perl to Tcl style
lappend html_log [_html_highlight BAD $line]
continue continue
} }
# check for presence of required messages
set ismarked 0
for {set i 0} {$i < [llength $requs]} {incr i} {
set pattern [lindex $requs $i 0]
if { [regexp $pattern $line] } {
incr required_count($i)
lappend html_log [_html_highlight OK $line]
set ismarked 1
continue
}
}
if { $ismarked } {
continue
} }
# check for presence of messages indicating test result # check for presence of messages indicating test result
set ismarked 0
foreach bw $badwords { foreach bw $badwords {
if { [regexp [lindex $bw 1] $line] } { if { [regexp [lindex $bw 1] $line] } {
# check if this is known bad case # check if this is known bad case
set is_known 0 set is_known 0
for {set i 0} {$i < [llength $todos]} {incr i} { for {set i 0} {$i < [llength $todos]} {incr i} {
if { [regexp [lindex $todos $i] $line] } { set pattern [lindex $todos $i 0]
if { [regexp $pattern $line] } {
set is_known 1 set is_known 1
incr todo_count($i) incr todo_count($i)
lappend html_log [_html_highlight BAD $line] lappend html_log [_html_highlight BAD $line]
@ -1205,14 +1217,24 @@ if [catch {
# check for presence of TEST COMPLETED statement # check for presence of TEST COMPLETED statement
if { $status == "" && ! [regexp {TEST COMPLETED} $log] } { if { $status == "" && ! [regexp {TEST COMPLETED} $log] } {
# check whether absence of TEST COMPLETED is known problem # check whether absence of TEST COMPLETED is known problem
set i [lsearch $todos "TEST INCOMPLETE"] if { $todo_incomplete >= 0 } {
if { $i >= 0 } { incr todo_count($todo_incomplete)
incr todo_count($i)
} else { } else {
set status "FAILED (no final message is found)" set status "FAILED (no final message is found)"
} }
} }
# report test as failed if it doesn't contain required pattern
if { $status == "" } {
for {set i 0} {$i < [llength $requs]} {incr i} {
if { ! [info exists required_count($i)] } {
set linenum [lindex $requs $i 1]
set html_log [lreplace $html_log $linenum $linenum [_html_highlight FAILED [lindex $requs $i 2]]]
set status "FAILED (REQUIRED statement no. [expr $i + 1] is not found)"
}
}
}
# check declared bad cases and diagnose possible improvement # check declared bad cases and diagnose possible improvement
# (bad case declared but not detected). # (bad case declared but not detected).
# Note that absence of the problem marked by TODO with question mark # Note that absence of the problem marked by TODO with question mark
@ -1221,6 +1243,8 @@ if [catch {
for {set i 0} {$i < [llength $todos]} {incr i} { for {set i 0} {$i < [llength $todos]} {incr i} {
if { ! [info exists todos_unstable($i)] && if { ! [info exists todos_unstable($i)] &&
(! [info exists todo_count($i)] || $todo_count($i) <= 0) } { (! [info exists todo_count($i)] || $todo_count($i) <= 0) } {
set linenum [lindex $todos $i 1]
set html_log [lreplace $html_log $linenum $linenum [_html_highlight IMPROVEMENT [lindex $todos $i 2]]]
set status "IMPROVEMENT (expected problem TODO no. [expr $i + 1] is not detected)" set status "IMPROVEMENT (expected problem TODO no. [expr $i + 1] is not detected)"
break; break;
} }

View File

@ -297,10 +297,13 @@ static Standard_Integer xdistcc2ds(Draw_Interpretor& , Standard_Integer n, const
//function : xdistcs //function : xdistcs
//purpose : //purpose :
//======================================================================= //=======================================================================
static Standard_Integer xdistcs(Draw_Interpretor& , Standard_Integer n, const char** a) static Standard_Integer xdistcs(Draw_Interpretor& di, Standard_Integer n, const char** a)
{ {
if (n<5) { if (n < 6) {
cout<<" Use xdistcs c s t1 t2 nbp"<<endl; cout << "Use: xdistcs curve surface t1 t2 nbpoints [tol [warn_tol]]" << endl;
cout << "Measures distances from curve to surface by nbpoints probing points on a curve" << endl;
cout << "Error will be reported for points where distance is greater than tol" << endl;
cout << "Warning will be reported for points where distance is greater than warn_tol" << endl;
return 0; return 0;
} }
// //
@ -318,13 +321,13 @@ static Standard_Integer xdistcs(Draw_Interpretor& , Standard_Integer n, const ch
// //
aC=DrawTrSurf::GetCurve(a[1]); aC=DrawTrSurf::GetCurve(a[1]);
if (aC.IsNull()) { if (aC.IsNull()) {
cout<<a[1]<<" is null curve"<<endl; di << "Error: " << a[1] << " is not a curve!" << "\n";
return 0; return 0;
} }
// //
aS=DrawTrSurf::GetSurface(a[2]); aS=DrawTrSurf::GetSurface(a[2]);
if (aS.IsNull()) { if (aS.IsNull()) {
cout<<a[2]<<" is null"<<endl; di << "Error: " << a[2] << " is not a surface!" << "\n";
return 0; return 0;
} }
// //
@ -335,6 +338,8 @@ static Standard_Integer xdistcs(Draw_Interpretor& , Standard_Integer n, const ch
if (n>5) { if (n>5) {
aNbP=Draw::Atoi(a[5]); aNbP=Draw::Atoi(a[5]);
} }
Standard_Real anErrTol = (n > 6 ? Draw::Atof(a[6]) : RealLast());
Standard_Real aWarnTol = (n > 7 ? Draw::Atof(a[7]) : RealLast());
// //
iSize=3; iSize=3;
// //
@ -349,12 +354,23 @@ static Standard_Integer xdistcs(Draw_Interpretor& , Standard_Integer n, const ch
aPPS.Init(aP, aS, aTol); aPPS.Init(aP, aS, aTol);
bRet=aPPS.IsDone(); bRet=aPPS.IsDone();
if (!bRet) { if (!bRet) {
cout<<" GeomAPI_ProjectPointOnSurf failed"<<endl; di << "Error: GeomAPI_ProjectPointOnSurf failed" << "\n";
return 0; return 0;
} }
// //
aD=aPPS.LowerDistance(); aD=aPPS.LowerDistance();
printf(" T=%lg\tD=%lg\n", aT, aD); // report error or warning if distance is greater than tolerance
if (aD > anErrTol)
{
di << "Error :";
}
else if (aD > aWarnTol)
{
di << "Attention (critical value of tolerance) :";
}
char aMsg[256];
sprintf(aMsg," T=%lg\tD=%lg\n", aT, aD);
di << aMsg;
// //
aMr=new Draw_Marker3D(aP, Draw_Plus, aColor, iSize); aMr=new Draw_Marker3D(aP, Draw_Plus, aColor, iSize);
dout << aMr; dout << aMr;
@ -381,7 +397,7 @@ void GeometryTest::TestProjCommands(Draw_Interpretor& theCommands)
g = "Testing of projection (geometric objects)"; g = "Testing of projection (geometric objects)";
theCommands.Add("xdistcs", "xdistcs c s t1 t2 nbp", __FILE__, xdistcs, g); theCommands.Add("xdistcs", "xdistcs curve surface t1 t2 nbpoints [tol [warn_tol]]", __FILE__, xdistcs, g);
theCommands.Add("xdistcc2ds", "xdistcc2ds c c2d s t1 t2 nbp", __FILE__, xdistcc2ds, g); theCommands.Add("xdistcc2ds", "xdistcc2ds c c2d s t1 t2 nbp", __FILE__, xdistcc2ds, g);
theCommands.Add("xdistc2dc2dss", "xdistc2dc2dss c2d_1 c2d_2 s1 s2 t1 t2 nbp", __FILE__, xdistc2dc2dss, g); theCommands.Add("xdistc2dc2dss", "xdistc2dc2dss c2d_1 c2d_2 s1 s2 t1 t2 nbp", __FILE__, xdistc2dc2dss, g);
theCommands.Add("xdistcc", "xdistcc c1 c2 t1 t2 nbp", __FILE__, xdistcc, g); theCommands.Add("xdistcc", "xdistcc c1 c2 t1 t2 nbp", __FILE__, xdistcc, g);

View File

@ -107,32 +107,6 @@ proc CheckTriArea {shape {eps 0}} {
expr ($t_area - $g_area) / $g_area * 100 expr ($t_area - $g_area) / $g_area * 100
} }
# Check if list of xdistcs-command is valid
proc checkList {List Tolerance D_good Limit_Tol} {
set L1 [llength ${List}]
set L2 10
set L3 5
set N [expr (${L1} - ${L2})/${L3} + 1]
for {set i 1} {${i} <= ${N}} {incr i} {
set j1 [expr ${L2} + (${i}-1)*${L3}]
set j2 [expr ${j1} + 2]
set T [lindex ${List} ${j1}]
set D [lindex ${List} ${j2}]
#puts "i=${i} j1=${j1} j2=${j2} T=${T} D=${D}"
if { [expr abs(${D} - ${D_good})] > ${Tolerance} } {
puts "Error : T=${T} D=${D}"
}
if { ${Tolerance} > ${Limit_Tol} } {
if { [expr abs(${D} - ${D_good})] > ${Limit_Tol}
&& [expr abs(${D} - ${D_good})] <= ${Tolerance} } {
puts "Attention (critical value of tolerance) : T=${T} D=${D}"
}
}
}
}
# Check expected time # Check expected time
proc checktime {value expected tol_rel message} { proc checktime {value expected tol_rel message} {
set t1 [expr ${value} - ${expected}] set t1 [expr ${value} - ${expected}]

View File

@ -1,33 +1,23 @@
puts "TODO ?OCC12345 Linux: An exception was caught" puts "TODO ?OCC12345 Linux: An exception was caught"
puts "TODO ?OCC12345 Linux: Faulty OCC1138 : here is reading problem when the filename is a directory name." puts "TODO ?OCC12345 Linux: Faulty OCC1138 : here is reading problem when the filename is a directory name."
puts "TODO ?OCC12345 Linux: Faulty OCC1138" puts "TODO ?OCC12345 Linux: Faulty OCC1138"
puts "TODO ?OCC12345 Linux: \\*\\* Exception \\*\\*"
puts "================" puts "================"
puts "OCC1138" puts "OCC1138"
puts "================" puts "================"
puts "" puts ""
####################################################################################### ############################################################
# OSD_SIGSEGV is thrown during call LDOMParser.parse method # OSD_SIGSEGV is thrown during call LDOMParser.parse method
####################################################################################### ############################################################
pload QAcommands pload QAcommands
set BugNumber OCC1138 set BugNumber OCC1138
set status 0 if [catch { OCC983 ${imagedir} }] {
decho off
if [catch { OCC983 ${imagedir} } result] {
decho on
puts "Faulty ${BugNumber} : here is reading problem when the filename is a directory name." puts "Faulty ${BugNumber} : here is reading problem when the filename is a directory name."
set status 1
} else { } else {
puts "Reading ${BugNumber} OK : here is not reading problem when the filename is a directory name." puts "Reading ${BugNumber} OK : here is not reading problem when the filename is a directory name."
} }
# Resume
puts ""
if { ${status} != 0 } {
puts "Faulty ${BugNumber}"
} else {
puts "OK ${BugNumber}"
}

View File

@ -9,10 +9,7 @@ puts ""
restore [locate_data_file bug25020_b.brep] b restore [locate_data_file bug25020_b.brep] b
explode b e explode b e
dlog reset catch {checkoverlapedges b_1 b_2} info
dlog on
catch {checkoverlapedges b_1 b_2}
set info [dlog get]
if { [regexp "degenerated" ${info} ] == 1 } { if { [regexp "degenerated" ${info} ] == 1 } {
puts "OK : checkoverlapedges have the check for degenerated edges" puts "OK : checkoverlapedges have the check for degenerated edges"

View File

@ -2,25 +2,18 @@ puts "============"
puts "OCC23944" puts "OCC23944"
puts "============" puts "============"
puts "" puts ""
################################################### ####################################################################################
## Typo in ShapeCustom_RestrictionParameters leading to wrong approximation results ## Typo in ShapeCustom_RestrictionParameters leading to wrong approximation results
################################################### ####################################################################################
set BugNumber OCC23944
restore [locate_data_file bug23944_s.draw] s restore [locate_data_file bug23944_s.draw] s
decho off
mkface f s mkface f s
bsplres result f 1e-4 1e-9 15 100 C1 C2 0 1 bsplres result f 1e-4 1e-9 15 100 C1 C2 0 1
mksurface rsurf result mksurface rsurf result
set info [getsurfcontinuity rsurf]
decho on
# Resume set info [getsurfcontinuity rsurf]
puts ""
if { [regexp {rsurf has C0 continuity.} $info] } { if { ![regexp {rsurf has C0 continuity.} $info] } {
puts "OK ${BugNumber}" puts "Faulty OCC23944"
} else {
puts "Faulty ${BugNumber}"
} }

View File

@ -2,16 +2,12 @@ puts "============"
puts "OCC24218" puts "OCC24218"
puts "============" puts "============"
puts "" puts ""
####################################################################### #####################################################################################################
## ShapeFix_Face requires double execution to produce valid shape when FixSplitFaceMode is in effect ## ShapeFix_Face requires double execution to produce valid shape when FixSplitFaceMode is in effect
####################################################################### #####################################################################################################
restore [locate_data_file bug24218_f.brep] f restore [locate_data_file bug24218_f.brep] f
decho off
checkshape f
decho on
fixshape r f +o fixshape r f +o
checkshape r checkshape r

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "========" puts "========"
puts "OCC25923" puts "OCC25923"
puts "========" puts "========"
@ -10,39 +11,17 @@ smallview
restore [locate_data_file OCC25923_FixSmallWire_Orientation.brep] a restore [locate_data_file OCC25923_FixSmallWire_Orientation.brep] a
fit fit
dlog reset
dlog on
decho off
checkshape a checkshape a
set bug_info_1 [dlog get]
set bug_info_1 [lrange $bug_info_1 2 7]
decho on
fixshape r a +s +o 1e-3 fixshape r1 a +s +o 1e-3
dlog reset
dlog on
decho off
checkshape r
set bug_info_2 [dlog get]
set bug_info_2 [lrange $bug_info_2 2 7]
decho on
fixshape r r +o fixshape r2 r1 +o
dlog reset
dlog on
decho off
checkshape r
set bug_info_3 [dlog get]
set bug_info_3 [lrange $bug_info_3 2 7]
decho on
if {[string compare $bug_info_1 "This shape seems to be valid"] != 0} { if {[regexp {This shape seems to be valid} [checkshape r1] ]} {
puts "ERRROR: Restored shape is not valid."
}
if {[string compare $bug_info_2 "This shape seems to be valid"] == 0} {
puts "ERRROR: OCC25923 is reproduced. Algorythm of removing small wires on face does not work." puts "ERRROR: OCC25923 is reproduced. Algorythm of removing small wires on face does not work."
} }
if {[string compare $bug_info_3 "This shape seems to be valid"] != 0} {
if {![regexp {This shape seems to be valid} [checkshape r2] ]} {
puts "ERRROR: OCC25923 is reproduced. Algorythm of removing small wires on face does not work." puts "ERRROR: OCC25923 is reproduced. Algorythm of removing small wires on face does not work."
} }

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Not connected mesh inside face"
puts "==========" puts "=========="
puts "OCC25307" puts "OCC25307"
puts "==========" puts "=========="
@ -12,19 +13,18 @@ vinit
vsetdispmode 1 vsetdispmode 1
vdisplay res vdisplay res
vfit vfit
decho off
set info1 [tricheck res] set info1 [tricheck res]
decho on set pattern "Free_links +(\[0-9\]+) +Cross_face_errors +(\[0-9\]+) +Async_edges +(\[0-9\]+) +Free_nodes +(\[0-9\]+)"
regexp "Free_links +(\[0-9\]+) +Cross_face_errors +(\[0-9\]+) +Async_edges +(\[0-9\]+) +Free_nodes +(\[0-9\]+)" $info1 full freelinks1 crossfaces1 asyncedges1 freenodes1 regexp "${pattern}" $info1 full freelinks1 crossfaces1 asyncedges1 freenodes1
vclear vclear
vdisplay res vdisplay res
vsetdispmode 1 vsetdispmode 1
vfit vfit
decho off
set info2 [tricheck res] set info2 [tricheck res]
decho on regexp "${pattern}" $info2 full freelinks2 crossfaces2 asyncedges2 freenodes2
regexp "Free_links +(\[0-9\]+) +Cross_face_errors +(\[0-9\]+) +Async_edges +(\[0-9\]+) +Free_nodes +(\[0-9\]+)" $info2 full freelinks2 crossfaces2 asyncedges2 freenodes2
if { $freelinks1 != $freelinks2 } { if { $freelinks1 != $freelinks2 } {
puts "Error: Free links are not equal" puts "Error: Free links are not equal"
} else { } else {

View File

@ -27,10 +27,7 @@ vtop
vfit vfit
vmoveto 200 150 vmoveto 200 150
dlog reset
dlog off
checkcolor 64 200 1 0.72549021244049072 0.12941177189350128 checkcolor 64 200 1 0.72549021244049072 0.12941177189350128
dlog on
if { ${stat} == 1} { if { ${stat} == 1} {
puts "Error : Bad triangulation" puts "Error : Bad triangulation"

View File

@ -44,16 +44,16 @@ for {set i 0} {$i < ${Numbers}} {incr i} {
close ${fp} close ${fp}
# #
if {$i == 0} { if {$i == 0} {
set StandardLog ${Log} set Standard_Log ${Log}
} else { } else {
set info_result [string compare ${Log} ${StandardLog}] set info_result [string compare ${Log} ${Standard_Log}]
if {${info_result} == 0} { if {${info_result} == 0} {
# Log == StandardLog # Log == Standard_Log
puts "Log == StandardLog" puts "Log == Standard_Log"
} else { } else {
# Log != StandardLog # Log != Standard_Log
set status 1 set status 1
puts "Log != StandardLog" puts "Log != Standard_Log"
} }
} }
} }

View File

@ -1,24 +1,16 @@
puts "TODO OCC12345 ALL: Faulty OCC23 : Checkshape command works wrongly" puts "TODO OCC12345 ALL: Faulty shapes in variables faulty_1 to faulty"
puts "TODO OCC12345 ALL: Error : The length of result shape is" puts "TODO OCC12345 ALL: Error : The length of result shape is"
puts "================" puts "================"
puts "OCC23" puts "OCC23"
puts "================" puts "================"
puts "" puts ""
##################################################################### ##########################################################################################################
## Checkshape gives result that there is a selfintersection on wire, but there are no intersection on it. ## Checkshape gives result that there is a selfintersection on wire, but there are no intersection on it.
##################################################################### ##########################################################################################################
restore [locate_data_file OCC23.brep] sh restore [locate_data_file OCC23.brep] sh
decho off checkshape sh
set che [checkshape sh]
decho on
if { [regexp {Faulty} $che] == 1 } {
puts "Faulty OCC23 : Checkshape command works wrongly"
} else {
puts "OCC23 OK : Checkshape command works properly"
}
explode sh f explode sh f
explode sh_2 w explode sh_2 w

View File

@ -1,17 +1,16 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "========" puts "========"
puts "CR23530" puts "CR23530"
puts "========" puts "========"
puts "" puts ""
################################################## ######################################################################
## Error in Draw command "checkshape": invalid face is not recognized ## Error in Draw command "checkshape": invalid face is not recognized
################################################## ######################################################################
restore [locate_data_file bug23530_BadFace.brep] result restore [locate_data_file bug23530_BadFace.brep] result
pcurve result pcurve result
decho off
set CheckLog [checkshape result] set CheckLog [checkshape result]
decho on
if { [regexp "BRepCheck_UnorientableShape" ${CheckLog}] != 1 } { if { [regexp "BRepCheck_UnorientableShape" ${CheckLog}] != 1 } {
puts "CR23530: Error" puts "CR23530: Error"

View File

@ -7,61 +7,9 @@ puts "========"
puts "OCC305" puts "OCC305"
puts "========" puts "========"
puts "" puts ""
###################################################### ###########################################################
# BRepOffsetAPI_MakeOffset: problem with offsetting a wire # BRepOffsetAPI_MakeOffset: problem with offsetting a wire
###################################################### ###########################################################
puts ""
puts "Bug's attributes"
puts "################"
puts ""
puts "Customer : Telco"
puts "Channel : External"
puts "Version : 4.0"
puts "OS : IRIX"
puts "Urgency : High"
puts "Type : BUG"
puts ""
puts "Summary: BRepOffsetAPI_MakeOffset: problem with offsetting a wire"
puts ""
puts "Description:"
puts "I am attaching the brep file of a curve, obtained from intersection with a"
puts "plane. Its a planer curve and we want to offset it by the amount which"
puts "is feasible. after trying with all options we were not able to offset it."
puts "But the same wire when we read inside EUCLID3 as well as CATIA it does"
puts "the offset correctly."
puts ""
puts ""
puts "Bug's advancement"
puts "#################"
puts ""
puts "Customer version Development version"
puts "Status : CLOSED Status : CLOSED"
puts "Resolution : NOT Resolution : NOT"
puts "Leave as CLOSED NOT Leave as CLOSED NOT"
puts ""
puts ""
puts "Bug's history"
puts "#############"
puts ""
puts "------- Additional Comments From Igor NAZAROV-BUGMASTER 2002-04-19 16:21 -------"
puts "Dear Sergey,"
puts "Below you will find conclusion of JGV about thia bug"
puts "Bugmaster"
puts " This case can not be done by existing algorithm. It is mathematical"
puts "limitation: the offset may be performed only from at least C1-continuous"
puts "curve, but all the 12 edges of initial wire are based on C0-continuous"
puts "curves."
puts " I may modify the algorithm so that it splits initial edges into"
puts "C1-continuous curves, but then resulting wire will consist of too many"
puts "small edges (in our case the number of edges will increase about 100"
puts "times)."
puts " But user may obtain initial wire more smooth: when he intersects"
puts "something with a plane by command \"section\", he can add the key \"-a\""
puts "(force approximation)."
puts ""
puts ""
catch {pload XDE} catch {pload XDE}
@ -71,14 +19,7 @@ checkshape a
if [catch {mkoffset result a 1 0.5 } catch_result] { if [catch {mkoffset result a 1 0.5 } catch_result] {
puts "Faulty OCC305 : function MKOFFSET works wrongly" puts "Faulty OCC305 : function MKOFFSET works wrongly"
} else { } else {
decho off
set che [checkshape result] set che [checkshape result]
decho on
if { [regexp {This shape seems to be valid} $che] == 1} {
puts "OCC305 OK"
} else {
puts "Faulty OCC305"
}
} }
set square 0 set square 0
set 2dviewer 0 set 2dviewer 0

View File

@ -1,4 +1,3 @@
puts "================" puts "================"
puts "OCC323" puts "OCC323"
puts "OCC229" puts "OCC229"
@ -8,44 +7,12 @@ puts ""
restore [locate_data_file OCC323.brep] f restore [locate_data_file OCC323.brep] f
explode f explode f
decho off
set che [checkshape f_1]
decho on
if { [regexp {Faulty} $che ] == 1 } {
puts "Warning OCC323 (shape1): Source shape is NOT correct. It was detected by Checkshape command"
} else {
puts "OCC323 OK (shape1): Source shape is valid"
}
decho off
set che [checkshape f_2]
decho on
if { [regexp {Faulty} $che ] == 1 } {
puts "Warning OCC323 (shape2): Source shape is NOT correct. It was detected by Checkshape command"
} else {
puts "OCC323 OK (shape2): Source shape is valid"
}
bsection r f_1 f_2 bsection r f_1 f_2
checkshape r checkshape r
puts [checksection r] checksection r
decho off
set che [checkshape f_3]
decho on
if { [regexp {Faulty} $che ] == 1 } {
puts "Warning OCC323 (shape3): Source shape is invalid. It was detected by Checkshape command"
} else {
puts "OCC323 OK (shape3): Source shape is valid"
}
bsection result f_1 f_3 bsection result f_1 f_3
set length 1 set length 1
set 2dviewer 0 set 2dviewer 0

View File

@ -1,3 +1,4 @@
# TODOs statements should be replaced by REQUIRED after bug fixing.
puts "TODO OCC12345 ALL: Faulty OCC330: Checkshape command works wrongly" puts "TODO OCC12345 ALL: Faulty OCC330: Checkshape command works wrongly"
puts "TODO OCC12345 ALL: Error : The square of result shape is" puts "TODO OCC12345 ALL: Error : The square of result shape is"
@ -11,9 +12,7 @@ puts ""
restore [locate_data_file OCC330.brep] result restore [locate_data_file OCC330.brep] result
decho off
set che [checkshape result] set che [checkshape result]
decho on
if { [regexp {Faulty} $che ] != 1 } { if { [regexp {Faulty} $che ] != 1 } {
puts "Faulty OCC330: Checkshape command works wrongly" puts "Faulty OCC330: Checkshape command works wrongly"

View File

@ -3,22 +3,15 @@ puts "OCC548"
puts "OCC628" puts "OCC628"
puts "========" puts "========"
puts "" puts ""
################################################################## ####################################################################################
# Function BRepTool::IsClosed returns Standard_True although argument is open shell # Function BRepTool::IsClosed returns Standard_True although argument is open shell
# Incorrect work of BRepCheck # Incorrect work of BRepCheck
################################################################## ####################################################################################
pload XDE pload XDE
restore [locate_data_file CTO908_topo103-t.brep] a restore [locate_data_file CTO908_topo103-t.brep] a
decho off
checkshape a
checkshape a b
decho on
fixshape result a 0.001 fixshape result a 0.001
set che [checkshape result c] set che [checkshape result c]

View File

@ -11,19 +11,8 @@ set BugNumber OCC5729
restore [locate_data_file OCC5729-f1.brep] f1 restore [locate_data_file OCC5729-f1.brep] f1
restore [locate_data_file OCC5729-f2.brep] f2 restore [locate_data_file OCC5729-f2.brep] f2
decho off checkshape f1
set che_1 [checkshape f1] checkshape f2
decho on
if { [regexp {Faulty} $che_1] } {
puts "Faulty ${BugNumber} : checkshape is wrong for f1"
}
decho off
set che_2 [checkshape f2]
decho on
if { [regexp {Faulty} $che_2] } {
puts "Faulty ${BugNumber} : checkshape is wrong for f2"
}
bfuse result f1 f2 bfuse result f1 f2

View File

@ -12,12 +12,7 @@ set BugNumber OCC5805
restore [locate_data_file OCC5805.brep] a restore [locate_data_file OCC5805.brep] a
decho off checkshape a
set che_a [checkshape a]
decho on
if { [regexp {Faulty} $che_a] } {
puts "Faulty ${BugNumber} : checkshape is wrong for a"
}
explode a f explode a f

View File

@ -14,13 +14,7 @@ set BugNumber OCC5805
restore [locate_data_file OCC5805.brep] a restore [locate_data_file OCC5805.brep] a
decho off checkshape a
set che_a [checkshape a]
decho on
if { [regexp {Faulty} $che_a] } {
puts "Faulty ${BugNumber} : checkshape is wrong for a"
}
explode a f explode a f

View File

@ -10,12 +10,7 @@ set BugNumber OCC5805
restore [locate_data_file OCC5805.brep] a restore [locate_data_file OCC5805.brep] a
decho off checkshape a
set che_a [checkshape a]
decho on
if { [regexp {Faulty} $che_a] } {
puts "Faulty ${BugNumber} : checkshape is wrong for a"
}
explode a f explode a f

View File

@ -10,12 +10,7 @@ set BugNumber OCC5805
restore [locate_data_file OCC5805.brep] a restore [locate_data_file OCC5805.brep] a
decho off checkshape a
set che_a [checkshape a]
decho on
if { [regexp {Faulty} $che_a] } {
puts "Faulty ${BugNumber} : checkshape is wrong for a"
}
if { [catch { offsetshape result a -1 } catch_result] } { if { [catch { offsetshape result a -1 } catch_result] } {
puts "Faulty ${BugNumber} : offsetshape is wrong" puts "Faulty ${BugNumber} : offsetshape is wrong"

View File

@ -11,12 +11,7 @@ cpulimit 2000
restore [locate_data_file OCC6063-2.brep] result restore [locate_data_file OCC6063-2.brep] result
decho off checkshape result
set che_res [checkshape result]
decho on
if { [regexp {Faulty} $che_res] } {
puts "Faulty ${BugNumber} : checkshape is wrong for res"
}
set tol_square 1.e-6 set tol_square 1.e-6
set square 2465.96 set square 2465.96

View File

@ -11,17 +11,8 @@ set BugNumber OCC6181
restore [locate_data_file OCC6181_A.brep] s1 restore [locate_data_file OCC6181_A.brep] s1
restore [locate_data_file OCC6181_B.brep] s2 restore [locate_data_file OCC6181_B.brep] s2
decho off checkshape s1
set che_s1 [checkshape s1] checkshape s2
set che_s2 [checkshape s2]
decho on
if { [regexp {Faulty} $che_s1] } {
puts "Faulty ${BugNumber} : checkshape is wrong for s1"
}
if { [regexp {Faulty} $che_s2] } {
puts "Faulty ${BugNumber} : checkshape is wrong for s2"
}
bcut result s1 s2 bcut result s1 s2

View File

@ -11,16 +11,8 @@ set BugNumber OCC6182
restore [locate_data_file OCC6182_A.brep] s1 restore [locate_data_file OCC6182_A.brep] s1
restore [locate_data_file OCC6182_B.brep] s2 restore [locate_data_file OCC6182_B.brep] s2
decho off checkshape s1
set che_s1 [checkshape s1] checkshape s2
set che_s2 [checkshape s2]
decho on
if { [regexp {Faulty} $che_s1] } {
puts "Faulty ${BugNumber} : checkshape is wrong for s1"
}
if { [regexp {Faulty} $che_s2] } {
puts "Faulty ${BugNumber} : checkshape is wrong for s2"
}
bcut result s1 s2 bcut result s1 s2

View File

@ -13,17 +13,8 @@ set BugNumber OCC6277
restore [locate_data_file OCC6277_A.brep] s1 restore [locate_data_file OCC6277_A.brep] s1
restore [locate_data_file OCC6277_B.brep] s2 restore [locate_data_file OCC6277_B.brep] s2
decho off checkshape s1
set che_s1 [checkshape s1] checkshape s2
set che_s2 [checkshape s2]
decho on
if { [regexp {Faulty} $che_s1] } {
puts "Faulty ${BugNumber} : checkshape is wrong for s1"
}
if { [regexp {Faulty} $che_s2] } {
puts "Faulty ${BugNumber} : checkshape is wrong for s2"
}
bcut result s1 s2 bcut result s1 s2

View File

@ -2,9 +2,9 @@ puts "============"
puts "OCC6334" puts "OCC6334"
puts "============" puts "============"
puts "" puts ""
###################################################### #####################################################################
# Invalid result of MakeCylindricalHole when input solid is REVERSED # Invalid result of MakeCylindricalHole when input solid is REVERSED
###################################################### #####################################################################
set BugNumber OCC6334 set BugNumber OCC6334
@ -14,13 +14,7 @@ box b 100 100 100
subshape b f 1 subshape b f 1
offsetshape t b 10 b_1 offsetshape t b 10 b_1
decho off checkshape t
set che_t [checkshape t]
decho on
if {[regexp {Faulty} $che_t]} {
puts "Faulty ${BugNumber} : checkshape is wrong for t"
}
set bnd_t [bounding t] set bnd_t [bounding t]
set ori [lindex [dtyp t] 2] set ori [lindex [dtyp t] 2]

View File

@ -11,18 +11,8 @@ set BugNumber OCC6538
restore [locate_data_file OCC6538-f1.brep] s1 restore [locate_data_file OCC6538-f1.brep] s1
restore [locate_data_file OCC6538-f2.brep] s2 restore [locate_data_file OCC6538-f2.brep] s2
decho off checkshape s1
set che_s1 [checkshape s1] checkshape s2
set che_s2 [checkshape s2]
decho on
if { [regexp {Faulty} $che_s1] } {
puts "Faulty ${BugNumber} : checkshape is wrong for s1"
}
if { [regexp {Faulty} $che_s2] } {
puts "Faulty ${BugNumber} : checkshape is wrong for s2"
}
bop s1 s2 bop s1 s2
bopcommon result bopcommon result

View File

@ -11,17 +11,8 @@ set BugNumber OCC6554
restore [locate_data_file OCC6554-shell.brep] sh restore [locate_data_file OCC6554-shell.brep] sh
restore [locate_data_file OCC6554-face.brep] f restore [locate_data_file OCC6554-face.brep] f
decho off checkshape sh
set che_sh [checkshape sh] checkshape f
set che_f [checkshape f]
decho on
if { [regexp {Faulty} $che_sh] } {
puts "Faulty ${BugNumber} : checkshape is wrong for sh"
}
if { [regexp {Faulty} $che_f] } {
puts "Faulty ${BugNumber} : checkshape is wrong for f"
}
bsection result sh f -n2d bsection result sh f -n2d

View File

@ -10,20 +10,13 @@ set BugNumber OCC6766
restore [locate_data_file OCC6766.brep] a restore [locate_data_file OCC6766.brep] a
decho off checkshape a
set che_a [checkshape a]
decho on
if { [regexp {Faulty} $che_a] } {
puts "Faulty ${BugNumber} : checkshape is wrong for s1"
}
set Y 4 set Y 4
plane pl 0 ${Y} 0 0 1 0 plane pl 0 ${Y} 0 0 1 0
mkface f pl mkface f pl
bsection result a f bsection result a f
checknbshapes result -vertex 4 -edge 3 -wire 0 -face 0 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 8 checknbshapes result -vertex 4 -edge 3 -wire 0 -face 0 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 8
set length 138.474 set length 138.474
set 2dviewer 0 set 2dviewer 0

View File

@ -10,12 +10,7 @@ set BugNumber OCC6766
restore [locate_data_file OCC6766.brep] a restore [locate_data_file OCC6766.brep] a
decho off checkshape a
set che_a [checkshape a]
decho on
if { [regexp {Faulty} $che_a] } {
puts "Faulty ${BugNumber} : checkshape is wrong for a"
}
set Y 4 set Y 4
plane pl 0 ${Y} 0 0 1 0 plane pl 0 ${Y} 0 0 1 0

View File

@ -10,12 +10,7 @@ set BugNumber OCC6766
restore [locate_data_file OCC6766.brep] a restore [locate_data_file OCC6766.brep] a
decho off checkshape a
set che_a [checkshape a]
decho on
if { [regexp {Faulty} $che_a] } {
puts "Faulty ${BugNumber} : checkshape is wrong for a"
}
set Y 6 set Y 6
plane pl 0 ${Y} 0 0 1 0 plane pl 0 ${Y} 0 0 1 0

View File

@ -9,12 +9,8 @@ puts ""
set BugNumber OCC6766 set BugNumber OCC6766
restore [locate_data_file OCC6766.brep] a restore [locate_data_file OCC6766.brep] a
decho off
set che_a [checkshape a] checkshape a
decho on
if { [regexp {Faulty} $che_a] } {
puts "Faulty ${BugNumber} : checkshape is wrong for a"
}
set Y 6 set Y 6
plane pl 0 ${Y} 0 0 1 0 plane pl 0 ${Y} 0 0 1 0

View File

@ -15,17 +15,8 @@ set filepath [locate_data_file trj12_b3-tu-203.stp]
if { [catch { stepread $filepath a * } catch_result] } { if { [catch { stepread $filepath a * } catch_result] } {
puts "Faulty ${BugNumber} : here is reading problem" puts "Faulty ${BugNumber} : here is reading problem"
} else { } else {
decho off checkshape a_1 f
set che_a_1 [checkshape a_1 f] checkshape a_1 f
set che_a_2 [checkshape a_1 f]
decho on
if { [regexp {Faulty} $che_a_1] } {
puts "Faulty ${BugNumber} : checkshape 1 is wrong for a"
}
if { [regexp {Faulty} $che_a_2] } {
puts "Faulty ${BugNumber} : checkshape 2 is wrong for a"
}
renamevar a_1 result renamevar a_1 result
} }

View File

@ -15,10 +15,8 @@ checkshape sh
checkshape f checkshape f
prism pr f -0.0023732630088625609, 0.49562550631034025, 0.86853308809584784 prism pr f -0.0023732630088625609, 0.49562550631034025, 0.86853308809584784
decho off
checkshape pr checkshape pr
## KO; Faulty shapes in variables faulty_1 to faulty_24
decho on
fixshape prf pr 1.e-4 fixshape prf pr 1.e-4
checkshape prf checkshape prf

View File

@ -14,30 +14,7 @@ bopcurves f1 f2
mksurface s1 f1 mksurface s1 f1
mksurface s2 f2 mksurface s2 f2
dlog reset xdistcs c_1 s2 0 1 10 1e-3
dlog on
xdistcs c_1 s2 0 1 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set L1 [llength ${List1}]
set L2 10
set L3 5
set N [expr (${L1} - ${L2})/${L3} + 1]
set Tolerance 1.0e-3
set D_good 0.
for {set i 1} {${i} <= ${N}} {incr i} {
set j1 [expr ${L2} + (${i}-1)*${L3}]
set j2 [expr ${j1} + 2]
set T [lindex ${List1} ${j1}]
set D [lindex ${List1} ${j2}]
#puts "i=${i} j1=${j1} j2=${j2} T=${T} D=${D}"
if { [expr abs(${D} - ${D_good})] > ${Tolerance} } {
puts "Error: i=${i} T=${T} D=${D}"
}
}
smallview smallview
fit fit

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_2"
puts "============" puts "============"
puts "OCC24035" puts "OCC24035"
puts "============" puts "============"
@ -9,23 +10,5 @@ puts ""
restore [locate_data_file bug24035_face1] face1 restore [locate_data_file bug24035_face1] face1
restore [locate_data_file bug24035_face2] face2 restore [locate_data_file bug24035_face2] face2
decho off checkshape face1
set info1 [checkshape face1] checkshape face2
set info2 [checkshape face2]
decho on
set status 0
if { [regexp "Faulty shapes in variables faulty_1 to faulty_2" $info1] != 1 } {
puts "Error : There is no 2 mistakes by checkshape on face1"
set status 1
}
if { [regexp "Faulty shapes in variables faulty_1 to faulty_2" $info2] != 1 } {
puts "Error : There is no 2 mistakes by checkshape on face2"
set stauts 1
}
if { $status != 0 } {
puts "Error : Intersector is not symmetrical"
} else {
puts "OK : Intersector is symmetrical"
}

View File

@ -8,9 +8,7 @@ puts ""
restore [locate_data_file bug24220_A.brep] result restore [locate_data_file bug24220_A.brep] result
decho off
set info [bopargcheck result] set info [bopargcheck result]
decho on
if { [regexp "Faulties, that can not be treated by BOP, are detected" ${info}] != 1 } { if { [regexp "Faulties, that can not be treated by BOP, are detected" ${info}] != 1 } {
puts "Error : message is not correct" puts "Error : message is not correct"

View File

@ -15,30 +15,7 @@ mksurface s1 b1_1
mksurface s2 b2_1 mksurface s2 b2_1
intersect i s1 s2 intersect i s1 s2
dlog reset xdistcs i_2 s1 0 1 10 1e-5
dlog on
xdistcs i_2 s1 0 1 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set L1 [llength ${List1}]
set L2 10
set L3 5
set N [expr (${L1} - ${L2})/${L3} + 1]
set Tolerance 1.0e-5
set D_good 0.
for {set i 1} {${i} <= ${N}} {incr i} {
set j1 [expr ${L2} + (${i}-1)*${L3}]
set j2 [expr ${j1} + 2]
set T [lindex ${List1} ${j1}]
set D [lindex ${List1} ${j2}]
#puts "i=${i} j1=${j1} j2=${j2} T=${T} D=${D}"
if { [expr abs(${D} - ${D_good})] > ${Tolerance} } {
puts "Error: i=${i} T=${T} D=${D}"
}
}
smallview smallview
fit fit

View File

@ -23,16 +23,7 @@ intersect i s1 s2
#donly i_22; fit #donly i_22; fit
dlog reset xdistcs i_22 s1 0 1 10 1e-7
dlog on
xdistcs i_22 s1 0 1 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set D_good 0.
set Limit_Tol 1.0e-7
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
puts "" puts ""
puts "Second test" puts "Second test"
@ -45,16 +36,7 @@ mkcurve c r_1
#donly r_1; fit #donly r_1; fit
dlog reset xdistcs c s1 0.0714822451660209 1 10 1e-12 1e-7
dlog on
xdistcs c s1 0.0714822451660209 1 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-12
set D_good 0.
set Limit_Tol 1.0e-7
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
puts "" puts ""
puts "Third test" puts "Third test"
@ -63,16 +45,7 @@ intersect i s1 s3
#donly i_4; fit #donly i_4; fit
dlog reset xdistcs i_4 s1 0 1 10 1e-6 1e-7
dlog on
xdistcs i_4 s1 0 1 10
set Log3 [dlog get]
set List3 [split ${Log3} {TD= \t\n}]
set Tolerance 1.0e-6
set D_good 0.
set Limit_Tol 1.0e-7
checkList ${List3} ${Tolerance} ${D_good} ${Limit_Tol}
puts "" puts ""
puts "Fourth test" puts "Fourth test"
@ -85,13 +58,4 @@ mkcurve c r_1
#donly r_1; fit #donly r_1; fit
dlog reset xdistcs c s1 0.0714822451660209 1 10 1e-12 1e-7
dlog on
xdistcs c s1 0.0714822451660209 1 10
set Log4 [dlog get]
set List4 [split ${Log4} {TD= \t\n}]
set Tolerance 1.0e-12
set D_good 0.
set Limit_Tol 1.0e-7
checkList ${List4} ${Tolerance} ${D_good} ${Limit_Tol}

View File

@ -9,14 +9,11 @@ puts ""
box x1 10 10 10 box x1 10 10 10
vertex x2 3 3 3 vertex x2 3 3 3
compound x1 x2 b1 compound x1 x2 b1
decho off
set info [bopargcheck b1 #f] set info [bopargcheck b1 #f]
decho on
if { [regexp "Faulties for FIRST shape found : 1" $info] != 1 } { if { [regexp "Faulties for FIRST shape found : 1" $info] != 1 } {
puts "Error : command bopargcheck produces wrong result" puts "Error : command bopargcheck produces wrong result"
} else { } else {
puts "OK : command bopargcheck produces correct result" puts "OK : command bopargcheck produces correct result"
} }

View File

@ -46,25 +46,8 @@ while { $AllowRepeate != 0 } {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res_$ic sb1tu U1 U2 10 1e-7
dlog on xdistcs res_$ic sb2 U1 U2 10 1e-7
xdistcs res_$ic sb1tu U1 U2 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res_$ic sb2 U1 U2 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
incr ic incr ic
} }

View File

@ -1,10 +1,10 @@
puts "TODO OCC25929 ALL: Error: Tolerance is too big!" puts "TODO OCC25929 ALL: Error: Tolerance is too big!"
puts "TODO OCC21564 Linux: Error : T=0.464646 D=0.000326627" puts "TODO OCC21564 Linux: Error : T=0.464646\tD=0.000326627"
puts "TODO OCC21564 Linux: Error : T=0.464646 D=0.00032747" puts "TODO OCC21564 Linux: Error : T=0.464646\tD=0.00032747"
puts "TODO OCC21564 Windows: Error : T=0.464646 D=0.000326671" puts "TODO OCC21564 Windows: Error : T=0.464646\tD=0.000326671"
puts "TODO OCC21564 Windows: Error : T=0.464646 D=0.000327516" puts "TODO OCC21564 Windows: Error : T=0.464646\tD=0.000327516"
puts "=========" puts "========="
puts "CR24915" puts "CR24915"
@ -33,36 +33,24 @@ checkshape r
set MaxTol 5.0e-7 set MaxTol 5.0e-7
set log [bopcurves b1 b2] set log [bopcurves b1 b2]
mksurface s1 b1 if { ! [regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv] } {
mksurface s2 b2 puts "Error: Cannot find tolerance value in output of bopcurve command"
}
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
if {${Toler} > ${MaxTol}} { if {${Toler} > ${MaxTol}} {
puts "Error: Tolerance is too big!" puts "Error: Tolerance is too big!"
} }
mksurface s1 b1
mksurface s2 b2
set Tolerance 2.0e-5
set WarnTol 1.0e-7
for {set i 1} {$i <= ${NbCurv}} {incr i} { for {set i 1} {$i <= ${NbCurv}} {incr i} {
bounds c_$i U1 U2 bounds c_$i U1 U2
dlog reset xdistcs c_$i s1 U1 U2 100 $Tolerance $WarnTol
dlog on xdistcs c_$i s2 U1 U2 100 $Tolerance $WarnTol
xdistcs c_$i s1 U1 U2 100
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 2.0e-5
set Limit_Tol 1.0e-7
set D_good 0.
catch {checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}}
dlog reset
dlog on
xdistcs c_$i s2 U1 U2 100
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 2.0e-5
set Limit_Tol 1.0e-7
set D_good 0.
catch {checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}}
} }
smallview smallview

View File

@ -1,17 +1,16 @@
puts "REQUIRED All: Info. Faulty shape if found in source shape"
puts "============" puts "============"
puts "OCC25043" puts "OCC25043"
puts "============" puts "============"
puts "" puts ""
############################### ############################################################################################################################
## there is no possibility to know what exactly subshape of source shape has detected problems by BRepAlgoAPI_Check ## there is no possibility to know what exactly subshape of source shape has detected problems by BRepAlgoAPI_Check
############################### ############################################################################################################################
pload QAcommands pload QAcommands
restore [locate_data_file bug25043.brep] a restore [locate_data_file bug25043.brep] a
decho off
set info [OCC25043 a] set info [OCC25043 a]
decho on
if { [regexp "Faulty shape if found in source shape" ${info}] == 1 } { if { [regexp "Faulty shape if found in source shape" ${info}] == 1 } {
puts "OK : Good result" puts "OK : Good result"

View File

@ -74,25 +74,8 @@ for {set i 1} {$i <= ${NbCurv}} {incr i} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs c_$i s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs c_$i s2 ${U1} ${U2} 10 1e-7
xdistcs c_$i s1 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs c_$i s2 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
} }
v2d v2d

View File

@ -74,25 +74,8 @@ for {set i 1} {$i <= ${NbCurv}} {incr i} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs c_$i s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs c_$i s2 ${U1} ${U2} 10 1e-7
xdistcs c_$i s1 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs c_$i s2 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
} }
v2d v2d

View File

@ -74,25 +74,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs res s2 ${U1} ${U2} 10 1e-7
xdistcs res s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res s2 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
} else { } else {
set ic 1 set ic 1
set AllowRepeate 1 set AllowRepeate 1
@ -114,25 +97,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res_$ic s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs res_$ic s2 0 1 10 1e-7
xdistcs res_$ic s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res_$ic s2 0 1 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
incr ic incr ic
} }

View File

@ -75,25 +75,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs res s2 ${U1} ${U2} 10 1e-7
xdistcs res s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res s2 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
} else { } else {
set ic 1 set ic 1
set AllowRepeate 1 set AllowRepeate 1
@ -115,25 +98,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res_$ic s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs res_$ic s2 0 1 10 1e-7
xdistcs res_$ic s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res_$ic s2 0 1 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
incr ic incr ic
} }

View File

@ -71,25 +71,8 @@ for {set i 1} {$i <= ${NbCurv}} {incr i} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs c_$i s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs c_$i s2 ${U1} ${U2} 10 1e-7
xdistcs c_$i s1 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs c_$i s2 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
} }
smallview smallview

View File

@ -71,25 +71,8 @@ for {set i 1} {$i <= ${NbCurv}} {incr i} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs c_$i s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs c_$i s2 ${U1} ${U2} 10 1e-7
xdistcs c_$i s1 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs c_$i s2 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
} }
smallview smallview

View File

@ -75,25 +75,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs res s2 ${U1} ${U2} 10 1e-7
xdistcs res s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res s2 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
} else { } else {
set ic 1 set ic 1
set AllowRepeate 1 set AllowRepeate 1
@ -115,25 +98,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res_$ic s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs res_$ic s2 0 1 10 1e-7
xdistcs res_$ic s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res_$ic s2 0 1 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
incr ic incr ic
} }

View File

@ -75,25 +75,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs res s2 ${U1} ${U2} 10 1e-7
xdistcs res s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res s2 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
} else { } else {
set ic 1 set ic 1
set AllowRepeate 1 set AllowRepeate 1
@ -115,25 +98,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res_$ic s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs res_$ic s2 0 1 10 1e-7
xdistcs res_$ic s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res_$ic s2 0 1 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
incr ic incr ic
} }

View File

@ -65,25 +65,8 @@ for {set i 1} {$i <= ${NbCurv}} {incr i} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs c_$i s1 ${U1} ${U2} 10 1e-7 1e-8
dlog on xdistcs c_$i s2 ${U1} ${U2} 10 1e-7 1e-8
xdistcs c_$i s1 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-8
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs c_$i s2 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-8
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
} }
smallview smallview

View File

@ -65,25 +65,8 @@ for {set i 1} {$i <= ${NbCurv}} {incr i} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs c_$i s1 ${U1} ${U2} 10 1e-7 1e-8
dlog on xdistcs c_$i s2 ${U1} ${U2} 10 1e-7 1e-8
xdistcs c_$i s1 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-8
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs c_$i s2 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-8
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
} }
smallview smallview

View File

@ -70,25 +70,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res s1 ${U1} ${U2} 10 1e-6 1e-7
dlog on xdistcs res s2 ${U1} ${U2} 10 1e-6 1e-7
xdistcs res s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-6
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res s2 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-6
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
} else { } else {
set ic 1 set ic 1
set AllowRepeate 1 set AllowRepeate 1
@ -110,25 +93,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res_$ic s1 ${U1} ${U2} 10 1e-6 1e-7
dlog on xdistcs res_$ic s2 0 1 10 1e-6 1e-7
xdistcs res_$ic s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-6
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res_$ic s2 0 1 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-6
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
incr ic incr ic
} }

View File

@ -70,25 +70,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res s1 ${U1} ${U2} 10 1e-6 1e-7
dlog on xdistcs res s2 ${U1} ${U2} 10 1e-6 1e-7
xdistcs res s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-6
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res s2 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-6
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
} else { } else {
set ic 1 set ic 1
set AllowRepeate 1 set AllowRepeate 1
@ -110,25 +93,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res_$ic s1 ${U1} ${U2} 10 1e-6 1e-7
dlog on xdistcs res_$ic s2 0 1 10 1e-6 1e-7
xdistcs res_$ic s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-6
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res_$ic s2 0 1 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-6
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
incr ic incr ic
} }

View File

@ -62,25 +62,8 @@ while { $AllowRepeate != 0 } {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res_$ic s1 U1 U2 10 1e-7
dlog on xdistcs res_$ic s2 U1 U2 10 1e-7
xdistcs res_$ic s1 U1 U2 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res_$ic s2 U1 U2 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
incr ic incr ic
} }

View File

@ -77,25 +77,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs res s2 ${U1} ${U2} 10 1e-7
xdistcs res s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res s2 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
} else { } else {
set ic 1 set ic 1
set AllowRepeate 1 set AllowRepeate 1
@ -117,25 +100,8 @@ if {${ind} >= 0} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs res_$ic s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs res_$ic s2 0 1 10 1e-7
xdistcs res_$ic s1 ${U1} ${U2} 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs res_$ic s2 0 1 10
set Log1 [dlog get]
set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good} ${Limit_Tol}
incr ic incr ic
} }

View File

@ -6,33 +6,6 @@ puts ""
# Wrong section curve # Wrong section curve
####################################################################### #######################################################################
# Check if list of xdistcs-command is valid
proc checkList {List Tolerance D_good Limit_Tol} {
set L1 [llength ${List}]
set L2 10
set L3 5
set N [expr (${L1} - ${L2})/${L3} + 1]
for {set i 1} {${i} <= ${N}} {incr i} {
set j1 [expr ${L2} + (${i}-1)*${L3}]
set j2 [expr ${j1} + 2]
set T [lindex ${List} ${j1}]
set D [lindex ${List} ${j2}]
#puts "i=${i} j1=${j1} j2=${j2} T=${T} D=${D}"
if { [expr abs(${D} - ${D_good})] > ${Tolerance} } {
puts "Error: T=${T} D=${D}"
}
if { ${Tolerance} > ${Limit_Tol} } {
if { [expr abs(${D} - ${D_good})] > ${Limit_Tol}
&& [expr abs(${D} - ${D_good})] <= ${Tolerance} } {
puts "Attention (critical value of tolerance) : T=${T} D=${D}"
}
}
}
}
puts "##############################" puts "##############################"
puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!" puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
puts "##############################" puts "##############################"
@ -98,25 +71,8 @@ for {set i 1} {$i <= ${NbCurv}} {incr i} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs c_$i s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs c_$i s2 ${U1} ${U2} 10 1e-7
xdistcs c_$i s1 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs c_$i s2 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
} }
smallview smallview

View File

@ -6,32 +6,6 @@ puts ""
# Wrong section curve # Wrong section curve
####################################################################### #######################################################################
# Check if list of xdistcs-command is valid
proc checkList {List Tolerance D_good Limit_Tol} {
set L1 [llength ${List}]
set L2 10
set L3 5
set N [expr (${L1} - ${L2})/${L3} + 1]
for {set i 1} {${i} <= ${N}} {incr i} {
set j1 [expr ${L2} + (${i}-1)*${L3}]
set j2 [expr ${j1} + 2]
set T [lindex ${List} ${j1}]
set D [lindex ${List} ${j2}]
#puts "i=${i} j1=${j1} j2=${j2} T=${T} D=${D}"
if { [expr abs(${D} - ${D_good})] > ${Tolerance} } {
puts "Error: T=${T} D=${D}"
}
if { ${Tolerance} > ${Limit_Tol} } {
if { [expr abs(${D} - ${D_good})] > ${Limit_Tol}
&& [expr abs(${D} - ${D_good})] <= ${Tolerance} } {
puts "Attention (critical value of tolerance) : T=${T} D=${D}"
}
}
}
}
puts "##############################" puts "##############################"
puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!" puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
puts "##############################" puts "##############################"
@ -101,25 +75,8 @@ for {set i 1} {$i <= ${NbCurv}} {incr i} {
puts "Error: Wrong curve's range!" puts "Error: Wrong curve's range!"
} }
dlog reset xdistcs c_$i s1 ${U1} ${U2} 10 1e-7
dlog on xdistcs c_$i s2 ${U1} ${U2} 10 1e-7
xdistcs c_$i s1 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs c_$i s2 ${U1} ${U2} 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
} }
smallview smallview

View File

@ -22,11 +22,9 @@ foreach i $ll {
foreach j $ll { foreach j $ll {
if { $i >= $j } continue if { $i >= $j } continue
decho off
mkedge e1 $i mkedge e1 $i
mkedge e2 $j mkedge e2 $j
set coe [checkoverlapedges e1 e2] set coe [checkoverlapedges e1 e2]
decho on
puts "$i<->$j: $coe" puts "$i<->$j: $coe"
if { [regexp "Edges is not overlaped" $coe] != 1 } { if { [regexp "Edges is not overlaped" $coe] != 1 } {
@ -35,8 +33,6 @@ foreach i $ll {
} }
} }
decho on
if { $status != 0 } { if { $status != 0 } {
puts "Wrong section. Error with code $status" puts "Wrong section. Error with code $status"
} else { } else {

View File

@ -7,7 +7,6 @@ puts ""
###################################################### ######################################################
set Tolerance 1.1e-7 set Tolerance 1.1e-7
set D_good 0.
set Limit_Tol 1.0e-7 set Limit_Tol 1.0e-7
puts "##############################" puts "##############################"
@ -24,17 +23,9 @@ set bug_info [intersect res sb1 sb2]
set i 0 set i 0
while {$i != [llength $bug_info]} { while {$i != [llength $bug_info]} {
set res_i [lindex $bug_info $i] set res_i [lindex $bug_info $i]
dlog reset
dlog on xdistcs ${res_i} sb1 0 1 10 ${Tolerance} ${Limit_Tol}
xdistcs ${res_i} sb1 0 1 10 xdistcs ${res_i} sb2 0 1 10 ${Tolerance} ${Limit_Tol}
set BugLog [dlog get]
set BugList [split ${BugLog} {TD= \t\n}]
checkList ${BugList} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset
dlog on
xdistcs ${res_i} sb2 0 1 10
set BugLog [dlog get]
set BugList [split ${BugLog} {TD= \t\n}]
checkList ${BugList} ${Tolerance} ${D_good} ${Limit_Tol}
set i [expr {$i + 1}] set i [expr {$i + 1}]
} }

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_1"
puts "============" puts "============"
puts "OCC25509" puts "OCC25509"
puts "============" puts "============"
@ -17,14 +18,6 @@ shape result so
add b_1 result add b_1 result
add b_1 result add b_1 result
decho off checkshape result
set info [checkshape result]
decho on
if { [regexp "Faulty shapes in variables faulty_1" ${info}] != 1 } {
puts "Error : There are no mistakes by checkshape-command"
} else {
puts "OK : There are mistakes by checkshape-command"
}
set 2dviewer 1 set 2dviewer 1

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_1"
puts "============" puts "============"
puts "OCC25509" puts "OCC25509"
puts "============" puts "============"
@ -12,14 +13,6 @@ puts ""
restore [locate_data_file bug25509_r7.brep] result restore [locate_data_file bug25509_r7.brep] result
invert result invert result
decho off checkshape result
set info [checkshape result]
decho on
if { [regexp "Faulty shapes in variables faulty_1" ${info}] != 1 } {
puts "Error : There are no mistakes by checkshape-command"
} else {
puts "OK : There are mistakes by checkshape-command"
}
set 2dviewer 1 set 2dviewer 1

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_1"
puts "============" puts "============"
puts "OCC25509" puts "OCC25509"
puts "============" puts "============"
@ -16,14 +17,6 @@ shape result so
add b1_1 result add b1_1 result
add b2_1 result add b2_1 result
decho off checkshape result
set info [checkshape result]
decho on
if { [regexp "Faulty shapes in variables faulty_1" ${info}] != 1 } {
puts "Error : There are no mistakes by checkshape-command"
} else {
puts "OK : There are mistakes by checkshape-command"
}
set 2dviewer 1 set 2dviewer 1

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_1"
puts "============" puts "============"
puts "OCC25509" puts "OCC25509"
puts "============" puts "============"
@ -21,14 +22,6 @@ shape result so
add b1_1 result add b1_1 result
add e2 result add e2 result
decho off checkshape result
set info [checkshape result]
decho on
if { [regexp "Faulty shapes in variables faulty_1" ${info}] != 1 } {
puts "Error : There are no mistakes by checkshape-command"
} else {
puts "OK : There are mistakes by checkshape-command"
}
set 2dviewer 1 set 2dviewer 1

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_1"
puts "============" puts "============"
puts "OCC25509" puts "OCC25509"
puts "============" puts "============"
@ -21,14 +22,6 @@ add b1_1 result
add v1 result add v1 result
add v2 result add v2 result
decho off checkshape result
set info [checkshape result]
decho on
if { [regexp "Faulty shapes in variables faulty_1" ${info}] != 1 } {
puts "Error : There are no mistakes by checkshape-command"
} else {
puts "OK : There are mistakes by checkshape-command"
}
set 2dviewer 1 set 2dviewer 1

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_1"
puts "============" puts "============"
puts "OCC25509" puts "OCC25509"
puts "============" puts "============"
@ -34,14 +35,6 @@ add v2 result
add b3_1 result add b3_1 result
add x result add x result
decho off checkshape result
set info [checkshape result]
decho on
if { [regexp "Faulty shapes in variables faulty_1" ${info}] != 1 } {
puts "Error : There are no mistakes by checkshape-command"
} else {
puts "OK : There are mistakes by checkshape-command"
}
set 2dviewer 1 set 2dviewer 1

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_1"
puts "============" puts "============"
puts "OCC25509" puts "OCC25509"
puts "============" puts "============"
@ -8,14 +9,6 @@ puts ""
restore [locate_data_file bug25509_Aggreg_4.brep] result restore [locate_data_file bug25509_Aggreg_4.brep] result
decho off checkshape result
set info [checkshape result]
decho on
if { [regexp "Faulty shapes in variables faulty_1" ${info}] != 1 } {
puts "Error : There are no mistakes by checkshape-command"
} else {
puts "OK : There are mistakes by checkshape-command"
}
set 2dviewer 1 set 2dviewer 1

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_1"
puts "============" puts "============"
puts "OCC25509" puts "OCC25509"
puts "============" puts "============"
@ -8,14 +9,6 @@ puts ""
restore [locate_data_file bug25509_r_6.brep] result restore [locate_data_file bug25509_r_6.brep] result
decho off checkshape result
set info [checkshape result]
decho on
if { [regexp "Faulty shapes in variables faulty_1" ${info}] != 1 } {
puts "Error : There are no mistakes by checkshape-command"
} else {
puts "OK : There are mistakes by checkshape-command"
}
set 2dviewer 1 set 2dviewer 1

View File

@ -37,25 +37,9 @@ mksurface s2 b2
for {set i 1} {$i <= ${NbCurv}} {incr i} { for {set i 1} {$i <= ${NbCurv}} {incr i} {
bounds c_$i u1 u2 bounds c_$i u1 u2
dump u1 u2 dump u1 u2
dlog reset
dlog on
xdistcs c_$i s1 u1 u2 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
dlog reset xdistcs c_$i s1 u1 u2 10 1e-7
dlog on xdistcs c_$i s2 u1 u2 10 1e-7
xdistcs c_$i s2 u1 u2 10
set Log2 [dlog get]
set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set Limit_Tol 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
} }
smallview smallview

View File

@ -1,3 +1,4 @@
puts "REQUIRED ALL: Faulty shapes in variables faulty_"
puts "==========" puts "=========="
puts "OCC25735" puts "OCC25735"
puts "==========" puts "=========="
@ -8,14 +9,6 @@ puts ""
restore [locate_data_file bug25735_r5] result restore [locate_data_file bug25735_r5] result
decho off checkshape result
set info [checkshape result]
decho on
if { [regexp "Faulty shapes in variables faulty_1" ${info}] != 1 } {
puts "Error : There are no mistakes by checkshape-command"
} else {
puts "OK : There are mistakes by checkshape-command"
}
set 2dviewer 1 set 2dviewer 1

View File

@ -2,18 +2,12 @@ puts "========="
puts "CR25801" puts "CR25801"
puts "=========" puts "========="
puts "" puts ""
############################### #########################################################################################
## Some of the commands in BOPTest packages show the execution time without -t key ## Some of the commands in BOPTest packages show the execution time without -t key
############################### #########################################################################################
box b1 10 10 10 box b1 10 10 10
set Log1 [bopcheck b1]
dlog reset
dlog on
bopcheck b1
set Log1 [dlog get]
puts "${Log1}"
if { [regexp {Elapsed time} ${Log1}] } { if { [regexp {Elapsed time} ${Log1}] } {
puts "Error: bopcheck show the execution time without -t key" puts "Error: bopcheck show the execution time without -t key"

View File

@ -20,17 +20,9 @@ display b1
display b2 display b2
fit fit
dlog reset set info [bopcurves b1 b2]
dlog on regexp {Tolerance Reached=([-0-9.+eE]+)} $info full bug_info_tol
decho off regexp {([0-9]+) curve\(s\) found.} $info full bug_info_cur
bopcurves b1 b2
decho on
set bug_info [dlog get]
set bug_info [string trim [string range $bug_info [expr {[string first "\n" $bug_info] + 1}] [expr {[string last "\n" $bug_info] - 1}]]]
set bug_info_tol [string trim [string range $bug_info [expr {[string first "=" $bug_info] + 1}] [expr {[string first "\n" $bug_info] - 1}]]]
set bug_info_cur [string trim [string range $bug_info [expr {[string first "\n" $bug_info] + 1}] [expr {[string length $bug_info] - 1}]]]
set bug_info_cur [string trim [string range $bug_info_cur 0 [expr {[string first " " $bug_info_cur] - 1}]]]
if {$bug_info_tol > 1.0e-7} { if {$bug_info_tol > 1.0e-7} {
puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)." puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)."

View File

@ -20,17 +20,9 @@ display b1
display b2 display b2
fit fit
dlog reset set info [bopcurves b1 b2]
dlog on regexp {Tolerance Reached=([-0-9.+eE]+)} $info full bug_info_tol
decho off regexp {([0-9]+) curve\(s\) found.} $info full bug_info_cur
bopcurves b1 b2
decho on
set bug_info [dlog get]
set bug_info [string trim [string range $bug_info [expr {[string first "\n" $bug_info] + 1}] [expr {[string last "\n" $bug_info] - 1}]]]
set bug_info_tol [string trim [string range $bug_info [expr {[string first "=" $bug_info] + 1}] [expr {[string first "\n" $bug_info] - 1}]]]
set bug_info_cur [string trim [string range $bug_info [expr {[string first "\n" $bug_info] + 1}] [expr {[string length $bug_info] - 1}]]]
set bug_info_cur [string trim [string range $bug_info_cur 0 [expr {[string first " " $bug_info_cur] - 1}]]]
if {$bug_info_tol > 1.0e-7} { if {$bug_info_tol > 1.0e-7} {
puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)." puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)."

View File

@ -20,17 +20,9 @@ display b1
display b2 display b2
fit fit
dlog reset set info [bopcurves b1 b2]
dlog on regexp {Tolerance Reached=([-0-9.+eE]+)} $info full bug_info_tol
decho off regexp {([0-9]+) curve\(s\) found.} $info full bug_info_cur
bopcurves b1 b2
decho on
set bug_info [dlog get]
set bug_info [string trim [string range $bug_info [expr {[string first "\n" $bug_info] + 1}] [expr {[string last "\n" $bug_info] - 1}]]]
set bug_info_tol [string trim [string range $bug_info [expr {[string first "=" $bug_info] + 1}] [expr {[string first "\n" $bug_info] - 1}]]]
set bug_info_cur [string trim [string range $bug_info [expr {[string first "\n" $bug_info] + 1}] [expr {[string length $bug_info] - 1}]]]
set bug_info_cur [string trim [string range $bug_info_cur 0 [expr {[string first " " $bug_info_cur] - 1}]]]
if {$bug_info_tol > 1.0e-7} { if {$bug_info_tol > 1.0e-7} {
puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)." puts "ERROR: OCC25820 is reproduced. Tolerance is to large ($bug_info_tol)."

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: checkshape failure"
puts "================" puts "================"
puts "OCC25844" puts "OCC25844"
puts "================" puts "================"
@ -7,18 +8,4 @@ puts ""
####################################################################### #######################################################################
restore [locate_data_file bug25843_onewire.brep] b restore [locate_data_file bug25843_onewire.brep] b
dlog reset
dlog on
checkshape b f checkshape b f
set info [dlog get]
dlog reset
dlog off
if { [regexp "checkshape failure" ${info}] != 1 } {
puts "Error : Command \"checkshape\" does not detect error for case when degenerated edge does not contain geometric representation."
} else {
puts "OK : Command \"checkshape\" work good"
}

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: ERROR. Degenerated normal on input data."
puts "========" puts "========"
puts "OCC26556" puts "OCC26556"
puts "========" puts "========"
@ -9,10 +10,5 @@ puts ""
restore [locate_data_file OCC26556-004_extract_2015-01-C37_0216_res.brep] sh restore [locate_data_file OCC26556-004_extract_2015-01-C37_0216_res.brep] sh
offsetparameter 1e-7 p i offsetparameter 1e-7 p i
offsetload sh 300 offsetload sh 300
decho off
set bug_info [offsetperform r]
decho on
if {$bug_info != "ERROR. Degenerated normal on input data."} { offsetperform r
puts "ERROR: OCC26556 is reproduced. Error message is absent."
}

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: ERROR. Degenerated normal on input data."
puts "========" puts "========"
puts "OCC26556" puts "OCC26556"
puts "========" puts "========"
@ -9,10 +10,5 @@ puts ""
restore [locate_data_file OCC26556-004_extract_2015-01-C37_0240_res.brep] sh restore [locate_data_file OCC26556-004_extract_2015-01-C37_0240_res.brep] sh
offsetparameter 1e-7 p i offsetparameter 1e-7 p i
offsetload sh 400 offsetload sh 400
decho off
set bug_info [offsetperform r]
decho on
if {$bug_info != "ERROR. Degenerated normal on input data."} { offsetperform r
puts "ERROR: OCC26556 is reproduced. Error message is absent."
}

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: ERROR. Degenerated normal on input data."
puts "========" puts "========"
puts "OCC26556" puts "OCC26556"
puts "========" puts "========"
@ -9,10 +10,5 @@ puts ""
restore [locate_data_file OCC26556-004_extract_2015-01-C37_0213_res.brep] sh restore [locate_data_file OCC26556-004_extract_2015-01-C37_0213_res.brep] sh
offsetparameter 1e-7 p i offsetparameter 1e-7 p i
offsetload sh 80 offsetload sh 80
decho off
set bug_info [offsetperform r]
decho on
if {$bug_info != "ERROR. Degenerated normal on input data."} { offsetperform r
puts "ERROR: OCC26556 is reproduced. Error message is absent."
}

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: ERROR. Degenerated normal on input data."
puts "========" puts "========"
puts "OCC26556" puts "OCC26556"
puts "========" puts "========"
@ -10,10 +11,5 @@ restore [locate_data_file OCC26556-004_extract_2015-01-C37_0240_res.brep] sh
explode sh F explode sh F
offsetparameter 1e-7 p i offsetparameter 1e-7 p i
offsetload sh_3 300 offsetload sh_3 300
decho off
set bug_info [offsetperform r]
decho on
if {$bug_info != "ERROR. Degenerated normal on input data."} { offsetperform r
puts "ERROR: OCC26556 is reproduced. Error message is absent."
}

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: ERROR. Degenerated normal on input data"
puts "========" puts "========"
puts "OCC26587" puts "OCC26587"
puts "========" puts "========"
@ -12,13 +13,7 @@ restore [locate_data_file bug26587_plate.brep] plate
offsetparameter 1e-7 p i offsetparameter 1e-7 p i
offsetload plate 50 offsetload plate 50
decho off
offsetperform r offsetperform r
decho on
fit fit
set only_screen_axo 1 set only_screen_axo 1

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Standard_ConstructionError\\: BRepFill \\:\\: profiles are inconsistent"
puts "==========" puts "=========="
puts "OCC26636" puts "OCC26636"
puts "==========" puts "=========="
@ -9,19 +10,4 @@ puts ""
restore [locate_data_file bug26636_w1.brep] w1 restore [locate_data_file bug26636_w1.brep] w1
restore [locate_data_file bug26636_w2.brep] w2 restore [locate_data_file bug26636_w2.brep] w2
decho off
dlog reset
dlog on
catch {thrusections result 0 1 w1 w2} catch {thrusections result 0 1 w1 w2}
set info [dlog get]
dlog reset
dlog off
decho on
if { [regexp "Standard_ConstructionError\\: BRepFill \\:\\: profiles are inconsistent" ${info}] == 1 } {
puts "OK : Exeption is correct"
} else {
puts "Error : Exeption is not correct"
}

View File

@ -1,4 +1,4 @@
puts "REQUIRED: Error. mkplane has been finished with \"Not Planar\" status." puts "REQUIRED ALL: Error. mkplane has been finished with \"Not Planar\" status."
puts "========" puts "========"
puts "OCC26687" puts "OCC26687"

View File

@ -1,4 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "=========" puts "========="
puts "BUC61006" puts "BUC61006"
puts "=========" puts "========="
@ -8,13 +8,8 @@ puts ""
######################################################### #########################################################
restore [locate_data_file buc61006.brep] result restore [locate_data_file buc61006.brep] result
decho off
set ch [checkshape result]
decho on
if {![string compare $ch "This shape seems to be valid"]} { checkshape result
puts "Error : the checkshape command returns incorrect result."
}
set 2dviewer 0 set 2dviewer 0

View File

@ -1,4 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "========" puts "========"
puts "OCC161" puts "OCC161"
puts "========" puts "========"
@ -11,14 +11,6 @@ puts ""
restore [locate_data_file OCC161.brep] result restore [locate_data_file OCC161.brep] result
decho off checkshape result
set che [checkshape result]
decho on
if { [regexp {Faulty} $che] != 1 } {
puts "Faulty OCC161 : Checkshape command works wrongly"
} else {
puts "OCC161 OK : Checkshape command works properly"
}
set 2dviewer 0 set 2dviewer 0

View File

@ -22,13 +22,11 @@ chamf result1 face edge_1 face_3 A ${radis} ${angle}
explode result1 e explode result1 e
decho off
if { [catch {fillet result result1 ${radis} result1_1 ${radis} result1_7 } catch_result] } { if { [catch {fillet result result1 ${radis} result1_1 ${radis} result1_7 } catch_result] } {
set mistake 1 set mistake 1
} else { } else {
set mistake 0 set mistake 0
} }
decho on
if { $mistake != 0} { if { $mistake != 0} {
puts "OK OCC203" puts "OK OCC203"

View File

@ -1,25 +1,14 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "============" puts "============"
puts "OCC22043" puts "OCC22043"
puts "============" puts "============"
puts "" puts ""
####################################################################### #############################################################################################################
# Checkshape command does not return faulty shapes for the face. CAS63-sp10-*. Appendix to SALOME bug 002019 # Checkshape command does not return faulty shapes for the face. CAS63-sp10-*. Appendix to SALOME bug 002019
####################################################################### #############################################################################################################
set BugNumber OCC22043
puts "Load shape ..."
restore [locate_data_file bug22043_f181.brep] result restore [locate_data_file bug22043_f181.brep] result
decho off checkshape result
set che [checkshape result]
decho on
if {[regexp {Faulty} $che]} {
puts "OK ${BugNumber} : The face f181 can not be valid because at least it contain self-intersected wire"
} else {
puts "Faulty ${BugNumber} : The face f181 can not be valid because at least it contain self-intersected wire"
}
set 2dviewer 0 set 2dviewer 0

View File

@ -1,5 +1,5 @@
puts "TODO OCC11111 ALL: Faulty OCC22080 : The face f contains degenerated edge that is far-fetched one" puts "TODO OCC11111 ALL: Faulty OCC22080 : The face f contains degenerated edge that is far-fetched one"
# puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "============" puts "============"
puts "OCC22080" puts "OCC22080"
puts "============" puts "============"
@ -13,9 +13,7 @@ set BugNumber OCC22080
puts "Load shape ..." puts "Load shape ..."
restore [locate_data_file bug22080_fx.brep] result restore [locate_data_file bug22080_fx.brep] result
decho off
set che [checkshape result] set che [checkshape result]
decho on
if {[regexp {Faulty} $che]} { if {[regexp {Faulty} $che]} {
puts "OK ${BugNumber} : The face f contains degenerated edge that is far-fetched one" puts "OK ${BugNumber} : The face f contains degenerated edge that is far-fetched one"

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: 1 F: Syntax error in IGES file at line "
puts "================" puts "================"
puts "OCC22165" puts "OCC22165"
puts "================" puts "================"
@ -12,9 +13,7 @@ catch { pload XDE }
igesbrep [locate_data_file OCC22165-cub_spain.igs] result * igesbrep [locate_data_file OCC22165-cub_spain.igs] result *
decho off
set Log [data c] set Log [data c]
decho on
set LogLength [llength ${Log}] set LogLength [llength ${Log}]

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "================" puts "================"
puts "OCC25" puts "OCC25"
puts "================" puts "================"
@ -5,9 +6,7 @@ puts ""
restore [locate_data_file OCC25-1.brep] sh1 restore [locate_data_file OCC25-1.brep] sh1
decho off
set che [checkshape sh1] set che [checkshape sh1]
decho on
if { [regexp {Faulty} $che ] == 1 } { if { [regexp {Faulty} $che ] == 1 } {
puts "Faulty OCC25 (case 1): Checkshape says that the wire on face has bad orientation, but it is not truth" puts "Faulty OCC25 (case 1): Checkshape says that the wire on face has bad orientation, but it is not truth"
@ -18,9 +17,7 @@ if { [regexp {Faulty} $che ] == 1 } {
# ================================================ # ================================================
restore [locate_data_file OCC25-2.brep] sh2 restore [locate_data_file OCC25-2.brep] sh2
decho off
set che [checkshape sh2] set che [checkshape sh2]
decho on
if { [regexp {BRepCheck_BadOrientationOfSubshape} $che] && [regexp {BRepCheck_UnorientableShape} $che]} { if { [regexp {BRepCheck_BadOrientationOfSubshape} $che] && [regexp {BRepCheck_UnorientableShape} $che]} {
puts " OCC25 (case 2) OK: Checkshape works properly" puts " OCC25 (case 2) OK: Checkshape works properly"

View File

@ -1,4 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "========" puts "========"
puts "OCC278" puts "OCC278"
puts " (case 3)" puts " (case 3)"
@ -14,13 +14,8 @@ puts "========"
restore [locate_data_file OCC278c.brep] a restore [locate_data_file OCC278c.brep] a
mkplane result a mkplane result a
decho off
set che [checkshape result]
decho on
if { [regexp "Faulty" $che] != 1 } { checkshape result
puts "Error (case 3) : Checkshape command works wrongly"
}
set square 43.3075 set square 43.3075
set 2dviewer 0 set 2dviewer 0

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "========" puts "========"
puts "OCC284" puts "OCC284"
puts "========" puts "========"
@ -8,15 +9,7 @@ puts "========"
restore [locate_data_file OCC284.brep] result restore [locate_data_file OCC284.brep] result
decho off
if [catch { checkshape result } catch_result] { if [catch { checkshape result } catch_result] {
set mistake 1
} else {
set mistake 0
}
decho on
if { $mistake != 0} {
puts "Faulty OCC284 : here is problem in checkshape function" puts "Faulty OCC284 : here is problem in checkshape function"
} else { } else {
puts "OCC284 OK: function checkshape works properly" puts "OCC284 OK: function checkshape works properly"

View File

@ -1,3 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "========================" puts "========================"
puts " OCC325 " puts " OCC325 "
puts "========================" puts "========================"
@ -8,14 +9,6 @@ puts ""
restore [locate_data_file OCC325.brep] result restore [locate_data_file OCC325.brep] result
decho off checkshape result
set che [checkshape result]
decho on
if { [regexp {Faulty} $che ] != 1} {
puts "Faulty OCC325: Checkshape command works wrongly"
} else {
puts "OCC325 OK : Checkshape command works properly"
}
set 2dviewer 0 set 2dviewer 0

View File

@ -1,17 +1,12 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "================" puts "================"
puts "OCC35" puts "OCC35"
puts "================" puts "================"
puts "" puts ""
restore [locate_data_file OCC35.brep] result restore [locate_data_file OCC35.brep] result
decho off
set info [checkshape result]
decho on
if { [regexp "Faulty" $info] != 1 } { checkshape result
puts "Command checkshape works wrongly (should be faulty)"
}
set 2dviewer 0 set 2dviewer 0

View File

@ -1,4 +1,4 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "========================" puts "========================"
puts " OCC366 " puts " OCC366 "
puts "========================" puts "========================"
@ -9,9 +9,7 @@ puts ""
restore [locate_data_file buc61006.brep] result restore [locate_data_file buc61006.brep] result
decho off
set che [checkshape result] set che [checkshape result]
decho on
if { [regexp "Faulty" $che] != 1 } { if { [regexp "Faulty" $che] != 1 } {
puts "Error : Checkshape command works wrongly" puts "Error : Checkshape command works wrongly"

View File

@ -35,9 +35,7 @@ for {set i 1} {$i <= 14} {incr i} {
whatis a_$i whatis a_$i
} }
decho off
set info_result [checkshape result] set info_result [checkshape result]
decho on
if {[regexp {Faulty} $info_result] } { if {[regexp {Faulty} $info_result] } {
puts "OK ${BugNumber} : checkshape detect faulty faces in solid shape" puts "OK ${BugNumber} : checkshape detect faulty faces in solid shape"

View File

@ -2,15 +2,13 @@ puts "========================"
puts " OCC433 " puts " OCC433 "
puts "========================" puts "========================"
puts "" puts ""
######################################################### #########################################################################################
## The attached face gives no errors in checkshape command in dev. However, it looks bad ## The attached face gives no errors in checkshape command in dev. However, it looks bad
######################################################### #########################################################################################
restore [locate_data_file OCC433.brep] result restore [locate_data_file OCC433.brep] result
decho off
set err [checkshape result r] set err [checkshape result r]
decho on
if { [regexp {OK} $err] == 1} { if { [regexp {OK} $err] == 1} {
puts " Faulty OCC433: function CHECKSHAPE works wrongly" puts " Faulty OCC433: function CHECKSHAPE works wrongly"

View File

@ -1,23 +1,16 @@
puts "REQUIRED All: Faulty shapes in variables faulty_1 to faulty_"
puts "========" puts "========"
puts "OCC438" puts "OCC438"
puts " (case 1)" puts " (case 1)"
puts "========" puts "========"
#################################### ##########################################################
## Exception during checking of shape from OCC428 ## Exception during checking of shape from OCC428
#################################### ##########################################################
restore [locate_data_file OCC428.brep] result restore [locate_data_file OCC428.brep] result
decho off
if [catch { checkshape result } catch_result] { if [catch { checkshape result } catch_result] {
set mistake 1
} else {
set mistake 0
}
decho on
if { $mistake != 0} {
puts "Faulty OCC438 (case 1): here is checking problem" puts "Faulty OCC438 (case 1): here is checking problem"
} else { } else {
puts "OCC438 (case 1) OK" puts "OCC438 (case 1) OK"

Some files were not shown because too many files have changed in this diff Show More