File: F5

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (132 lines) | stat: -rw-r--r-- 2,850 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# =================== OCAF ======================
# Naming
#
# Testing purpose: Naming selection mechanism 
#
# Test case: F5 (ShapeOrientation is not  used)
# 1.  Create 4 points: $Pnt1 - $Pnt4
# 2.  Create closed line $Lin2
# 3.  Create prism Pr ($Prism)
# 4.  Create 2 prisms $Prism1, $Prism2
# 5.  $FS1 = Fuse ($Prism1, $Prism2); $FS2 = Fuse ($Prism1, $Prism3)
# 6.  Create sphere $Sph
# 7.  Cut sphere $Cut1 = Cut ($Prism, $Sph)
# 8.  Make  selections for all sub-shapes
# 9.  Modify $Pnt1
# 10. Recompute modeling functions
# 11. 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
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 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

#5 => 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

#6
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

#11 recomputation of entities of the TestSelection commands
SolveFlatFrom D $SL
NewCommand D