mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
112 lines
2.3 KiB
Plaintext
Executable File
112 lines
2.3 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
|
|
# refers 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
|
|
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 create two prisms
|
|
NewCommand D
|
|
explode Pr F
|
|
set Bas1 [AttachShape D Pr_1 ${Prism} ${Prism} 1]
|
|
set Bas2 [AttachShape D Pr_4 ${Prism} ${Prism} 1]
|
|
|
|
set Prism2 [AddPrism D $Bas1 300 0]
|
|
ComputeFun D $Prism2:1
|
|
GetShape D $Prism2:1:2 Pr2
|
|
|
|
|
|
set Prism3 [AddPrism D $Bas2 500 0]
|
|
ComputeFun D $Prism3:1
|
|
GetShape D $Prism3:1:2 Pr3
|
|
|
|
#6 => fuse
|
|
NewCommand D
|
|
AddDriver D Fuse Sph Cut
|
|
set FS1 [AddFuse D $Prism $Prism2]
|
|
ComputeFun D $FS1
|
|
GetShape D $FS1:2 Pr
|
|
|
|
set FS2 [AddFuse D $Prism $Prism3]
|
|
ComputeFun D $FS2
|
|
GetShape D $FS2:2 Pr
|
|
|
|
set Sph [AddSphere D $Pnt3 150]
|
|
NewCommand D
|
|
ComputeFun D $Sph:1
|
|
GetShape D $Sph:1:2 Sp
|
|
|
|
#7 Cut sphere
|
|
NewCommand D
|
|
set Cut1 [AddCut D $Prism $Sph]
|
|
ComputeFun D $Cut1
|
|
GetShape D $Cut1:2 Pr
|
|
don Pr
|
|
|
|
#8 test selection
|
|
NewCommand D
|
|
set SL [TestSingleSelection D $Prism 0]
|
|
set SL2 [TestMultipleSelection D $Prism 0]
|
|
|
|
|
|
|
|
#9 modify
|
|
PntOffset D $Pnt1 50 30 skip
|
|
|
|
#10 recompute
|
|
NewCommand D
|
|
ComputeFun D $Pnt1:1
|
|
ComputeFun D $Lin2:1
|
|
ComputeFun D $Prism:1
|
|
ComputeFun D $Bas1:1
|
|
ComputeFun D $Bas2:1
|
|
ComputeFun D $Prism2:1
|
|
ComputeFun D $Prism3:1
|
|
ComputeFun D $FS1
|
|
ComputeFun D $FS2
|
|
ComputeFun D $Sph:1
|
|
ComputeFun D $Cut1
|
|
erase
|
|
GetShape D $Cut1:2 Pr
|
|
#GetShape D $Prism:1:2 Pr
|
|
#GetShape D $Prism2:1:2 Pr2
|
|
#GetShape D $Prism3:1:2 Pr3
|
|
|
|
#recomputation of entities of the TestSelection commands
|
|
SolveFlatFrom D $SL
|
|
NewCommand D
|
|
|