| 1 | puts "=========" |
| 2 | puts "OCC24825" |
| 3 | puts "=========" |
| 4 | puts "" |
| 5 | ########################################################### |
| 6 | # Fit Boolean Operation Algorithm to treat multiple arguments. |
| 7 | ########################################################### |
| 8 | |
| 9 | restore [locate_data_file bug24825_steering-wheel-ring1.brep] b1 |
| 10 | restore [locate_data_file bug24825_steering-wheel-ring2.brep] b2 |
| 11 | restore [locate_data_file bug24825_steering-wheel-drum.brep] b4 |
| 12 | restore [locate_data_file bug24825_steering-wheel-handle.brep] hb |
| 13 | |
| 14 | set qs {} |
| 15 | |
| 16 | set N 10 |
| 17 | set N1 [expr 360. / $N ] |
| 18 | |
| 19 | for {set i 0} {$i < $N} {incr i} { |
| 20 | tcopy hb hb_${i} |
| 21 | trotate hb_${i} 0. 0. 0. 0. 0. 1. [expr $i * $N1 ] |
| 22 | lappend qs hb_${i} |
| 23 | } |
| 24 | eval compound $qs b3 |
| 25 | |
| 26 | tcopy b1 b5 |
| 27 | ttranslate b5 0 0 100 |
| 28 | |
| 29 | tcopy b2 b6 |
| 30 | ttranslate b6 0 0 100 |
| 31 | |
| 32 | tcopy b3 b7 |
| 33 | ttranslate b7 0 0 100 |
| 34 | |
| 35 | #-fuse-# |
| 36 | |
| 37 | bclearobjects |
| 38 | bcleartools |
| 39 | baddobjects b2 b6 b4 |
| 40 | baddtools b1 b5 |
| 41 | baddctools b3 |
| 42 | baddctools b7 |
| 43 | |
| 44 | bfillds |
| 45 | bbop result 1 |
| 46 | |
| 47 | set square 157211 |
| 48 | |
| 49 | set nb_v_good 106 |
| 50 | set nb_e_good 164 |
| 51 | set nb_w_good 142 |
| 52 | set nb_f_good 80 |
| 53 | set nb_sh_good 1 |
| 54 | set nb_sol_good 1 |
| 55 | set nb_compsol_good 0 |
| 56 | set nb_compound_good 1 |
| 57 | set nb_shape_good 495 |
| 58 | |
| 59 | set 2dviewer 1 |