[OpenSCAD] openscad: child count

Clifford Wolf clifford at clifford.at
Thu Mar 4 09:10:56 CET 2010


Hi,

On Wed, Mar 03, 2010 at 10:13:27PM +0000, Giles Bathgate wrote:
> Clifford,
> 
> Suppose I wanted to do something like the following:
> [...]
> So is there any way I can get the child count, rather than having to pass it as a parameter?
> perhaps there could be a childcount() function that would be used along with the child(i) function?
> or perhaps another way of doing it would be to allow you to do something like this
> [...]

The variable $children always holds the number of children. So your script
would look like this:

	module RotateAndTranslate() {
	  for (i = [0 : $children-1])
	    translate([ 10, 10, 10 ]) rotate([10,10,10]) child(i);
	}
	
	RotateAndTranslate()
	{
		sphere(1);
		cube([1,1,1]);
		cylinder(r=1,h=1);
	}

yours,
 - clifford

-- 
bash -c "gcc -o mysdldemo -Wall -O2 -lSDL -lm -pthread -x c <( echo -e '
#include <SDL/SDL.h>\n#include <complex.h>\nint main(){SDL_Surface*s;SDL_Event
e;int x,y,n;SDL_Init(SDL_INIT_VIDEO);s=SDL_SetVideoMode(640,480,32,0);for(x=0;
x<640;x++)for(y=0;y<480;y++){float _Complex z=0, c=((x-400)/200.0) + ((y-240)/
200.0)*1.0fi;for(n=1;n<64;n++){z=z*z+c;if(cabsf(z)>2){((Uint32*)s->pixels)[x+y
*640]=n<<3;n=99;}}}SDL_UpdateRect(s,0,0,s->w,s->h);do SDL_WaitEvent(&e); while
(e.type!=SDL_QUIT&&e.type!=SDL_KEYDOWN);SDL_Quit();return 0;}' ); ./mysdldemo"


More information about the Openscad mailing list