Op 23 januari 2018 12:47:44 schreef Arco:
Het zal aan mij liggen (ik ben geen ster in dit soort tekenwerk... ), maar ik begrijp niet wat je precies bedoelt...
Bij mij trekt zo'n grote platte print altijd los van het bed. Dus dan maak ik er een extra "brim" aan, met van die rondjes. Gewoon die twee regels van mij aan het eind van je .scad file toevoegen en je krijgt twee flappen er aan die je net als je brim er even af moet halen voordat je je print ingebruik neemt.
Ik weet dat sommige blokken in difference() exact worden afgetrokken, maar dat is toch ook de bedoeling? (of moet ik ze aan de buitenkant groter maken?)
Ja. De huidige versie van openscad is VEEL beter dan vroeger, maar het speelt nog steeds.
code:
difference () {
cube ([20,10,10]);
translate ([10,0,0]) cube ([10,10,10]);
}
laat vijf vlakken van de eerste cubus staan. Op dat punt weet de software niet altijd zeker of een snijlijn eerst van binnen naar buiten is gegaan of van buiten naar binnen.
Reprapworld heeft een ding op github staan waar ze effectief:
code:
difference () {
cube ([30,30,6]);
translate ([10,10,2])) cube ([5,5,5]);
}
hebben gedaan. Op de een of andere manier is dat in de STL gekomen met ook nog de vlakken van de [5,5,5] cubus er in. De slicer heeft toen besloten om NIET het bedoelde uitgesneden stuk te maken, maar WEL het stuk van de 555 cubus die boven het ding uitsteekt.
In dit voorbeeld hebben ze NIET openscad gebruikt, maar wat anders. Maar met openscad blijf je het risico lopen dat ie ook een keer binnen en buiten door mekaar haalt en dat je wat anders krijgt dan bedoeld.
Bij mij is de hint dat je van die vliesjes ziet:
Die springen uit-en-aan afhankelijk van de exacte hoek waaronder je kijkt.
Wat doet die code die je toevoegt exact daaraan? (ik hier zie trouwens geen losse pixels in openscad of cura...
De extra code van mij is alleen "blijft beter plakken aan het bed". Doet nog niets met jou: "de randen van het object en wat er weggesneden wordt vallen samen".
Het gebruik van rotate() is trouwens ook wat wazig. Schijnbaar is dat niet alleen de Z-hoek, maar heeft ook invloed op de positie t.o.v. het 0,0,0 punt...
rotate ([hoek, 0, 0])_ roteert om de X as.
rotate ([0, hoek, 0])_ roteert om de Y as.
rotate ([0, 0, hoek])_ roteert om de Z as. Kan verkort worden tot rotate (hoek);
Geen verplaatsingen, alleen rotatie om de genoemde as.
Als je meer dan 1 niet-nul opgeeft bij het roteren, dan ZOU ie twee verschillende dingen kunnen doen. 1) dat is roteren om de opgegeven vector. 2) eerst om Z, dan om Y dan om X roteren.
Volgens mij doet ie dat laatste. Ik gebruik het nooit. Wiskundig is dat eerste mooier (maar lastiger te implementeren). In de praktijk dat tweede mogelijk handiger.