Nun nochmal (Ehrlich ein letztesmal zum Verständnis!)? Dieser Dounut ist nu' wirklich ein schlechtes Beipiel.
Soll der Ring nun einen Aussen- und einen Innendurchmesser haben (Dann ist es ein Ring), oder (da du davon sprachst) ein Zylinder ohne die "Deckel" (Dann wäre es eine Röhre!)? Im zweiten Fall kann man sich von dem Zylinder mit getShape(Cylinder.TOP) und getShape(Cylinder.BOTTOM) die Shapes dieser Deckel holen und dessen Appearance Tranzparent machen.
Ein weiterer Weg (unheimlich umständlich, aber die Sache wert) wäre, wenn man sich selbst eine Primitiven-Bibliothek anlegt. Dazu kann man sich aus dem Distributierten Quelltexten das geometry-Paket extrahieren und Cylinder z.B. gleich so verändern, da BOTTOM und TOP gar nicht erst erstellt werden. Leider muß man dazu das komplette Paket übernehmen (samt Quadrics usw.) da so ziemlich alles was man dazu braucht "protected" ist. Aber hat man erstmal sein eigenes Paket geschnürt, ist es später ein Klacks z.B. auch noch einen Ring, eine Kapsel und und und zu basteln.
cu