`PMX demonstration. Requires PMX 15.44B or later. enter pmx /direct macro ring .cyl (n,1) 1, "column" .cyl0 "base", 0, v1, 2*r+d .cyl0 "deck" , v2, v2+v1, 2*(r+d) .cyl0 "tower" , v2+v1, v2*2, r*2/3 .render / macro cyl l:=r*COS(a) t:=r*SIN(a) a:=a+da .cyl1 "%2",%1, l, t, v1, v2, d / macro cyl0 .cyl1 "%1" , , 0, 0, %2, %3, %4 / macro cyl1 create %1%2.s class hull inb -99 cyl (24) %3, %4, %5, %3, %4, %6, %7 // / macro render macro surf surface (%%91*) %%91; color:%%92; opacity:1 // .surf "column", "orange" .surf "base", "blue" .surf "deck", "drab" .surf "tower", "violet" render column, base, deck, tower; cam:20, 20; jpeg:ring.jpg / real l, t real r:=30., d:=10., v1:=4., v2:=50., a:=0. card n:=6 real pi:=3.14159 real da:=2.*pi/n .ring quit pm