$ $@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ $@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ $@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ $ $ ------------------- generate a spar --------------------- $ This cif file will generate a "SPAR" body and compartment from $ the &surface menu. All one needs to do is fill $ out the "basic data" below. Here: $ $ 1.) sodia - is the outside diameter of the spar $ 2.) sdep - is the depth of the spar, $ 3.) nps - is the number of points used to define the circular sections, $ 4.) sidia - is the inside diameter of the spar, and $ 5.) hdis - is the distance above the bottom that the hollow section occupies. $ $ $@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ $ $********************************************* basic parameters $ &dimen -dimen feet kips &device -g_default device $ $********************************************************************** $********************************************************************** $********************************************************************** $ $ ------------- define basic parameters ---------------- $ $********************************************************************** $********************************************************************** $********************************************************************** $ &set sodia = 63 &set sdep = 300 &set nps = 10 &set sidia = 32 &set hdis = 100 &set plot = .true. $ $********************************************************************** $********************************************************************** $********************************************************************** $ $ ------------- define macros ---------------- $ $********************************************************************** $********************************************************************** $********************************************************************** $ $ $********************************************* macro for plots $ ¯o suplot nams &if %plot &then &selec :n -sel %nams &picture top -parent :n &picture side -parent :n &picture iso -parent :n &endif &endmacro $ $********************************************* macro for columns $ ¯o column CN X Y -npoint poi np = 9 \ -height hei height bot = 0 \ -diameter di dia block %cn -location %x %y 00 0 -90 &set angi = &number( real 180/(%np%-1) ) plane %bot %height% -e_circ 0 0 %dia%/2 0 %angi% %np end &endmacro &m_act column block $ $********************************************************************** $********************************************************************** $********************************************************************** $ $ ------------- generate ---------------- $ $********************************************************************** $********************************************************************** $********************************************************************** $ $ $********************************************* enter surface menu $ &surface $ $********************************************* generate exterior $ column spar 0 0 -height %sdep -npoin %nps -dia %sodia $ $********************************************* join $ &subt spar body suplot spar $ $********************************************* rename $ rename spar $ $********************************************* generate compartment $ block ctmp1 -loc 0 0 0 0 0 91 plane -%(sodia) %(sodia) -rect %(hdis)+10 %(sdep)-10 (2*%(sodia)) end $ intersection spar ctmp1 compart $ &subt spar and ctmp1 suplot spar ctmp1 $ &subt spar and compart suplot spar compart $ &subt compartment only suplot compart $ $********************************************* emit $ &select :n -select spar compart rename :n -equiv .001 $ $ *** emits points for all blocks & starts a body named spar emit :n -body spar $ $ *** emits panels for the body named spar using block spar emit spar -name spar \ -piece "-perm 1 -diftype 3ddif -cs_wind 1 1 1 -cs_curr 1 1 1" \ -use_name yes $ $ *** emits compartment named sample using block compart emit compart -name sample \ -compartment " " \ -piece '-perm -1 -diftype none -cs_win 0 0 0 -cs_curr 0 0 0' $ $********************************************* all done $ end &fini