Weer eens (voor mij) een OpenScad uitdaging. Voor een van jullie waarschijnlijk een eitje :

Hoe til ik die middelste cilinder zo op dat hij op de 5mm hoge grote schijf komt te liggen ?

En is de $fn=40 goed genoeg voor een 3D print ?

1/ centre=true afzetten, dat maakt de boel maar ingewikkelder
2/ ik denk dat daarmee de beide cylinders sowieso hetzelfde grondvlak krijgen, mocht dat niet zo zijn dan kan er nog altijd een translate([x,y,z]) voor het ene commando of voor het andere, of zelfs voor allebei
3/ bij heeft $fn nog nooit kleiner gestaan dan 180 - maar eenieder maakt de eigen keuzes. "goed genoeg" is een enigszins nogal danig rekbaar begrip ;


$fn=180;
cylinder(r=20;h=5);
translate([0,0,5]) cylinder(r=10,h=20);

zou het ongeveer moeten doen; let wel alleen de 5 uit uw voorbeeld kon ik zo gelijk onthouden, de rest is uit het losse polsje.

NB de opmerking van @rew hieronder is wel een beetje terecht, men kan net zo simpel de tweede cylinder flink laten overlappen met de eerste, door de translate weg te laten en de hoogte 5 mm groter te maken.

Alternatief is het toepassen van een union, maar dat is hier misschien overkill.

[Bericht gewijzigd door Paulinha_B op (19%)]

Voor nu is het handiger om "center=false" te gebruiken (weglaten is equivalent).

Daarnaast: ik ben lui:


cylinder (h=5, r=39);
cylinder (h=25+5,r=18.5);

Nu heb je een stukje cylinder "dubbel" maar dat is VEEL beter dan een grensvlak wat van twee objecten tegelijk is.


cylinder (h=5, r=39);
translate ([0,0,5]) cylinder (h=25,r=18.5);

is precies wat je vroeg. Maar nu zit er op z=5 een vlak waarbij de ene ophoudt en de andere begint. Dat levert wel eens problemen op. Dat is tegenwoordig veel minder vaak dan vroeger, maar toch: Het levert zo nu en dan nog steeds "rare" problemen op die lastig te vinden zijn. Dus enige overlap is eigenlijk gewenst.

Dan kom je op:


cylinder (h=5, r=39);
translate ([0,0,5-.1]) cylinder (h=25+.1,r=18.5);

maar ja, dan kan je net zo goed m'n eerste voorstel nemen....

Over $fn: Op de Openscad mailing list kwam iemand met:


$fa = 2;
$fs = .1;

Dit zorgt er voor dat je "over het algemeen" heel aardige cirkels krijgt. Jij maakt nu altijd "veertig-vlakken", soms is dat veel te veel, en Paulinha_B vind dat weer "weinig".

Als het goed is krijgt een 3mm cylinder met mijn instellingen dus genoeg vlakjes dat je het op de 3D printer niet kan zien dat ie niet rond is. Maar lang niet 180 die Paulinha_B voorstelt. (dus sneller).

[Bericht gewijzigd door rew op (22%)]

Thanks, dat helpt.
Ze krijgen inderdaad het zelfde grondvlak

Kom op kerel, nu wel laten zien wat het geworden is, he.

Hij staat te printen nu.

[Bericht gewijzigd door bprosman op (48%)]

Iets kleiner dan het origineel maar dat was ook de bedoeling.