mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-26 10:19:45 +03:00
Modifications: 1. NCollection maps have been replaced by NCollection indexed maps to guarantee the constant order of sub-shapes in the result of boolean operation. 2. Test case feat featprism M9 has been fixed. 3. Test cases chl 902 E3 H3 have been fixed (corrections in the treatment of section edges). 4. Test cases caf driver B6 B7, caf named_shape F6 F7 have been modified according to the new order of sub-shapes in the result of boolean operation. 5. Test cases blend buildevol G1, blend simple K4, bcommon_complex C7, feat featprism L6 have been modified as they are improvements. 6. Test case boolean bsection A3 has been modified according to the new syntax of the bsection command.
113 lines
2.7 KiB
Plaintext
Executable File
113 lines
2.7 KiB
Plaintext
Executable File
#1 - create 4 Pnts
|
|
NewCommand D
|
|
AddDriver D PntXYZ PntRLT Line3D Attach;
|
|
set Pnt1 [AddPoint D 0 0 0]; ## add point1
|
|
ComputeFun D $Pnt1:1; ## compute function
|
|
GetShape D $Pnt1:1:2 P1; ## check result
|
|
whatis P1
|
|
# referes to result NS
|
|
GetReference D $Pnt1; ## check is reference set
|
|
|
|
set Pnt2 [AddPoint D 0 200 0];
|
|
ComputeFun D $Pnt2:1;
|
|
set Pnt3 [AddPoint D 200 200 0];
|
|
ComputeFun D $Pnt3:1;
|
|
set Pnt4 [AddPoint D 200 0 0];
|
|
ComputeFun D $Pnt4:1;
|
|
GetShape D $Pnt2:1:2 P2;
|
|
GetShape D $Pnt3:1:2 P3;
|
|
GetShape D $Pnt4:1:2 P4;
|
|
|
|
#2 create open Lin1
|
|
#NewCommand D
|
|
#set Lin1 [ AddLine3D D 0 $Pnt1 $Pnt2 $Pnt3 $Pnt4]
|
|
#ComputeFun D $Lin1:1;
|
|
#GetShape D $Lin1:1:2 L1;
|
|
|
|
#3 create closed Lin3
|
|
NewCommand D
|
|
set Lin2 [ AddLine3D D 1 $Pnt1 $Pnt2 $Pnt3 $Pnt4]
|
|
ComputeFun D $Lin2:1;
|
|
GetShape D $Lin2:1:2 L1;
|
|
|
|
#4 Prism (after step #1)
|
|
NewCommand D
|
|
AddDriver D Prism Box PTxyz
|
|
set Prism [AddPrism D $Lin2 300 0]
|
|
ComputeFun D $Prism:1
|
|
GetShape D $Prism:1:2 Pr
|
|
GetReference D $Prism; ## check is reference set
|
|
|
|
#5 Add Box
|
|
NewCommand D
|
|
set B1 [AddBox D 400 140 600];
|
|
ComputeFun D $B1:1;
|
|
GetShape D $B1:1:2 Box;
|
|
|
|
#6 Translate Box1
|
|
NewCommand D
|
|
set FTr1 [PTranslateDXYZ D $B1 -100 -20 -100]
|
|
ComputeFun D $FTr1
|
|
GetShape D $B1:2:2 Box
|
|
|
|
#7 add Common
|
|
NewCommand D
|
|
AddDriver D Comm Cut Fuse
|
|
set Com1 [AddCommon D $Prism $B1]
|
|
ComputeFun D $Com1
|
|
GetShape D $Com1:2 Pr
|
|
|
|
#8 Add Cylinder
|
|
NewCommand D
|
|
explode Pr E
|
|
AddDriver D Attach Cyl
|
|
set Sel1 [AttachShape D Pr_6 ${Prism} ${Prism} 0]; ## set attachment
|
|
set Cyl [AddCyl D 70 515 ${Sel1}]
|
|
ComputeFun D $Cyl:1
|
|
GetShape D $Cyl:1:2 CylS
|
|
|
|
#9 Translate Cylinder
|
|
NewCommand D
|
|
set FTr1 [PTranslateDXYZ D $Cyl -100 200 170]
|
|
ComputeFun D $FTr1
|
|
GetShape D $Cyl:2:2 CylS
|
|
|
|
#10 Cut
|
|
NewCommand D
|
|
set Cut1 [AddCut D $Prism $Cyl]
|
|
ComputeFun D $Cut1
|
|
GetShape D $Cut1:2 Pr
|
|
don Pr
|
|
|
|
#11 test special cases of type migration
|
|
explode Pr E
|
|
erase Pr_1 Pr_2 Pr_3 Pr_4 Pr_5 Pr_6 Pr_7 Pr_8 Pr_9 Pr_10 Pr_11 Pr_12 Pr_13 Pr_14 Pr_15 Pr_16 Pr_17
|
|
display Pr_8 Pr_9
|
|
## 8,9
|
|
NewCommand D
|
|
set Sel8 [AttachShape D Pr_8 ${Prism} ${Prism} 0]; ## should return Compound of two edges
|
|
set Sel9 [AttachShape D Pr_9 ${Prism} ${Prism} 1]; ## should return Compound of two edges
|
|
set Sel11 [AttachShape D Pr_11 ${Prism} ${Prism} 1];
|
|
set Sel12 [AttachShape D Pr_11 ${Prism} ${Prism} 0];
|
|
#12 modify
|
|
PntOffset D $Pnt1 40 25 skip
|
|
|
|
#13 recompute
|
|
ComputeFun D $Pnt1:1
|
|
ComputeFun D $Lin2:1
|
|
ComputeFun D $Prism:1
|
|
ComputeFun D $Com1
|
|
ComputeFun D $Sel1:1
|
|
ComputeFun D $Cyl:1
|
|
ComputeFun D $FTr1
|
|
ComputeFun D $Cut1
|
|
erase
|
|
GetShape D $Cut1:2 Pr
|
|
|
|
ComputeFun D $Sel8:1
|
|
ComputeFun D $Sel9:1
|
|
ComputeFun D $Sel11:1
|
|
ComputeFun D $Sel12:1
|
|
NewCommand D
|
|
|