1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-05-21 10:55:33 +03:00
gka 24de79c3a5 0023523: In session DRAW it is impossible to close document having name already once closed document.
Added destructor for TDocStd_Document which performs destruction of document in logical order in order to avoid exception when Undo and Redo fields are destructed after THF_Data field.
Added removing name of closed document from tcl variables in the DRAW in order to avoid exception during use the same name for new document.
Modification to avoid compilation error class ViewerTest
Minor correction in test caf basic G3
2012-12-14 16:17:11 +04:00

133 lines
2.8 KiB
Plaintext
Executable File

# =================== OCAF ======================
# Naming
#
# Testing purpose: Naming selection mechanism
#
# Test case: F6 (ShapeOrientation is not used)
# 1. Create 4 points: $Pnt1 - $Pnt4
# 2. Create closed line $Lin2
# 3. Create prism Pr ($Prism)
# 4. Addbox $B1
# 5. Translate box $B1 along XYZ
# 6. $Com1 = Common ($Prism, $B1)
# 7. Add cylinder $Cyl
# 8. Translate cylinder $Cyl along XYZ
# 9. Cut $Cut1 = Cut ($Prism, $Cyl)
# 10. Make selections for all sub-shapes
# 11. Modify $Pnt1
# 12. Recompute modeling functions
# 13. Recompute selections
# ===============================================
#pload FULL
erase
Close D
NewDocument D MDTV-Standard
isos 12
#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 closed Lin2
NewCommand D
set Lin2 [ AddLine3D D 1 $Pnt1 $Pnt2 $Pnt3 $Pnt4]
ComputeFun D $Lin2:1;
GetShape D $Lin2:1:2 L1;
#3 Prism
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
#4 Add Box
NewCommand D
set B1 [AddBox D 400 140 600];
ComputeFun D $B1:1;
GetShape D $B1:1:2 Box;
#5 Translate Box1
NewCommand D
set FTr1 [PTranslateDXYZ D $B1 -100 -20 -100]
ComputeFun D $FTr1
GetShape D $B1:2:2 Box
#6 add Common
NewCommand D
AddDriver D Comm Cut Fuse
set Com1 [AddCommon D $Prism $B1]
ComputeFun D $Com1
GetShape D $Com1:2 Pr
#7 add Cylinder
NewCommand D
explode Pr E
AddDriver D Attach Cyl
set Sel1 [AttachShape D Pr_5 ${Prism} ${Prism} 0]; ## set attachment
set Cyl [AddCyl D 70 515 ${Sel1}]
ComputeFun D $Cyl:1
GetShape D $Cyl:1:2 CylS
#8 Translate Cylinder
NewCommand D
set FTr1 [PTranslateDXYZ D $Cyl -100 200 170]
ComputeFun D $FTr1
GetShape D $Cyl:2:2 CylS
#9 Cut Prism by Cylinder
set Cut1 [AddCut D $Prism $Cyl]
ComputeFun D $Cut1
GetShape D $Cut1:2 Pr
don Pr
#10 test selection
NewCommand D
set SL [TestSingleSelection D $Prism 0]
set SL2 [TestMultipleSelection D $Prism 0]
#11 modify
NewCommand D
PntOffset D $Pnt1 20 25 skip
#12 recompute
NewCommand D
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
#13 recomputation of entities of the TestSelection commands
SolveFlatFrom D $SL
NewCommand D