puts "============"
puts "0032821: DEWrapper - Implementation of a common toolkit for importing and exporting CAD files"
puts "============"
puts ""

catch { Close D0 }
catch { Close D1 }
catch { Close D6 }
catch { Close D7 }

pload MODELING

set write_path ${imagedir}/${casename}.vrml

param xstep.cascade.unit MM
if [catch {loadvrml S0 $filename} catch_result] {
    puts "Error : Problem with reading file"
} else {
    puts "OK : Reading is correct"
}
XNewDoc D0
XAddShape D0 S0 

param xstep.cascade.unit M
if [catch {loadvrml S1 $filename } catch_result] {
    puts "Error : Problem with reading file"
} else {
    puts "OK : Reading is correct"
}
XNewDoc D1
XAddShape D1 S1 

if [catch {WriteFile D0 $write_path} catch_result] {
    puts "Error : Problem with writing file"
} else {
    puts "OK : Writing is correct"
}
if [catch {readfile S2 $write_path} catch_result] {
    puts "Error : Problem with reading file"
} else {
    puts "OK : Reading is correct"
}

if [catch {writefile S0 $write_path} catch_result] {
    puts "Error : Problem with writing file"
} else {
    puts "OK : Writing is correct"
}
if [catch {readfile S3 $write_path} catch_result] {
    puts "Error : Problem with reading file"
} else {
    puts "OK : Reading is correct"
}

if [catch {WriteFile D1 $write_path} catch_result] {
    puts "Error : Problem with writing file"
} else {
    puts "OK : Writing is correct"
}
if [catch {readfile S4 $write_path} catch_result] {
    puts "Error : Problem with reading file"
} else {
    puts "OK : Reading is correct"
}

if [catch {writefile S1 $write_path} catch_result] {
    puts "Error : Problem with writing file"
} else {
    puts "OK : Writing is correct"
}
if [catch {readfile S5 $write_path} catch_result] {
    puts "Error : Problem with reading file"
} else {
    puts "OK : Reading is correct"
}

if [catch {WriteFile D0 $write_path} catch_result] {
    puts "Error : Problem with writing file"
} else {
    puts "OK : Writing is correct"
}
if [catch {ReadFile D6 $write_path -conf "provider.VRML.OCC.read.file.unit : 1"} catch_result] {
    puts "Error : Problem with reading file"
} else {
    puts "OK : Reading is correct"
}
XGetOneShape S6 D6

if [catch {writefile S1 $write_path} catch_result] {
    puts "Error : Problem with writing file"
} else {
    puts "OK : Writing is correct"
}
if [catch {ReadFile D7 $write_path -conf "provider.VRML.OCC.read.file.unit : 0.001"} catch_result] {
    puts "Error : Problem with reading file"
} else {
    puts "OK : Reading is correct"
}
XGetOneShape S7 D7

array set areas {0 5.3415e+06 1 5.3415 2 5.3415e+06 3 5.3415e+06 4 5.3415e+06 5 5.3415 6 5.3415e+06 7 5.3415e-06}
array set results {0 S0 1 S1 2 S2 3 S3 4 S4 5 S5 6 S6 7 S7}
for { set anind 0} { $anind < 8 } { incr anind } {
  checkprops $results($anind) -s $areas($anind) -eps 1e-2
}

file delete $write_path

Close D0
Close D1
Close D6
Close D7
