/* Simpel Kolommen stramien script * TO&I - TUDelft: T. Welman, 2006 * * Voorbeeld MSc3 BT */ /* New Empty File */ file -f -new; /* Aantal kolommen in X en Z richting */ int $aantal_x = 3; int $aantal_z = 8; /* Afstand tussen de kolommen (stramien) */ float $stramien_x = 7.2; float $stramien_z = 3.6; /* Afmetingen van de kolom */ float $kolom_breedte = .3; //x-richting float $kolom_lengte = .3; // z-richting float $kolom_hoogte = 4.2; // y-richting /* Afmetingen van de balken die in de X-richting liggen */ float $balk_x_breedte = $kolom_lengte; // of kies een vaste waarde: //float $balk_x_breedte = .3; // de balkhoogte wordt berekend uit de overspanning float $balk_x_hoogte = $stramien_x / 15; // of een vaste waaarde: //float $balk_x_hoogte = .6; /* Afmetingen van de balken die in de Z-richting liggen */ float $balk_z_breedte = $kolom_breedte; // of kies een vaste waarde: //float $balk_z_breedte = .3; // de balkhoogte wordt berekend uit de overspanning float $balk_z_hoogte = $stramien_z / 15; // of een vaste waaarde: //float $balk_z_hoogte = .3; /* Tijdelijke variabelen (tellertjes e.d.) */ int $tel_x = 0; int $tel_z = 0; /* Controle of de balke breder zijn dan de kolom */ if ( $balk_x_breedte > $kolom_lengte ) { warning("Balken in de X-richting zijn breder dan de kolom"); } if ( $balk_z_breedte > $kolom_breedte ) { warning("Balken in de Z-richting zijn breder dan de kolom"); } /* Lus voor de x-richting */ for ( $tel_x = 0; $tel_x < $aantal_x; $tel_x++ ) { /* Lus voor de z-richting */ for ( $tel_z = 0; $tel_z < $aantal_z; $tel_z++ ) { /* Creeer Kolom */ polyCube; scale $kolom_breedte $kolom_hoogte $kolom_lengte; move ($tel_x * $stramien_x) ($kolom_hoogte / 2) ($tel_z * $stramien_z); /* Creeer Balken */ /* Voorwaarde: teller < aantal -1 */ /* X-richting */ if ( $tel_x < ($aantal_x - 1) ) { polyCube; scale ($stramien_x - $kolom_breedte) $balk_x_hoogte $balk_x_breedte; move (($stramien_x/2)+($tel_x * $stramien_x)) (($balk_x_hoogte/2)+($kolom_hoogte-$balk_x_hoogte)) ($tel_z * $stramien_z); } /* Z-richting */ if ( $tel_z < ($aantal_z - 1) ) { polyCube; scale $balk_z_breedte $balk_z_hoogte ($stramien_z - $kolom_lengte); move ($tel_x * $stramien_x) (($balk_z_hoogte/2)+($kolom_hoogte-$balk_z_hoogte)) (($stramien_z/2)+($tel_z * $stramien_z)); } } } /* einde */