RE: OpenScad a spirála

Pavel Hudecek edizon na seznam.cz
Pondělí Listopad 22 23:47:23 CET 2021


Zajímavý je, že s tím hull se mi to nějak vždycky rozaplikovalo všude a vznikl z toho placatý prstenec, přičemž po zakomentování hull byla spirála z kružnic. Tak jsem se vykašlal na dokonalost a udělal to z válců. Kdyby někdo chtěl, tak tady je výsledná funkce:

// translate Z, D, d, stoupani, uhlova velikost, uhv segmentu, uhlova pozice zacatku
module spiralaT(tr, D, d, st, uhv, uhvs, upz) { // spirala
    stu = st/360;
    vel = uhvs/360 * PI*D *1.25;
    for (u = [0: uhvs: uhv-uhvs]) translate([0, 0, tr]) {
        rotate([0, 0, u+upz]) translate([D/2, 0, stu*u]) 
            rotate([-atan(st/d/PI), 0, 0]) cylinder(d=d, h=vel, center=true, $fn=d*6);
    }
}

Příklad:
spiralaT(0, 50, 5, 50, 720, 2, 0);

PH

Od: Petr Simek

On Sun, 21 Nov 2021, Pavel Hudecek wrote:

> Chtěl bych klasickou válcovou spirálu, jako je pružina.

> Když zkusím for cyklem vyrobit hromadu kuliček, tak to funguje. Ale to 
> je pomalé už při náhledu, pokus o render v ne moc velké kvalitě trval 
> hodinu. Líp by to vyšlo s méně kuličkami a spojit přes hull, jenže ten 
> pak ještě spojí začátek a konec:-)
>
> Nějaká třetí cesta?

For cyklus od nuly do n-1 a vzdy nakreslite v hull segment n a n+1 .
Nejlip kruznici, kulicka je vypocetne slozitejsi. A podle hrubosti
cyklu a $fn kruznice bude vysledek umerne hladky.

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20211122/ffec9e94/attachment.html>


Další informace o konferenci Hw-list