POV-Ray : Newsgroups : povray.newusers : CSG and transformations : Re: CSG and transformations Server Time
28 Jul 2024 22:19:46 EDT (-0400)
  Re: CSG and transformations  
From: Trevor G Quayle
Date: 12 Jul 2007 08:40:02
Message: <web.46962003bd021cb9c150d4c10@news.povray.org>
"stevenvh" <nomail@nomail> wrote:
> #macro arc (H, W, L)
> union {
>     cylinder { <-L / 2, W, 0>, < L / 2, W, 0>, W / 2 }
>     box { <-L / 2, -.001, -W / 2>, <L / 2, W , W / 2> }
>     }
> #end
>
> difference {
>   box { <-50, 0, -50>, <50, 0, 50> }
>   // subtract following
>   arc (50, 40, 120)                     // along the x-axis
>   arc (50, 40, 120) rotate y * 90       // along the z-axis
>
>   pigment { Gray85 }
> }
> ---------------- code end ----------------

Assuming I know what you want to do try invoking your macro within an
object{} block (or even union{} block):

object{arc (50, 40, 120) rotate y * 90}

Then any transforms are isolated from the rest of the object and you don't
need to pass any variables.


-tgq


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.