File: D2

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 (82 lines) | stat: -rw-r--r-- 1,887 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
#INTERFACE CAF
# NamedShape
#
# Testing attribute: TNaming_NamedShape
#
# Testing command:   SelectGeometry (FACE)
#

puts "caf002-D2"
set QA_DUP 0

set ter _*
foreach OS [directory [concat aBox1$ter]] {
	unset $OS
}

# Create a box
set aSetX1 10
set aSetY1 20
set aSetZ1 30
set aSetDX1 100
set aSetDY1 200
set aSetDZ1 300

box aBox1 ${aSetX1} ${aSetY1} ${aSetZ1} ${aSetDX1} ${aSetDY1} ${aSetDZ1}

# Create a label
set aLabel 0:3
Label D ${aLabel}

# Set a shape to the label
ImportShape D ${aLabel} aBox1

# Close/Open transaction
NewCommand D

# Select all the sub-shapes of type <aType>
# aType = FACE
set aType f
explode ${aBox1} ${aType}

set i 0
set iSubLabel 2000
foreach S [directory [concat $aBox1$ter]] {
	incr i
	incr iSubLabel
	puts "SubShape=$S"

	#Memorize a bounding box of the selected sub-shape
	set aBoundingBox1 [bounding ${S}]
	set X1_Box1 [lindex ${aBoundingBox1} 0]
	set Y1_Box1 [lindex ${aBoundingBox1} 1]
	set Z1_Box1 [lindex ${aBoundingBox1} 2]
	set X2_Box1 [lindex ${aBoundingBox1} 3]
	set Y2_Box1 [lindex ${aBoundingBox1} 4]
	set Z2_Box1 [lindex ${aBoundingBox1} 5]

	# Select a sub-shape
	set LABEL [Label D 0:$iSubLabel]
	SelectGeometry D ${LABEL} ${S} ${aBox1}

	# Solve selected sub-shape
	SolveSelection D ${LABEL}

	# Get selected (and solved) sub-shape
	GetShape D ${LABEL} aSubShape
	
	# Get bounding box
	set aBoundingBox2 [bounding aSubShape]
	set X1_Box2 [lindex ${aBoundingBox2} 0]
	set Y1_Box2 [lindex ${aBoundingBox2} 1]
	set Z1_Box2 [lindex ${aBoundingBox2} 2]
	set X2_Box2 [lindex ${aBoundingBox2} 3]
	set Y2_Box2 [lindex ${aBoundingBox2} 4]
	set Z2_Box2 [lindex ${aBoundingBox2} 5]
	
	if {${X1_Box1} != ${X1_Box2} || ${Y1_Box1} != ${Y1_Box2} || ${Z1_Box1} != ${Z1_Box2} || ${X2_Box1} != ${X2_Box2} || ${Y2_Box1} != ${Y2_Box2} || ${Z2_Box1} != ${Z2_Box2}} {
		puts "SelectGeometry command (${i}): Error"
	}
}

puts "SelectGeometry command: OK"