# By Axelerator AB All rights reserved
# Author Marcus Isaksson
from varmain .primitiv import *#line:5
from varmain .custom import *#line:6
from varmain .var_basic import *#line:7
from varmain .dummy_var import *#line:8
from aqa .math import *#line:9
import math #line:10
import sys ,os #line:11
if not os .path .dirname (os .path .abspath (__file__ ))in sys .path :#line:17
			   sys .path .append (os .path .dirname (os .path .abspath (__file__ )))#line:18
from AX_BOXF import *#line:21
from AX_NUTS import *#line:22
@activate (Group ="ValveBody",TooltipShort ="Valve",TooltipLong ="Valve",LengthUnit ="mm",Ports ="4")#line:25
@group ("MainDimensions")#line:26
@param (OD =LENGTH ,TooltipShort ="Nominal Diameter",TooltipLong ="Nominal Diameter")#line:27
@param (PORTS =LENGTH ,TooltipShort ="Number of Ports",TooltipLong ="Number of Ports")#line:28
def AX_P1_45_WALL_BRACKET_3_PORT (OO0O00O0000OO000O ,OD =16.5 ,PORTS =1 ,**O0OO0O0OOOO00O0OO ):#line:32
	if PORTS ==1 :#line:35
		if OD ==16.5 :#line:36
			O0O0OOOO00OOO00OO =20.95 #line:37
			O0O000OO00O00O000 =13.16 #line:38
			OO0OO0O0OOO0OOO00 =89.5 #line:39
			O00O0OOO00OO0OOOO =84.5 #line:40
			OO0O0O00O0OOO00O0 =82 #line:41
			OOO0O000000OOOOO0 =63.5 #line:42
			OOOO0OOO00000OO0O =28.6005 #line:44
			OO0O0O0OOOO00000O =0.0 #line:45
			OOOO0O0OO0OO00O0O =19.2995 #line:46
		elif OD ==25.0 :#line:47
			O0O0OOOO00OOO00OO =20.95 #line:48
			O0O000OO00O00O000 =13.16 #line:49
			OO0OO0O0OOO0OOO00 =92.5 #line:50
			O00O0OOO00OO0OOOO =84.5 #line:51
			OO0O0O00O0OOO00O0 =82 #line:52
			OOO0O000000OOOOO0 =63.5 #line:53
			OOOO0OOO00000OO0O =25.7721 #line:55
			OO0O0O0OOOO00000O =0.0 #line:56
			OOOO0O0OO0OO00O0O =20.3279 #line:57
	elif PORTS ==2 :#line:59
		if OD ==16.5 :#line:60
			O0O0OOOO00OOO00OO =20.95 #line:61
			O0O000OO00O00O000 =13.16 #line:62
			OO0OO0O0OOO0OOO00 =89.5 #line:63
			O00O0OOO00OO0OOOO =84.5 #line:64
			OO0O0O00O0OOO00O0 =82.0 #line:65
			OOO0O000000OOOOO0 =63.5 #line:66
			O0OOOO0OO0OOOOOO0 =22.3486 #line:68
			OOOO00OO0O0O00O00 =22.3486 #line:69
			O0OOO0O0OOOO0O000 =16.2943 #line:70
			O000OOO0O0OO0000O =22.3486 #line:72
			OOO00O00OOOOOO0O0 =-22.3486 #line:73
			OOOOOOO0O00O0OO00 =16.2943 #line:74
		elif OD ==25.0 :#line:75
			O0O0OOOO00OOO00OO =20.95 #line:76
			O0O000OO00O00O000 =13.16 #line:77
			OO0OO0O0OOO0OOO00 =92.5 #line:78
			O00O0OOO00OO0OOOO =84.5 #line:79
			OO0O0O00O0OOO00O0 =82.0 #line:80
			OOO0O000000OOOOO0 =63.5 #line:81
			O0OOOO0OO0OOOOOO0 =20.3486 #line:83
			OOOO00OO0O0O00O00 =20.3486 #line:84
			O0OOO0O0OOOO0O000 =17.3227 #line:85
			O000OOO0O0OO0000O =20.3486 #line:87
			OOO00O00OOOOOO0O0 =-20.3486 #line:88
			OOOOOOO0O00O0OO00 =17.3227 #line:89
	elif PORTS ==3 :#line:90
		if OD ==25.0 :#line:91
			O0O0OOOO00OOO00OO =20.95 #line:92
			O0O000OO00O00O000 =13.16 #line:93
			OO0OO0O0OOO0OOO00 =92.5 #line:94
			O00O0OOO00OO0OOOO =84.5 #line:95
			OO0O0O00O0OOO00O0 =82.0 #line:96
			OOO0O000000OOOOO0 =63.5 #line:97
			OOOO0OOO00000OO0O =28.7773 #line:99
			OO0O0O0OOOO00000O =0.0 #line:100
			OOOO0O0OO0OO00O0O =17.3227 #line:101
	if OD ==16.5 :#line:103
		O0O0O000OOO00O0OO =35.0 #line:104
	else :O0O0O000OOO00O0OO =45.0 #line:105
	OO0O000O000OOOOOO =(OD /2.0 )+2.0 #line:108
	OO00OO0000OOOOO00 =(OD /2.0 )*1.1 #line:109
	OOO00O0O0OO000OOO =(OO0OO0O0OOO0OOO00 -OOO0O000000OOOOO0 )*1.6 #line:110
	OO00OO00OOOO00OOO =(O0O0O000OOO00O0OO *0.80 )/2.0 #line:111
	O000O0O00O0OO00OO =CONE (OO0O00O0000OO000O ,R1 =OO0O000O000OOOOOO ,R2 =O0O0O000OOO00O0OO /2.0 ,H =OOO00O0O0OO000OOO *0.20 ).rotateY (-90 ).translate ((OO0OO0O0OOO0OOO00 ,0 ,0 ))#line:114
	OO0000O0OO0OOO00O =CYLINDER (OO0O00O0000OO000O ,R =O0O0O000OOO00O0OO /2.0 ,H =OOO00O0O0OO000OOO *0.75 ).rotateY (-90 ).translate ((OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO *0.20 ,0 ,0 ))#line:115
	O0OOOO00O0O0O000O =CONE (OO0O00O0000OO000O ,R1 =O0O0O000OOO00O0OO /2.0 ,R2 =OO00OO0000OOOOO00 *1.1 ,H =OOO00O0O0OO000OOO *0.05 ).rotateY (-90 ).translate ((OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO *0.95 ,0 ,0 ))#line:116
	for OOO0OOO0O0OO00OO0 in [OO0000O0OO0OOO00O ,O0OOOO00O0O0O000O ]:#line:117
		O000O0O00O0OO00OO .uniteWith (OOO0OOO0O0OO00OO0 )#line:118
		OOO0OOO0O0OO00OO0 .erase ()#line:119
	O000O0O00O0OO00OO .rotateY (-90 )#line:120
	OOOOO0O000O0OOOO0 =45 #line:122
	O0O000OO000OOOO00 =math .radians (OOOOO0O000O0OOOO0 )#line:123
	OO0OOO000OOOO00OO =O00O0OOO00OO0OOOO -46.0 #line:124
	OOO0OO0000OOOOOO0 =OO0OOO000OOOO00OO /math .sin (O0O000OO000OOOO00 )#line:125
	OO000O0O0OO000O0O =math .sqrt (OOO0OO0000OOOOOO0 **2 -OO0OOO000OOOO00OO **2 )#line:126
	if PORTS ==1 :#line:130
		OOOOO00O0O0OOO0OO =CYLINDER (OO0O00O0000OO000O ,R =OO00OO00OOOO00OOO ,H =OOO0OO0000OOOOOO0 -OO00OO00OOOO00OOO ).rotateY (180 )#line:131
		O00O0OOOO0O0OO00O =AX_NUTS (OO0O00O0000OO000O ,D =(OO00OO00OOOO00OOO *0.60 )*2.0 ,O =O0O0OOOO00OOO00OO /2.0 ,T =5.0 ,F =6.0 ,FI =.0 ).rotateY (-90 ).translate ((0 ,0 ,-OOO0OO0000OOOOOO0 +OO00OO00OOOO00OOO ))#line:132
		OOOOO00O0O0OOO0OO .uniteWith (O00O0OOOO0O0OO00O )#line:133
		O00O0OOOO0O0OO00O .erase ()#line:134
		OOOOO00O0O0OOO0OO .rotateY (-45 ).translate ((0 ,0 ,OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO ))#line:135
		OOOO00O00O000O0OO =CONE (OO0O00O0000OO000O ,R1 =OO00OO00OOOO00OOO ,R2 =O0O0O000OOO00O0OO ,H =OOO00O0O0OO000OOO *0.10 ).translate ((0 ,0 ,OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO ))#line:136
		OOOOO00O0O0OOO0OO .subtractFrom (OOOO00O00O000O0OO )#line:137
		OOOO00O00O000O0OO .erase ()#line:138
		O000O0O00O0OO00OO .uniteWith (OOOOO00O0O0OOO0OO )#line:140
		OOOOO00O0O0OOO0OO .erase ()#line:141
	elif PORTS ==2 :#line:142
		O0O00OOO0OOO0OO00 =5.0 #line:143
		OO0O0O0O00OOO0O00 =AX_NUTS (OO0O00O0000OO000O ,D =(OO00OO00OOOO00OOO *0.60 )*2.0 ,O =O0O0OOOO00OOO00OO /2.0 ,T =O0O00OOO0OOO0OO00 *3.0 ,F =6.0 ,FI =.0 ).rotateY (90 ).translate ((0 ,0 ,-O0O00OOO0OOO0OO00 -OOO0OO0000OOOOOO0 +OO00OO00OOOO00OOO )).rotateY (-45 ).translate ((0 ,0 ,OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO ))#line:144
		O0OOOO0O000O00OOO =AX_NUTS (OO0O00O0000OO000O ,D =(OO00OO00OOOO00OOO *0.60 )*2.0 ,O =O0O0OOOO00OOO00OO /2.0 ,T =O0O00OOO0OOO0OO00 *3.0 ,F =6.0 ,FI =.0 ).rotateY (90 ).translate ((0 ,0 ,-O0O00OOO0OOO0OO00 -OOO0OO0000OOOOOO0 +OO00OO00OOOO00OOO )).rotateY (-45 ).translate ((0 ,0 ,OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO ))#line:145
		OO0O0O0O00OOO0O00 .rotateZ (45 )#line:146
		O0OOOO0O000O00OOO .rotateZ (-45 )#line:147
		if OD ==16.5 :OO0OOO0O00000000O =OO00OO00OOOO00OOO *0.90 #line:150
		elif OD ==25 :OO0OOO0O00000000O =OO00OO00OOOO00OOO *0.70 #line:151
		OO000OOO00O000OOO =(O00O0OOO00OO0OOOO -46.0 )-OO0OOO0O00000000O #line:153
		OO0000OOOOOO00000 =OO000OOO00O000OOO /math .sin (O0O000OO000OOOO00 )#line:154
		O00O0000O0000O000 =math .sqrt (OO0000OOOOOO00000 **2 -OO000OOO00O000OOO **2 )#line:155
		OO0OO0O000O000000 =CONE (OO0O00O0000OO000O ,R1 =O00O0OOO00OO0OOOO -46.0 ,R2 =OO0OOO0O00000000O ,H =(OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO )-O00O0000O0000O000 -(OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO )*0.10 ).translate ((0 ,0 ,(OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO )*0.10 +O00O0000O0000O000 ))#line:157
		O0000O00O000O00O0 =CONE (OO0O00O0000OO000O ,R1 =OO0OOO0O00000000O ,R2 =O00O0OOO00OO0OOOO -46.0 ,H =O00O0000O0000O000 ).translate ((0 ,0 ,(OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO )*0.10 ))#line:158
		for OOO0OOO0O0OO00OO0 in [OO0O0O0O00OOO0O00 ,O0OOOO0O000O00OOO ,OO0OO0O000O000000 ,O0000O00O000O00O0 ]:#line:159
			O000O0O00O0OO00OO .uniteWith (OOO0OOO0O0OO00OO0 )#line:160
			OOO0OOO0O0OO00OO0 .erase ()#line:161
		OO0OOO0O0O0O0OOOO =CYLINDER (OO0O00O0000OO000O ,R =(O00O0OOO00OO0OOOO -46.0 )*2.0 ,H =OO0OO0O0OOO0OOO00 ,O =(O00O0OOO00OO0OOOO -46.0 )-2.0 )#line:163
		O000O0O00O0OO00OO .subtractFrom (OO0OOO0O0O0O0OOOO )#line:164
		OO0OOO0O0O0O0OOOO .erase ()#line:165
		OOO0OOO00OOOOOOOO =CYLINDER (OO0O00O0000OO000O ,R1 =(O00O0OOO00OO0OOOO -46.0 )*4.0 ,R2 =(O00O0OOO00OO0OOOO -46.0 )*2 ,H =OO0OO0O0OOO0OOO00 )#line:167
		O00O00O0000OO00OO =CYLINDER (OO0O00O0000OO000O ,R1 =(O00O0OOO00OO0OOOO -46.0 )*2.0 ,R2 =(O00O0OOO00OO0OOOO -46.0 ),H =OO0OO0O0OOO0OOO00 )#line:168
		OOO0OOO00OOOOOOOO .subtractFrom (O00O00O0000OO00OO )#line:169
		O00O00O0000OO00OO .erase ()#line:170
		OOO0OOO00OOOOOOOO .translate (((O00O0OOO00OO0OOOO -46.0 )*2.0 -OO00OO00OOOO00OOO -5.0 ,0 ,0 ))#line:171
		O000O0O00O0OO00OO .subtractFrom (OOO0OOO00OOOOOOOO )#line:172
		OOO0OOO00OOOOOOOO .erase ()#line:173
	elif PORTS ==3 :#line:174
		if OD ==16.5 :OO0OOO0O00000000O =OO00OO00OOOO00OOO *0.90 #line:177
		elif OD ==25 :OO0OOO0O00000000O =OO00OO00OOOO00OOO *0.70 #line:178
		OO000OOO00O000OOO =(O00O0OOO00OO0OOOO -46.0 )-OO0OOO0O00000000O #line:180
		OO0000OOOOOO00000 =OO000OOO00O000OOO /math .sin (O0O000OO000OOOO00 )#line:181
		O00O0000O0000O000 =math .sqrt (OO0000OOOOOO00000 **2 -OO000OOO00O000OOO **2 )#line:182
		O0O00OOO0OOO0OO00 =5.0 #line:184
		O00000OO000OOOOOO =((OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO )*0.10 )+O00O0000O0000O000 #line:185
		OO0O0O0O00OOO0O00 =AX_NUTS (OO0O00O0000OO000O ,D =(OO00OO00OOOO00OOO *0.60 )*2.0 ,O =O0O0OOOO00OOO00OO /2.0 ,T =O0O00OOO0OOO0OO00 *3.0 ,F =6.0 ,FI =.0 ).rotateY (90 ).translate ((0 ,0 ,-O0O00OOO0OOO0OO00 -OOO0OO0000OOOOOO0 +OO00OO00OOOO00OOO )).rotateY (-45 ).translate ((0 ,0 ,OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO ))#line:186
		OO0OO0O000O000000 =CONE (OO0O00O0000OO000O ,R1 =O00O0OOO00OO0OOOO -46.0 ,R2 =OO0OOO0O00000000O ,H =(OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO )-O00O0000O0000O000 -(OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO )*0.10 ).translate ((0 ,0 ,(OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO )*0.10 +O00O0000O0000O000 ))#line:188
		O0000O00O000O00O0 =CONE (OO0O00O0000OO000O ,R1 =OO0OOO0O00000000O ,R2 =O00O0OOO00OO0OOOO -46.0 ,H =O00O0000O0000O000 ).translate ((0 ,0 ,(OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO )*0.10 ))#line:189
		for OOO0OOO0O0OO00OO0 in [OO0O0O0O00OOO0O00 ,OO0OO0O000O000000 ,O0000O00O000O00O0 ]:#line:190
			O000O0O00O0OO00OO .uniteWith (OOO0OOO0O0OO00OO0 )#line:191
			OOO0OOO0O0OO00OO0 .erase ()#line:192
		OO0OOO0O0O0O0OOOO =CYLINDER (OO0O00O0000OO000O ,R =(O00O0OOO00OO0OOOO -46.0 )*2.0 ,H =OO0OO0O0OOO0OOO00 ,O =(O00O0OOO00OO0OOOO -46.0 )-2.0 )#line:194
		O000O0O00O0OO00OO .subtractFrom (OO0OOO0O0O0O0OOOO )#line:195
		OO0OOO0O0O0O0OOOO .erase ()#line:196
		OOO0OOO00OOOOOOOO =CYLINDER (OO0O00O0000OO000O ,R1 =(O00O0OOO00OO0OOOO -46.0 )*4.0 ,R2 =(O00O0OOO00OO0OOOO -46.0 )*2 ,H =OO0OO0O0OOO0OOO00 )#line:198
		O00O00O0000OO00OO =CYLINDER (OO0O00O0000OO000O ,R1 =(O00O0OOO00OO0OOOO -46.0 )*2.0 ,R2 =(O00O0OOO00OO0OOOO -46.0 ),H =OO0OO0O0OOO0OOO00 )#line:199
		OOO0OOO00OOOOOOOO .subtractFrom (O00O00O0000OO00OO )#line:200
		O00O00O0000OO00OO .erase ()#line:201
		OOO0OOO00OOOOOOOO .translate (((O00O0OOO00OO0OOOO -46.0 )*2.0 -OO00OO00OOOO00OOO -5.0 ,0 ,0 ))#line:202
		O000O0O00O0OO00OO .subtractFrom (OOO0OOO00OOOOOOOO )#line:203
		OOO0OOO00OOOOOOOO .erase ()#line:204
		OOO000000O0O000O0 =AX_BOXF (OO0O00O0000OO000O ,W =(O00O0OOO00OO0OOOO -46.0 )*3 ,L =(O00O0OOO00OO0OOOO -46.0 ),H =OO0OO0O0OOO0OOO00 ,R =0.0 ,T =0 ).translate ((0 ,-(O00O0OOO00OO0OOOO -46.0 )/2.0 -O0O0O000OOO00O0OO /2.0 -2.0 ,0 ))#line:206
		OOOO0OOO00OO000OO =AX_BOXF (OO0O00O0000OO000O ,W =(O00O0OOO00OO0OOOO -46.0 )*3 ,L =(O00O0OOO00OO0OOOO -46.0 ),H =OO0OO0O0OOO0OOO00 ,R =0.0 ,T =0 ).translate ((0 ,(O00O0OOO00OO0OOOO -46.0 )/2.0 +O0O0O000OOO00O0OO /2.0 +2.0 ,0 ))#line:207
		for OOO0OOO0O0OO00OO0 in [OOO000000O0O000O0 ,OOOO0OOO00OO000OO ]:#line:208
			O000O0O00O0OO00OO .subtractFrom (OOO0OOO0O0OO00OO0 )#line:209
			OOO0OOO0O0OO00OO0 .erase ()#line:210
		O0OOOO0O000O00OOO =AX_NUTS (OO0O00O0000OO000O ,D =(OO00OO00OOOO00OOO *0.60 )*2.0 ,O =O0O0OOOO00OOO00OO /2.0 ,T =(O00O0OOO00OO0OOOO -46.0 )+O0O00OOO0OOO0OO00 *4.0 ,F =6.0 ,FI =.0 ).rotateZ (90 ).rotateY (90 ).translate ((0 ,((O00O0OOO00OO0OOOO -46.0 )+O0O00OOO0OOO0OO00 *4.0 )/2.0 ,O00000OO000OOOOOO ))#line:212
		O000O0O00O0OO00OO .uniteWith (O0OOOO0O000O00OOO )#line:213
		O0OOOO0O000O00OOO .erase ()#line:214
	OO0OO0OOO000O00O0 =19.5 #line:219
	O0000000OO0000OOO =46.0 #line:220
	OOOOOOOOOOOOO000O =O0000000OO0000OOO -(O0000000OO0000OOO *0.10 )#line:221
	OO0OO0O0OOO0OOO0O =AX_BOXF (OO0O00O0000OO000O ,W =OO0OO0OOO000O00O0 *2.0 ,L =OO0O0O00O0OOO00O0 ,H =O0000000OO0000OOO *0.10 ,R =(OO0OO0OOO000O00O0 *2.0 )/4 ,T =4 ).rotateY (90 ).translate ((-O0000000OO0000OOO ,0 ,-(OO0OO0OOO000O00O0 *2.0 )/2 +(OO0OO0OOO000O00O0 *2.0 )+O0000000OO0000OOO *0.10 ))#line:222
	OO0OO0OO00O00OOO0 =AX_BOXF (OO0O00O0000OO000O ,W =OO00OO00OOOO00OOO *2.0 +1 ,L =OOOOOOOOOOOOO000O ,H =O0000000OO0000OOO *0.10 ,R =(OO00OO00OOOO00OOO *2.0 +1 )/10 ,T =4 ).rotateZ (90 ).translate ((-OOOOOOOOOOOOO000O /2.0 ,0 ,0 ))#line:223
	OO0OO0O0OOO0OOO0O .uniteWith (OO0OO0OO00O00OOO0 )#line:224
	OO0OO0OO00O00OOO0 .erase ()#line:225
	O000OO00O0O0OOO0O =AX_BOXF (OO0O00O0000OO000O ,W =OO00OO00OOOO00OOO *2.0 +1 ,L =OOOOOOOOOOOOO000O ,H =OO0OO0OOO000O00O0 *2.0 ,R =0 ,T =0 ).rotateZ (90 ).translate ((-OOOOOOOOOOOOO000O /2.0 ,0 ,O0000000OO0000OOO *0.10 ))#line:226
	OO0OO0O0OOO0OOO0O .uniteWith (O000OO00O0O0OOO0O )#line:227
	O000OO00O0O0OOO0O .erase ()#line:228
	O0O00O000OO0000O0 =AX_BOXF (OO0O00O0000OO000O ,W =OO00OO00OOOO00OOO *2.0 -O0000000OO0000OOO *0.20 ,L =OOOOOOOOOOOOO000O +O0000000OO0000OOO *0.10 ,H =OO0OO0OOO000O00O0 *2.0 ,R =0 ,T =0 ).rotateZ (90 ).translate ((-(OOOOOOOOOOOOO000O +O0000000OO0000OOO *0.10 )/2.0 ,0 ,O0000000OO0000OOO *0.10 ))#line:229
	OO0OO0O0OOO0OOO0O .subtractFrom (O0O00O000OO0000O0 )#line:230
	O0O00O000OO0000O0 .erase ()#line:231
	O0OO000OOOO00OOO0 =CYLINDER (OO0O00O0000OO000O ,R =O0000000OO0000OOO -O0000000OO0000OOO *0.10 -2 ,H =OO0O0O00O0OOO00O0 ).rotateX (90 ).translate ((0 ,OO0O0O00O0OOO00O0 /2.0 ,OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO ))#line:233
	OO0OO0O0OOO0OOO0O .subtractFrom (O0OO000OOOO00OOO0 )#line:234
	O0OO000OOOO00OOO0 .erase ()#line:235
	O000O0O00O0OO00OO .uniteWith (OO0OO0O0OOO0OOO0O )#line:237
	OO0OO0O0OOO0OOO0O .erase ()#line:238
	O0OO00OO0O0000000 =CYLINDER (OO0O00O0000OO000O ,R =OO00OO00OOOO00OOO ,H =OO0OO0O0OOO0OOO00 -OOO00O0O0OO000OOO )#line:241
	O000O0O00O0OO00OO .uniteWith (O0OO00OO0O0000000 )#line:242
	O0OO00OO0O0000000 .erase ()#line:243
	OO00000000O0O00OO =CYLINDER (OO0O00O0000OO000O ,R =OD /2.0 ,H =OO0OO0O0OOO0OOO00 -OOO0O000000OOOOO0 ).rotateX (180 ).translate ((0 ,0 ,OO0OO0O0OOO0OOO00 ))#line:244
	O000O0O00O0OO00OO .subtractFrom (OO00000000O0O00OO )#line:245
	OO00000000O0O00OO .erase ()#line:246
	O0O0OOO00OO0O0OOO =(O0000000OO0000OOO *0.10 )+OO0OO0OOO000O00O0 #line:250
	OOOO00OO000O0000O =24.5 #line:251
	if PORTS ==1 :#line:252
		OO0O00O0000OO000O .setPoint ((0 ,0 ,OOO0O000000OOOOO0 ),(0 ,0 ,1 ))#line:253
		OO0O00O0000OO000O .setPoint ((OOOO0OOO00000OO0O ,OO0O0O0OOOO00000O ,OOOO0O0OO0OO00O0O ),(1 ,0 ,-1 ))#line:254
		OO0O00O0000OO000O .setPoint ((-46.0 ,0 ,O0O0OOO00OO0O0OOO ),(0 ,0 ,0 ))#line:255
	elif PORTS ==2 :#line:257
		OO0O00O0000OO000O .setPoint ((0 ,0 ,OOO0O000000OOOOO0 ),(0 ,0 ,1 ))#line:258
		OO0O00O0000OO000O .setPoint ((O0OOOO0OO0OOOOOO0 ,OOOO00OO0O0O00O00 ,O0OOO0O0OOOO0O000 ),(1 ,1 ,-1 ))#line:259
		OO0O00O0000OO000O .setPoint ((O000OOO0O0OO0000O ,OOO00O00OOOOOO0O0 ,OOOOOOO0O00O0OO00 ),(1 ,-1 ,-1 ))#line:260
		OO0O00O0000OO000O .setPoint ((-46.0 ,0 ,O0O0OOO00OO0O0OOO ),(0 ,0 ,0 ))#line:262
	elif PORTS ==3 :#line:263
		OO0O00O0000OO000O .setPoint ((0 ,0 ,OOO0O000000OOOOO0 ),(0 ,0 ,1 ))#line:264
		OO0O00O0000OO000O .setPoint ((OOOO0OOO00000OO0O ,OO0O0O0OOOO00000O ,OOOO0O0OO0OO00O0O ),(1 ,0 ,-1 ))#line:267
		OO0O00O0000OO000O .setPoint ((0 ,OOOO00OO000O0000O ,O00000OO000OOOOOO ),(0 ,1 ,0 ))#line:269
		OO0O00O0000OO000O .setPoint ((0 ,-OOOO00OO000O0000O ,O00000OO000OOOOOO ),(0 ,-1 ,0 ))#line:270
		OO0O00O0000OO000O .setPoint ((-46.0 ,0 ,O0O0OOO00OO0O0OOO ),(0 ,0 ,0 ))#line:271
