File: A2

package info (click to toggle)
oce 0.15-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 302,472 kB
  • ctags: 210,903
  • sloc: cpp: 1,165,052; ansic: 75,256; sh: 11,901; tcl: 4,488; python: 2,867; makefile: 337; perl: 37; csh: 12
file content (95 lines) | stat: -rwxr-xr-x 2,391 bytes parent folder | download | duplicates (8)
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
#Drivers' nick-names:
#Box|Sph|Cyl|Cut|Fuse|Prism|Revol|PTxyz|PTALine|PRLine|PMirr|Fillet|Attach|XAttach
# order of functions recomputation should be defined out of the tool (by end user)

#Commands of transformation:
#PTranslateDXYZ Doc ShapeEntry dx dy dz
#PTranslateAlongLine Doc ShapeEntry  Line off
#PRotateRoundLine Doc ShapeEntry Line Angle
#PMirror Doc ShapeEntry PlaneObj

## Test of transformation functions
AddDriver D Box Attach PTxyz PTALine PRLine PMirr Sph
#1 - create box using more flexible set of commands
NewCommand D
set B2 [AddObject D];			## add object
set F2 [AddFunction D $B2 Box];		## add function
BoxDX D $B2 190;			## set argumets of this function
BoxDY D $B2 290
BoxDZ D $B2 390
InitLogBook D;				## initialize (clean) internal maps of labels
ComputeFun D $F2;			## compute the function
GetShape D $F2:2 Box2;			## check result
whatis Box2
GetReference D $B2;			## referes to result NS


#2
NewCommand D
set FTr1 [PTranslateDXYZ D $B2 150 40 90]
ComputeFun D $FTr1;                     ## function recomputation
GetShape D $FTr1:2 Box2;	        ## get modified result

#3 
NewCommand D
explode Box2 F
explode Box2_1 E
set Sel1 [AttachShape D Box2_1_1 ${B2} ${B2} 1]; ## set attachment
set FTr2 [PTranslateAlongLine D $B2  $Sel1 210]
ComputeFun D $FTr2
GetShape D $FTr2:2 Box3

#4
NewCommand D
explode Box3 F
explode Box3_1 E
set Sel4 [AttachShape D Box3_1_3 ${B2} ${B2} 1];
set FR1 [PRotateRoundLine D $B2 $Sel4 120]
ComputeFun D $FR1 
GetShape D $FR1:2 Box4

#5
NewCommand D
explode Box4 F
set Sel5 [AttachShape D Box4_3 ${B2} ${B2} 1];
set FM [PMirror D $B2 $Sel5]
ComputeFun D $FM 
GetShape D $FM:2 Box5

#6
NewCommand D
explode Box5 F
explode Box5_1 E
set Sel6 [AttachShape D Box5_1_3 ${B2} ${B2} 1];
AddDriver D Fillet
set Fill [AddFillet D $B2 25 $Sel6 0]
ComputeFun D $Fill
GetShape D $Fill:2 SF

#7
NewCommand D 
set SL [TestSingleSelection D $B2 1]
set SL2 [TestMultipleSelection D $B2 0]

#7 modification
NewCommand D
BoxDX D $B2 290

#8 order of recomputation
NewCommand D
InitLogBook D;		## to be initialized before any recomputation of impacted functions set (if attachments are presented)
ComputeFun D $F2;	
ComputeFun D $FTr1;
ComputeFun D $Sel1:1
ComputeFun D $FTr2
ComputeFun D $Sel4:1
ComputeFun D $FR1 
ComputeFun D $Sel5:1
ComputeFun D $FM 
ComputeFun D $Sel6:1
ComputeFun D $Fill
GetShape D $Fill:2 SF-new

SolveFlatFrom D $SL

NewCommand D