|
|
"ingo" <nomail@nomail> wrote:
>
> #macro Lvertices(Lstr)
> #local T_Pos = <0, 0, 0>; // <x, y, z>
> #local AngleZZ = 0;
> //#local Curr_Item = 0;
> #declare Return = array; //{<T_Pos.x, T_Pos.y, T_Pos.z>};
> #declare Return[0] = <T_Pos.x, T_Pos.y, T_Pos.z>;
> #for (i, 0, strlen(Lstr)-1) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> #local CurrentSymbol = substr(Lstr, i, 1);
> #ifdef (BuildRules[CurrentSymbol])
> #switch (BuildRules[CurrentSymbol])
> #case(70)
> #debug "70 F \n"
> #local T_Pos = F(T_Pos, AngleZZ);
> #break
> #case(43)
> #debug "43 + \n"
> #local AngleZZ = YawR(AngleZZ);
> #break
> #case(45)
> #debug "45 - \n"
> #local AngleZZ = YawL(AngleZZ);
> #break
> #case(124)
> #debug "124 | \n"
> #local AngleZZ = Turn(AngleZZ);
> #break
>
> #case(91)
> #debug "91 [ \n"
> #local Curr_Item = Push(T_Pos, AngleZZ);
> #break
>
>
> #case(93)
> #debug "93 ] \n"
> #local Curr_Item = Pop(T_Pos, AngleZZ);
> #break
>
> #end
> #local InArr = Return[dimension_size(Return,1)-1];
> #if (T_Pos.x != InArr.x | T_Pos.y != InArr.y | T_Pos.z != InArr.z)
> #declare Return[dimension_size(Return,1)] = <T_Pos.x, T_Pos.y, T_Pos.z>;
> #end
> #end
> #end
> #declare Vertices = Return;
> Vertices
> #end
try: #for (i, 0, strlen(Lstr)) in the macro. The it runs and renders a small
white stick? But with Iterations = 2 it fails.
ingo
Post a reply to this message
|
|