!   TITLE:  mirror_support.mac
!
!---------------------------------------------------------------------------
!       Rev -   RELEASED    08/27/2001      D. Edwards/J. Rinaldi
!       Rev A   RELEASED    01/21/2002      D. Edwards
!               Macro clean up & meshing.
!---------------------------------------------------------------------------
!
!   This is a macro that builds the AAAV 410 CRES mirror support.
!
!               P/N: SK400A016
!
!   CSms0:  Cartesian Mirror Support Coordinate System
!   CSms1:  Cylindrical Mirror Support Coordinate System
!   CSms2:  Spherical Mirror Support Coordinate System
!
!
!************************** TABLE OF CONTENTS **************************
!
!      Model Assembly Preparation
!
!   1.  Parameter List
!   2.  Model Coordinate System
!   3.  Solid Model
!       3.1  Create Initial Profile Volume
!       3.1.1  Trim Material Below Torquer Journal
!       3.2  Create Top Surface Cut
!       3.3  Create Rib Pockets
!       3.4  Modify Bottom Surface
!       3.5  Center Hole Bores
!           3.5.1  Center Hole
!           3.5.2  Counterbore
!       3.6  Elevation Axis Journals
!           3.6.1  Resolver Journal
!           3.6.1.1  Resolver Journal Bending modal
!           3.6.2  Torquer Journal
!           3.6.2.1 Modified model for bending modal analysis
!           3.6.2.2 Full model for tosional modal analysis
!           3.6.3  Center cut on back (extrude)
!           3.7 Cut Center Section for Gimbal Clearance
!           3.8 Hole Pattern for Adapter
!           3.9 Lightnening Holes
!           3.10 Back Cut For Balancing
!           3.11 Holes in Resolver End For Balancing
!           3.12 Rotation Tab
!   4.  FEA Model
!       4.1  Prepare Volumes
!           4.1.1  Long Axis Cut
!           4.1.2  Left Journal Volumes
!           4.1.3  Left Side Rib Volumes
!           4.1.4  Right Side Rib Volumes
!           4.1.5  Short Axis Cut
!           4.1.6  Right Journal Volumes
!           4.1.7  Back Surface Cuts
!           4.1.8  Back Contour Cuts
!           4.1.9  Rib Pocket Contours
!       4.2  Meshing
!       4.3  Assembly Setup
!
!
!********************* Model Assembly Preparation **********************
!
mod_assemb_prep,arg1,arg2,arg3
!
!<<<<<<<<<<<<<<<<<<<<<<<< 1.  Parameter List >>>>>>>>>>>>>>>>>>>>>>>>>>
!
mirror_support.parm
!
!<<<<<<<<<<<<<<<<<<<< 2.  Model Coordinate System >>>>>>>>>>>>>>>>>>>>>
!
mod_coord_system,acs,xc,yc,zc,rotxyc,rotyzc,rotzxc
!
create_cs,0,'CSms_cg0',0,0,0,h11,0,0,0      ! Want CG relative to here
!
!<<<<<<<<<<<<<<<<<<<<<<<<<<< 3. Solid Model >>>>>>>>>>>>>>>>>>>>>>>>>>>
!
!
!----------------- 3.1  Create Initial Profile Volume ----------------
!
csys,CSms0
create_cs,0,'CSh0',0,0,0,CSz1,0,0,0
!
k,,l4,h1,0
k,,-l3,h1,0
k,,-l3,-h2,0
k,,l4,-h2,0
!
init_entity_num
!
lstr,km-3,km-2
lstr,km,km-1
!
k,,l2,h1,0
k,,l2,-h2,0
k,,-l1,h1,0
k,,-l1,-h2,0
!
init_entity_num
!
lstr,km-3,km-2
lstr,km,km-1
!
create_cs,1,,1,km-7,km-3,km-4           ! create 1st beveled line
k,,l2,phi1,0
lstr,km+1,km-7
!
create_cs,1,,1,km-6,km-1,km-5           ! create 2nd beveled line
k,,l1,phi1,0
lstr,km+2,km-6
!
create_cs,1,,1,km-5,km,km-6             ! create 3rd beveled line
k,,l1,phi1,0
lstr,km+3,km-5
!
create_cs,1,,1,km-4,km-2,km-7           ! create 4th beveled line
k,,l2,phi1,0
lstr,km+4,km-4
!
init_entity_num
!
profile_close
!
ksel,s,kp,,km-3,km,3
!
ln_fillet,,Dro                          ! Full radius at torquer end
!
ldel,lm-3                               ! Add boss on end for torquer journal
csys,CSh0       !CSms0
k,,l5,h16/2,0
k,,l2+rfil2,h16/2,0
k,,l2+rfil2,-h16/2,0
k,,l5,-h16/2,0
!
create_lines,,1
profile_close
!
ksel,s,kp,,km-1,km
ln_fillet,,rfil2
!
k,,l2,h1,0
k,,l2,-h1,0
init_entity_num
!
l,km-1,km
!
profile_close
!
lsel,selv,loc,x,l2+.001,l2+rfil2
ldele,all,,,1
!
create_vol-lines,extd1
!
!-------------- 3.2  Trim Material Below Torquer Journal ----------------
!
csys,CSh0       !CSms0
!
k,,l4,h1,0
k,,-l3,h1,0
k,,-l3,-h2,0
k,,l4,-h2,0
!
init_entity_num
!
lstr,km-3,km-2
lstr,km,km-1
!
k,,l2,h1,0
k,,l2,-h2,0
k,,-l1,h1,0
k,,-l1,-h2,0
!
init_entity_num
!
lstr,km-3,km-2
lstr,km,km-1
!
create_cs,1,,1,km-7,km-3,km-4           ! create 1st beveled line
k,,l2,phi1,0
lstr,km+1,km-7
!
create_cs,1,,1,km-6,km-1,km-5           ! create 2nd beveled line
k,,l1,phi1,0
lstr,km+2,km-6
!
create_cs,1,,1,km-5,km,km-6             ! create 3rd beveled line
k,,l1,phi1,0
lstr,km+3,km-5
!
create_cs,1,,1,km-4,km-2,km-7           ! create 4th beveled line
k,,l2,phi1,0
lstr,km+4,km-4
!
init_entity_num
!
profile_close
!
ksel,s,kp,,km-3,km,3
!
ln_fillet,,Dro                          ! Full radius at torquer end
!
csys,CSh0       !CSms0
!
k,,l4,ky(km-39),0
k,,1.5*l2,ky(km-39),0               ! KP27
k,,1.5*l2,ky(km-37),0               ! KP29
k,,l4,ky(km-37),0
!
create_lines,,1
!
isolate_lines
!
lsel,r,loc,x,-l1,l2-Dro
ldele,all,,,1
!
isolate_lines
!
profile_close
!
create_vol-lines,h11-drj/2
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num
!
lplot
!
!----------------------- 3.3  Create Top Surface Cut -------------------
!
csys,CSms0
!
create_cs,0,'CStprof',0,0,-(1.2*h2),0,0,90,0
!
k,,-l1,h3,0
k,,-l3,h4,0
k,,l4,h4,0
k,,l2,h3,0
!
create_lines,0,1

extend,,km,l1
extend,,km-4,l1

k,,1.2*l2,h3,0
k,,1.2*l2,h3+2*extd1,0
!
k,,-l1*1.2,h3,0
k,,-l1*1.2,h3+2*extd1,0
!
k,,-l1*1.3,h3+1.8*extd1,0
k,,l2*1.3,h3+1.8*extd1,0

ln_series
!
profile_close
!
create_vol-lines,-(1.5*(h1+h2))
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num
!
lplot
!
!----------------- 3.4  Create Rib Pockets --------------------------------
!
csys,CSms_cg0
!
! Keypoint Definitions from po2.parm
!
k,km+1,po2Px1,po2Py1,po2Pz1          ! km + 1
k,km+2,po2Px2,po2Py2,po2Pz2          ! km + 2
k,km+3,po2Px3,po2Py3,po2Pz3          ! km + 3
k,km+4,po2Px4,po2Py4,po2Pz4          ! km + 4 (center)
k,km+5,po2Px5,po2Py5,po2Pz5          ! km + 5
k,km+6,po2Px6,po2Py6,po2Pz6          ! km + 6
k,km+7,po2Px7,po2Py7,po2Pz7          ! km + 7
k,km+8,po2Px8,po2Py8,po2Pz8          ! km + 8 (center)
k,km+9,po2Px9,po2Py9,po2Pz9          ! km + 9
k,km+10,po2Px10,po2Py10,po2Pz10      ! km + 10
k,km+11,po2Px11,po2Py11,po2Pz11      ! km + 11
k,km+12,po2Px12,po2Py12,po2Pz12      ! km + 12
k,km+13,po2Px13,po2Py13,po2Pz13      ! km + 13
k,km+14,po2Px14,po2Py14,po2Pz14      ! km + 14 (center)
k,km+15,po2Px15,po2Py15,po2Pz15      ! km + 15
k,km+16,po2Px16,po2Py16,po2Pz16      ! km + 16
k,km+17,po2Px17,po2Py17,po2Pz17      ! km + 17
k,km+18,po2Px18,po2Py18,po2Pz18      ! km + 18
k,km+19,po2Px19,po2Py19,po2Pz19      ! km + 19
k,km+20,po2Px20,po2Py20,po2Pz20      ! km + 20 (center)
k,km+21,po2Px21,po2Py21,po2Pz21      ! km + 21
k,km+22,po2Px22,po2Py22,po2Pz22      ! km + 22 (center)
k,km+23,po2Px23,po2Py23,po2Pz23      ! km + 23
k,km+24,po2Px24,po2Py24,po2Pz24      ! km + 24 (center)
k,km+25,po2Px25,po2Py25,po2Pz25      ! km + 25
k,km+26,po2Px26,po2Py26,po2Pz26      ! km + 26
k,km+27,po2Px27,po2Py27,po2Pz27      ! km + 27 (center)
k,km+28,po2Px28,po2Py28,po2Pz28      ! km + 28
k,km+29,po2Px29,po2Py29,po2Pz29      ! km + 29 (center)
k,km+30,po2Px30,po2Py30,po2Pz30      ! km + 30
k,km+31,po2Px31,po2Py31,po2Pz31      ! km + 31 (center)
k,km+32,po2Px32,po2Py32,po2Pz32      ! km + 32
k,km+33,po2Px33,po2Py33,po2Pz33      ! km + 33 (center)
k,km+34,po2Px34,po2Py34,po2Pz34      ! km + 34
k,km+35,po2Px35,po2Py35,po2Pz35      ! km + 35
k,km+36,po2Px36,po2Py36,po2Pz36      ! km + 36 (center)
k,km+37,po2Px37,po2Py37,po2Pz37      ! km + 37
k,km+38,po2Px38,po2Py38,po2Pz38      ! km + 38 (center)
k,km+39,po2Px39,po2Py39,po2Pz39      ! km + 39
k,km+40,po2Px40,po2Py40,po2Pz40      ! km + 40 (center)
k,km+41,po2Px41,po2Py41,po2Pz41      ! km + 41
k,km+42,po2Px42,po2Py42,po2Pz42      ! km + 42 (center)
k,km+43,po2Px43,po2Py43,po2Pz43      ! km + 43
k,km+44,po2Px44,po2Py44,po2Pz44      ! km + 44
k,km+45,po2Px45,po2Py45,po2Pz45      ! km + 45
k,km+46,po2Px46,po2Py46,po2Pz46      ! km + 46
k,km+47,po2Px47,po2Py47,po2Pz47      ! km + 47
k,km+48,po2Px48,po2Py48,po2Pz48      ! km + 48
k,km+49,po2Px49,po2Py49,po2Pz49      ! km + 49 (center)
k,km+50,po2Px50,po2Py50,po2Pz50      ! km + 50
k,km+51,po2Px51,po2Py51,po2Pz51      ! km + 51
k,km+52,po2Px52,po2Py52,po2Pz52      ! km + 52 (center)
k,km+53,po2Px53,po2Py53,po2Pz53      ! km + 53 (center)
k,km+54,po2Px54,po2Py54,po2Pz54      ! km + 54
k,km+55,po2Px55,po2Py55,po2Pz55      ! km + 55
k,km+56,po2Px56,po2Py56,po2Pz56      ! km + 56 (center)
k,km+57,po2Px57,po2Py57,po2Pz57      ! km + 57
k,km+58,po2Px58,po2Py58,po2Pz58      ! km + 58
k,km+59,po2Px59,po2Py59,po2Pz59      ! km + 59 (center)
k,km+60,po2Px60,po2Py60,po2Pz60      ! km + 60
k,km+61,po2Px61,po2Py61,po2Pz61      ! km + 61
k,km+62,po2Px62,po2Py62,po2Pz62      ! km + 62 (center)
k,km+63,po2Px63,po2Py63,po2Pz63      ! km + 63 (center)
k,km+64,po2Px64,po2Py64,po2Pz64      ! km + 64
k,km+65,po2Px65,po2Py65,po2Pz65      ! km + 65
k,km+66,po2Px66,po2Py66,po2Pz66      ! km + 66 (center)
k,km+67,po2Px67,po2Py67,po2Pz67      ! km + 67 (center)
k,km+68,po2Px68,po2Py68,po2Pz68      ! km + 68
k,km+69,po2Px69,po2Py69,po2Pz69      ! km + 69
k,km+70,po2Px70,po2Py70,po2Pz70      ! km + 70
k,km+71,po2Px71,po2Py71,po2Pz71      ! km + 71
k,km+72,po2Px72,po2Py72,po2Pz72      ! km + 72 (center)
k,km+73,po2Px73,po2Py73,po2Pz73      ! km + 73 (center)
k,km+74,po2Px74,po2Py74,po2Pz74      ! km + 74 (center)
k,km+75,po2Px75,po2Py75,po2Pz75      ! km + 75 (center)

!
! Line Definitions
!

L,km+1,km+2                          ! lm + 1
larc,km+1,km+3,km+4,po2Dr1           ! lm + 2
L,km+5,km+6                          ! lm + 3
larc,km+7,km+5,km+8,po2Dr2           ! lm + 4
L,km+9,km+10                         ! lm + 5
L,km+11,km+12                        ! lm + 6
larc,km+13,km+10,km+14,po2Dr3        ! lm + 7
L,km+15,km+16                        ! lm + 8
L,km+17,km+18                        ! lm + 9
larc,km+15,km+19,km+20,po2Dr4        ! lm + 10
larc,km+21,km+11,km+22,po2Dr5        ! lm + 11
larc,km+18,km+23,km+24,po2Dr6        ! lm + 12
larc,km+25,km+26,km+27,po2Dr7        ! lm + 13
larc,km+28,km+17,km+29,po2Dr8        ! lm + 14
larc,km+30,km+25,km+31,po2Dr9        ! lm + 15
larc,km+12,km+32,km+33,po2Dr10       ! lm + 16
larc,km+34,km+35,km+36,po2Dr11       ! lm + 17
larc,km+37,km+2,km+38,po2Dr12        ! lm + 18
larc,km+6,km+39,km+40,po2Dr13        ! lm + 19
larc,km+35,km+41,km+42,po2Dr14       ! lm + 20
L,km+39,km+43                        ! lm + 21
L,km+44,km+7                         ! lm + 22
L,km+45,km+13                        ! lm + 23
L,km+46,km+37                        ! lm + 24
L,km+28,km+26                        ! lm + 25
L,km+47,km+30                        ! lm + 26
L,km+48,km+21                        ! lm + 27
L,km+32,km+34                        ! lm + 28
larc,km+43,km+16,km+49,po2Dr15       ! lm + 29
L,km+50,km+51                        ! lm + 30
larc,km+9,km+50,km+52,po2Dr16        ! lm + 31
larc,km+51,km+46,km+53,po2Dr17       ! lm + 32
larc,km+54,km+55,km+56,po2Dr18       ! lm + 33
larc,km+57,km+58,km+59,po2Dr19       ! lm + 34
L,km+19,km+60                        ! lm + 35
L,km+3,km+61                         ! lm + 36
larc,km+61,km+55,km+62,po2Dr20       ! lm + 37
larc,km+54,km+45,km+63,po2Dr21       ! lm + 38
larc,km+64,km+65,km+56,po2Dr22       ! lm + 39
larc,km+60,km+65,km+66,po2Dr23       ! lm + 40
larc,km+64,km+44,km+67,po2Dr24       ! lm + 41
larc,km+68,km+69,km+59,po2Dr25       ! lm + 42
L,km+23,km+70                        ! lm + 43
L,km+41,km+71                        ! lm + 44
larc,km+70,km+69,km+72,po2Dr26       ! lm + 45
larc,km+57,km+48,km+73,po2Dr27       ! lm + 46
larc,km+68,km+47,km+74,po2Dr28       ! lm + 47
larc,km+71,km+58,km+75,po2Dr29       ! lm + 48

KPtool1=km+56       ! KP centers for tooling holes
KPtool2=km+59

! Create each pocket area (one in each quadrant)
isolate_lines
lsel,r,loc,x,0,l2
lsel,r,loc,y,0,h1
al,all
!
isolate_lines
lsel,r,loc,x,0,l2
al,all
!
isolate_lines
lsel,r,loc,x,0,-l1
lsel,r,loc,y,0,h1
al,all
!
isolate_lines
lsel,r,loc,x,0,-l1
al,all

init_entity_num
!
voffst,am-3,-(2*extd1-h7)       ! Floor thickness of h7
voffst,am-2,-(2*extd1-h7)       ! Floor thickness of h7
voffst,am-1, (2*extd1-h7)       ! Floor thickness of h7
voffst,am,-(2*extd1-h7)         ! Floor thickness of h7

! Cut through floor
!voffst,am-3,-(3*extd1)
!voffst,am-2, (3*extd1)
!voffst,am-1, (3*extd1)         ! Floor thickness of h7
!voffst,am,-(3*extd1)

!
init_entity_num
!
vsel,u,volu,,vm-4
cm,vset1,volu
vsel,a,volu,,vm-4
!
vsbv,vm-4,vset1,,delete,delete
!
init_entity_num
!
lplot
!
! Trim sharp edges off side pocket floors
!
! Keypoint Definitions from po4.parm
!
k,km+1,po4Px1,po4Py1,po4Pz1          ! km + 1
k,km+2,po4Px2,po4Py2,po4Pz2          ! km + 2
k,km+3,po4Px3,po4Py3,po4Pz3          ! km + 3
k,km+4,po4Px4,po4Py4,po4Pz4          ! km + 4
k,km+5,po4Px5,po4Py5,po4Pz5          ! km + 5
k,km+6,po4Px6,po4Py6,po4Pz6          ! km + 6
k,km+7,po4Px7,po4Py7,po4Pz7          ! km + 7
k,km+8,po4Px8,po4Py8,po4Pz8          ! km + 8
k,km+9,po4Px9,po4Py9,po4Pz9          ! km + 9
k,km+10,po4Px10,po4Py10,po4Pz10      ! km + 10
k,km+11,po4Px11,po4Py11,po4Pz11      ! km + 11
k,km+12,po4Px12,po4Py12,po4Pz12      ! km + 12
k,km+13,po4Px13,po4Py13,po4Pz13      ! km + 13
k,km+14,po4Px14,po4Py14,po4Pz14      ! km + 14
k,km+15,po4Px15,po4Py15,po4Pz15      ! km + 15
k,km+16,po4Px16,po4Py16,po4Pz16      ! km + 16
k,km+17,po4Px17,po4Py17,po4Pz17      ! km + 17
k,km+18,po4Px18,po4Py18,po4Pz18      ! km + 18
k,km+19,po4Px19,po4Py19,po4Pz19      ! km + 19 (center)
k,km+20,po4Px20,po4Py20,po4Pz20      ! km + 20 (center)
k,km+21,po4Px21,po4Py21,po4Pz21      ! km + 21 (center)
k,km+22,po4Px22,po4Py22,po4Pz22      ! km + 22
k,km+23,po4Px23,po4Py23,po4Pz23      ! km + 23 (center)
k,km+24,po4Px24,po4Py24,po4Pz24      ! km + 24
k,km+25,po4Px25,po4Py25,po4Pz25      ! km + 25 (center)
k,km+26,po4Px26,po4Py26,po4Pz26      ! km + 26
k,km+27,po4Px27,po4Py27,po4Pz27      ! km + 27 (center)
k,km+28,po4Px28,po4Py28,po4Pz28      ! km + 28
k,km+29,po4Px29,po4Py29,po4Pz29      ! km + 29
k,km+30,po4Px30,po4Py30,po4Pz30      ! km + 30
k,km+31,po4Px31,po4Py31,po4Pz31      ! km + 31 (center)
k,km+32,po4Px32,po4Py32,po4Pz32      ! km + 32 (center)
k,km+33,po4Px33,po4Py33,po4Pz33      ! km + 33 (center)
k,km+34,po4Px34,po4Py34,po4Pz34      ! km + 34 (center)

!
! Line Definitions
!

L,km+1,km+2                          ! lm + 1
L,km+3,km+4                          ! lm + 2
L,km+5,km+6                          ! lm + 3
L,km+7,km+8                          ! lm + 4
L,km+9,km+10                         ! lm + 5
L,km+11,km+7                         ! lm + 6
L,km+12,km+3                         ! lm + 7
L,km+2,km+13                         ! lm + 8
L,km+14,km+15                        ! lm + 9
L,km+16,km+17                        ! lm + 10
L,km+5,km+18                         ! lm + 11
larc,km+14,km+1,km+19,po4Dr1         ! lm + 12
larc,km+6,km+16,km+20,po4Dr2         ! lm + 13
larc,km+10,km+4,km+21,po4Dr3         ! lm + 14
larc,km+8,km+22,km+23,po4Dr4         ! lm + 15
larc,km+18,km+24,km+25,po4Dr5        ! lm + 16
larc,km+26,km+13,km+27,po4Dr6        ! lm + 17
larc,km+28,km+12,km+25,po4Dr7        ! lm + 18
larc,km+11,km+29,km+27,po4Dr8        ! lm + 19
L,km+30,km+22                        ! lm + 20
larc,km+30,km+29,km+31,po4Dr9        ! lm + 21
larc,km+26,km+15,km+32,po4Dr10       ! lm + 22
larc,km+28,km+9,km+33,po4Dr11        ! lm + 23
larc,km+17,km+24,km+34,po4Dr12       ! lm + 24

! Create each pocket area (one in each quadrant)
isolate_lines
lsel,r,loc,x,0,l2
lsel,r,loc,y,0,h1
al,all
!
isolate_lines
lsel,r,loc,x,0,l2
al,all
!
isolate_lines
lsel,r,loc,x,0,-l1
lsel,r,loc,y,0,h1
al,all
!
isolate_lines
lsel,r,loc,x,0,-l1
al,all

init_entity_num
!
voffst,am-3,-(extd1-h7)
voffst,am-2,(extd1-h7)
voffst,am-1, (extd1-h7)
voffst,am,(extd1-h7)
!

init_entity_num
!
vsel,u,volu,,vm-4
cm,vset1,volu
vsel,a,volu,,vm-4
!
vsbv,vm-4,vset1,,delete,delete
!
init_entity_num
!
lplot
!
!------------------------ 3.5  Center Hole Bores ---------------------
!
!-------------------------- 3.5.1  Center Hole -----------------------
!
csys,CSh0       !CSms0
!
create_cs,0,,0,0,0,0,0,0,180
!
cir_bore,0,dhole,extd1
!
lplot
!
!------------------------ 3.5.2  Counterbore ------------------------
!
csys,CSms0
!
create_cs,0,,0,0,0,h4,0,0,0
!
cir_bore,0,dbore1,h4-h12
!
lplot
!
!-------------------- 3.6  Elevation Axis Journals -------------------
!
!----------------------- 3.6.1  Resolver Journal ---------------------
!
csys,CSms0
!
create_cs,0,'CSm_res1',1,-l1,0,h11,0,0,-90
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)
    k,,dlj/2,i,0
*enddo
!
create_area,1
!
voffst,am,extd2
!
init_entity_num
!
vadd,vm-1,vm
!
init_entity_num
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)     ! machine inner bore
    k,,dbore2/2,i,1.2*extd2
*enddo
!
create_area,1
!
voffst,am,-(0.2*extd2+extd3)
!
init_entity_num
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)     ! machine outer surface
    k,,1.2*dlj/2,i,1.2*extd2
*enddo
!
create_area,1
!
*do,i,0,3*((pi/2)*dconv),((pi/2)*dconv)
    k,,dos/2,i,1.2*extd2
*enddo
!
create_area,1
!
asba,am-1,am,,delete,delete
!
init_entity_num
!
voffst,am,-(0.2*extd2+extd4)
!
init_entity_num
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num
!
lplot
!
!----------- 3.6.1.1  Resolver Journal Bending modal ----------------------
!
*if,f_bend,eq,1,then
!
csys,CSm_res1
lstr,kp(dbore2/2,0,extd2-extd3),kp(dbore2/2,180,extd2-extd3)
lstr,kp(dbore2/2,90,extd2-extd3),kp(dbore2/2,270,extd2-extd3)
!
asel,s,loc,z,extd2-extd3
!
asbl,all,lm+1,,delete,delete
!
asel,s,loc,z,extd2-extd3
!
asbl,all,lm+2,,delete,delete
!
init_entity_num
!
lplot
!
*endif
!
!----------------------- 3.6.2  Torquer Journal ----------------------
!
csys,CSms0
!
create_cs,0,'CSm_trq1',1,l2,0,h11,0,0,90
!
create_circle,drj/2                         ! 1st volume
!
create_vol-lines,extd5
!
create_circle,d1/2,extd5                    ! 2nd volume
!
!------------- 3.6.2.1 Modifyied model for bending modal analysis ---------
!
*if,f_bend,eq,1,then
!
vadd,vm-1,vm
!
init_entity_num
!
create_vol-lines,l18/2                      ! Bearing Journal extrude
!
vsel,s,volu,,vm
!
ang_cut_pln,0,0
!
vsel,s,volu,,vm-1,vm
!
ang_cut_pln,90,0
!
vadd,all
!
init_entity_num
!
!------------ 3.6.2.2 Full model for tosional modal analysis --------------
!
*else
!
create_vol-lines,l18                        ! Bearing Journal extrude
!
create_circle,d2/2,l18+extd5                ! 3rd volume
!
create_vol-lines,l19
!
create_circle,d3/2,l19+l18+extd5            ! 4th volume
!
create_vol-lines,l20
!
create_circle,d4/2,l20+l19+l18+extd5        ! 5th volume
!
create_vol-lines,l21
!
vadd,vm-5,vm-4,vm-3,vm-2,vm-1,vm
!
init_entity_num
!
*endif
!
lplot
!
!---------------- 3.6.3  Center pockets on back (extrude) -----------------
!

csys,CSh0

k,km+1,po3Px1,po3Py1,po3Pz1  ! km + 1
k,km+2,po3Px2,po3Py2,po3Pz2  ! km + 2
k,km+3,po3Px3,po3Py3,po3Pz3  ! km + 3 (center)
k,km+4,po3Px4,po3Py4,po3Pz4  ! km + 4
k,km+5,po3Px5,po3Py5,po3Pz5  ! km + 5
k,km+6,po3Px6,po3Py6,po3Pz6  ! km + 6
k,km+7,po3Px7,po3Py7,po3Pz7  ! km + 7
k,km+8,po3Px8,po3Py8,po3Pz8  ! km + 8
k,km+9,po3Px9,po3Py9,po3Pz9  ! km + 9
k,km+10,po3Px10,po3Py10,po3Pz10! km + 10
k,km+11,po3Px11,po3Py11,po3Pz11! km + 11
k,km+12,po3Px12,po3Py12,po3Pz12! km + 12 (center)
k,km+13,po3Px13,po3Py13,po3Pz13! km + 13
k,km+14,po3Px14,po3Py14,po3Pz14! km + 14
k,km+15,po3Px15,po3Py15,po3Pz15! km + 15 (center)
k,km+16,po3Px16,po3Py16,po3Pz16! km + 16 (center)
k,km+17,po3Px17,po3Py17,po3Pz17! km + 17 (center)
k,km+18,po3Px18,po3Py18,po3Pz18! km + 18
k,km+19,po3Px19,po3Py19,po3Pz19! km + 19
k,km+20,po3Px20,po3Py20,po3Pz20! km + 20
k,km+21,po3Px21,po3Py21,po3Pz21! km + 21
k,km+22,po3Px22,po3Py22,po3Pz22! km + 22 (center)
k,km+23,po3Px23,po3Py23,po3Pz23! km + 23
k,km+24,po3Px24,po3Py24,po3Pz24! km + 24
k,km+25,po3Px25,po3Py25,po3Pz25! km + 25
k,km+26,po3Px26,po3Py26,po3Pz26! km + 26
k,km+27,po3Px27,po3Py27,po3Pz27! km + 27 (center)
k,km+28,po3Px28,po3Py28,po3Pz28! km + 28
k,km+29,po3Px29,po3Py29,po3Pz29! km + 29 (center)
k,km+30,po3Px30,po3Py30,po3Pz30! km + 30 (center)
k,km+31,po3Px31,po3Py31,po3Pz31! km + 31 (center)
k,km+32,po3Px32,po3Py32,po3Pz32! km + 32
k,km+33,po3Px33,po3Py33,po3Pz33! km + 33
k,km+34,po3Px34,po3Py34,po3Pz34! km + 34 (center)
k,km+35,po3Px35,po3Py35,po3Pz35! km + 35 (center)

!
! Line Definitions
!

larc,km+1,km+2,km+3,po3Dr1       ! lm + 1
larc,km+4,km+5,km+3,po3Dr2       ! lm + 2
larc,km+6,km+7,km+3,po3Dr3       ! lm + 3
L,km+8,km+9                      ! lm + 4
L,km+10,km+11                    ! lm + 5
larc,km+11,km+2,km+12,po3Dr4     ! lm + 6
L,km+13,km+14                    ! lm + 7
larc,km+13,km+9,km+15,po3Dr5     ! lm + 8
larc,km+8,km+10,km+16,po3Dr6     ! lm + 9
larc,km+1,km+14,km+17,po3Dr7     ! lm + 10
L,km+18,km+19                    ! lm + 11
L,km+20,km+21                    ! lm + 12
larc,km+20,km+5,km+22,po3Dr8     ! lm + 13
L,km+23,km+24                    ! lm + 14
L,km+25,km+26                    ! lm + 15
larc,km+19,km+25,km+27,po3Dr9    ! lm + 16
larc,km+7,km+28,km+3,po3Dr10     ! lm + 17
larc,km+4,km+24,km+29,po3Dr11    ! lm + 18
larc,km+26,km+28,km+30,po3Dr12   ! lm + 19
larc,km+23,km+21,km+31,po3Dr13   ! lm + 20
L,km+32,km+33                    ! lm + 21
larc,km+6,km+33,km+34,po3Dr14    ! lm + 22
larc,km+32,km+18,km+35,po3Dr15   ! lm + 23
!
lsel,s,line,,lm+2
lsel,a,line,,lm+12,lm+14
lsel,a,line,,lm+18
lsel,a,line,,lm+20
al,all

isolate_lines
lsel,r,loc,y,0,h1
al,all
!
isolate_lines
al,all

!
init_entity_num
!
isolate_areas
extrude_aset,-(ccDext-CSz1)
!
vsel,u,volu,,vm-3
cm,vset1,volu
vsel,a,volu,,vm-3
!
vsbv,vm-3,vset1,,delete,delete
!
init_entity_num
!
lplot
!
!----------------- 3.7 Cut Center Section for Gimbal Clearance-------------
!
! Straight cut walls
csys,CSh0
!
k,,hcDx2+xoffax,h1-thick
k,,hcDx1+xoffax,-h2
k,,-hcDx1+xoffax,-h2
k,,-hcDx2+xoffax,h1-thick
!
create_lines
isolate_lines
ksll
ksel,r,loc,y,h1,0
ln_fillet,,rfil2
!
create_vol-lines,CSz1-hcDy2
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num
!
lplot
!
!----------------- 3.8 Hole Pattern for Adapter ---------------------------
!
create_cs,0,'CSh1',1,0,0,0,0,0,0
hole_pattern,CSh1,hpDr1,0,8,,22.5,,hpDd1
isolate_areas
extrude_aset,h12-hpDz1-CSz1
!
hole_pattern,CSh1,hpDr1,0,8,,22.5,,hpDd2
isolate_areas
extrude_aset,extd1
!
vsel,u,volu,,vm-16
cm,vset1,volu
vsel,a,volu,,vm-16
!
vsbv,vm-16,vset1,,delete,delete
!
init_entity_num
!
lplot
!
!----------------- 3.9 Lightnening Holes -------------------------
!
csys,CSh0
wpcsys,-1

*do,i,1,nlh
    cyl4,CSlhx(i),CSlhy(i),lhDr1(i),,,,extd1
*enddo
!
init_entity_num
!
vsel,u,volu,,vm-nlh
cm,vset1,volu
vsel,a,volu,,vm-nlh
!
vsbv,vm-nlh,vset1,,delete,delete
!
init_entity_num
!
lplot
!
!----------------- 3.10 Back Cut For Balancing ----------------------------
!
csys,CStprof
!
k,,-l1,-extd1
k,,-l1,h17
k,,-l27,-h19
k,,l27,-h19
k,,l2,h18
k,,l2,-extd1
!
create_lines
!
!isolate_lines
!ksll
!ln_fillet,kp(-l1,h17,0),rfil1
!
create_vol-lines,1.5*(h1+h2)
!
vsbv,vm-1,vm,,delete,delete
!
init_entity_num
!
lplot
!
!------------- 3.11 Holes in Resolver End For Balancing -------------------
!
csys,CSm_res1
create_cs,0,,0,0,0,extd2,0,0,0
!
wpcsys,-1
!
*do,i,1,nlhr
    cyl4,CSlhrx(i),CSlhry(i),lhrDr1(i),,,,-extd6
*enddo
!
init_entity_num
!
vsel,u,volu,,vm-nlhr
cm,vset1,volu
vsel,a,volu,,vm-nlhr
!
vsbv,vm-nlhr,vset1,,delete,delete
!
init_entity_num
!
lplot
!
!------------- 3.12 Rotation Tab Stop --------------------------------
!
csys,CSms0
!create_cs,0,'CStab0',0,tab_x,tab_y,tab_z
create_cs,0,'CStab0',0,0,0,tab_z
!
! Keypoint Definitions from tab.parm
!
k,km+1,tabPx1,tabPy1,tabPz1          ! km + 1
k,km+2,tabPx2,tabPy2,tabPz2          ! km + 2
k,km+3,tabPx3,tabPy3,tabPz3          ! km + 3
k,km+4,tabPx4,tabPy4,tabPz4          ! km + 4
k,km+5,tabPx5,tabPy5,tabPz5          ! km + 5
k,km+6,tabPx6,tabPy6,tabPz6          ! km + 6 (center)
k,km+7,tabPx7,tabPy7,tabPz7          ! km + 7 (center)
k,km+8,tabPx8,tabPy8,tabPz8          ! km + 8
k,km+9,tabPx9,tabPy9,tabPz9          ! km + 9
k,km+10,tabPx10,tabPy10,tabPz10      ! km + 10 (center)
k,km+11,tabPx11,tabPy11,tabPz11      ! km + 11
k,km+12,tabPx12,tabPy12,tabPz12      ! km + 12 (center)
k,km+13,tabPx13,tabPy13,tabPz13      ! km + 13
k,km+14,tabPx14,tabPy14,tabPz14      ! km + 14
!
! Line Definitions
!
L,km+1,km+2                          ! lm + 1
L,km+3,km+4                          ! lm + 2
larc,km+4,km+5,km+6,tabDr1           ! lm + 3
larc,km+1,km+3,km+7,tabDr2           ! lm + 4
L,km+5,km+8                          ! lm + 5
larc,km+2,km+9,km+10,tabDr3          ! lm + 6
larc,km+11,km+8,km+12,tabDr4         ! lm + 7
L,km+13,km+14                        ! lm + 8
L,km+11,km+14                        ! lm + 9
L,km+9,km+13                         ! lm + 10
!
create_vol-lines,tab_t
!
vadd,vm-1,vm
!
init_entity_num
!
lplot
!
!------------- 3.13 Gimbal clearance cut - SH3, View K-K -------------------
!
csys,CSms0

Xcorner=L22+extd3-.577
Ycorner=h1-(Xcorner-1.450)*tan(phi1*rconv)
Zcorner=yh+CSz1
KPcorner=kp(-Xcorner,Ycorner,Zcorner)

ksel,s,kp,,KPcorner

lslk,s,0
ksll

entity_array,'k','kset'
entity_array,'l','lset'

*get,leng,line,lset(2),leng

Abevel=atan(.5/(4.789-2.9))
Lcut=.765/cos(Abevel)
kl,lset(2),1-Lcut/leng,km+1
KPo=km+1

create_cs,0,CScut0,0,kx(KPo),ky(KPo),kz(KPo),phi1,,-5.4

init_entity_num

k,,0,.1,0
k,,2.635,.1,0
k,,2.635,.1,-1
k,,0,.1,-1

create_volume,,-1

vsbv,vm-1,vm,,delete,delete

init_entity_num

lplot
!
!----------------------- 3.14 Fixture Holes --------------------------------
!
csys,CSms0
wpcsys,-1
wpof,,,CSz1

cyl4,kx(KPtool1),ky(KPtool1),.280/2,,,,.235
cyl4,kx(KPtool2),ky(KPtool2),.280/2,,,,.235

cyl4,kx(KPtool1),ky(KPtool1),.235/2,,,,2
cyl4,kx(KPtool2),ky(KPtool2),.235/2,,,,2

wpof,,,.725

cyl4,kx(KPtool1),ky(KPtool1),.328/2,,,,2
cyl4,kx(KPtool2),ky(KPtool2),.328/2,,,,2

vsel,u,volu,,vm
cm,vset1,volu
vsel,a,volu,,vm

vsbv,vm,vset1,,delete,delete

init_entity_num

lplot
!
!<<<<<<<<<<<<<<<<<<<<<<<<<<< 4.  FEA Model >>>>>>>>>>>>>>>>>>>>>>>>>
!
!----------------------- 4.1  Prepare Volumes ------------------------
!
*go,:skip

! Slice resolver journal
csys,CSm_res1
norm_cut_pln_cyl,0

! Slice torquer journal
csys,CSm_trq1
norm_cut_pln_cyl,0
vplot

! Center pockets on gimbal side for extruding an area map mesh
csys,CSms0
!asel,selv,loc,z,depth1
!ar_profile_cut
!
al,716,713,647,710,718,654
!
init_entity_num
!
csys,CSms0
vext,am,,,,,ccDext-depth1
!
init_entity_num
!
vsbv,vm-1,vm,,keep,delete
vplot

! Diameter cut at center bore to match up with adapter_ring
csys,CSh0
wpcsys,-1
cyl4,0,0,adap_d4/2

init_entity_num

ar_profile_cut,am
!
!----------------------- 4.2  Meshing -------------------------------------
!

!
!----------------------- 4.3  Assembly Setup ------------------------------
!

! Create CS's for the extreme positions
csys,CSm_res1
create_cs,0,'CSms_up1',1,0,0,0,-el_up,0,0

csys,CSm_res1
create_cs,0,'CSms_dn1',1,0,0,0,el_down,0,0

:skip

finalize_model