;================================================================================ ; Robert Johnstone ; Simon Fraser University ; ; Last Modified: 2001/01/08 ; ; Copyright 2000 Robert W. Johnstone ;-------------------------------------------------------------------------------- unless( boundp( 'admLibraryName ) warn( "Setting the destination library to default value of ADM" ) admLibraryName = "ADM" ) pcDefinePCell( list( ddGetObj(admLibraryName) "suspension_folded_n" "layout" ) ; end of list for first argument ( ( length 100.0 ) ( shuttle_length 50.0 ) ( shuttle_width 12.0 ) ( truss_width 5.0 ) ( yoke_width 5.0 ) ( anchor_width 0.0 ) ( anchor_length 0.0 ) ( folds 2 ) ( dimples 3 ) ) ; end of parameter list prog( let( beam_sep ) ; load tech file rules pcTechFile = techGetTechFile( pcCellView ) p1_minWidth = techGetSpacingRule( pcTechFile "minWidth" "POLY1" ) if( (p1_minWidth==nil) then warn("minWidth rule for POLY1 not set") ) p1_nomSpacing = techGetSpacingRule( pcTechFile "nomSpacing" "POLY1" ) if( (p1_nomSpacing==nil) then warn("nomSpacing rule for POLY1 not set") ) p1_nomWidth = techGetSpacingRule( pcTechFile "nomWidth" "POLY1" ) if( (p1_nomWidth==nil) then warn("nomWidth rule for POLY1 not set") ) p1a1_enclosure = techGetOrderedSpacingRule( pcTechFile "minEnclosure" "POLY1" "ANCHOR1" ) if( (p1a1_enclosure==nil) then warn("minEnclosure rule for POLY1->ANCHOR1 not set") ) p1d_enclosure = techGetOrderedSpacingRule( pcTechFile "minEnclosure" "POLY1" "DIMPLE" ) if( (p1d_enclosure==nil) then warn("minEnclosure rule for POLY1->DIMPLE not set") ) a1_nomWidth = techGetSpacingRule( pcTechFile "nomWidth" "ANCHOR1" ) if( (a1_nomWidth==nil) then warn("nomWidth rule for ANCHOR1 not set") ) d_nomWidth = techGetSpacingRule( pcTechFile "nomWidth" "DIMPLE" ) if( (d_nomWidth==nil) then warn("nomWidth rule for DIMPLE not set") ) ; check parameters anchor_width = if( (anchor_width<2*p1a1_enclosure+a1_nomWidth) 2*p1a1_enclosure+a1_nomWidth anchor_width ) anchor_length = if( (anchor_length<2*p1a1_enclosure+a1_nomWidth) 2*p1a1_enclosure+a1_nomWidth anchor_length ) dimples = if( (dimples<2) 2 dimples ) folds = if( (folds<1) 1 folds ) shuttle_width = if( (shuttle_width0 && shuttle_width0 && truss_width