[ Megoldva ] Fura Cura

Fórumok

Ki akartam próbálni a precízebb 3D nyomtatást 0.4-es nozzle helyett 0.2-essel.

A nyomtatóm már a szoknya nyomtatása alatt fura hangokat adott, és a filamentet továbbító fogaskeréken is látszott, hogy elég gyorsan forog, miközben a szál már nem mozdul. A fém fogak pillanatok alatt kimarták a filamentet, így nem tudták továbbítani.

A Cura legfrissebb 5.7.0-ás változatát használom.

Ugyanahhoz a tárgyhoz generáltam mindkettővel G-kódot, és megnézem, mi a különbség a két kód között.

A szoknya nyomtatása 0.4 esetén így kezdődik:

;TYPE:SKIRT
G1 F300 Z0.2
G1 F6000 E5
G1 F1200 X145.808 Y149.741 E0.04641
G1 X146.356 Y149.362 E0.02
G1 X147.12 Y148.881 E0.0271
G1 X148.242 Y148.308 E0.03782
G1 X149.216 Y147.92 E0.03147
G1 X150.313 Y147.595 E0.03434
G1 X151.678 Y147.336 E0.0417
G1 X152.249 Y147.266 E0.01727
G1 X153.475 Y147.179 E0.03689
G1 X154.68 Y147.158 E0.03618
G1 X175.701 Y147.158 E0.63099
G1 X176.66 Y147.174 E0.02879
G1 X177.74 Y147.244 E0.03249
G1 X178.806 Y147.409 E0.03238
G1 X179.825 Y147.66 E0.0315
G1 X180.862 Y148.014 E0.03289

Mindez 0.2-es nozzle esetén így néz ki:

;TYPE:SKIRT
G1 F300 Z0.2
G1 F2700 E0
G1 F1800 X146.769 Y151.117 E0.0192
G1 X147.244 Y150.786 E0.02789
G1 X148.035 Y150.288 E0.04192
G1 X148.834 Y149.877 E0.0554
G1 X149.733 Y149.513 E0.06996
G1 X150.612 Y149.246 E0.08375
G1 X151.921 Y148.996 E0.10375
G1 X152.421 Y148.934 E0.11131
G1 X153.515 Y148.855 E0.12777
G1 X154.677 Y148.835 E0.14522
G1 X175.682 Y148.835 E0.46047
G1 X176.568 Y148.846 E0.47377
G1 X177.499 Y148.902 E0.48777
G1 X178.388 Y149.034 E0.50126
G1 X179.333 Y149.262 E0.51585
G1 X180.278 Y149.585 E0.53084

Meglepett, hogy bár a 0.2-es esetén az E után általában jóval nagyobb számok vannak, mégis az F értéke is nagyobb. Összességében tehát gyorsabban és több anyagot kellene kinyomni 0.2-es nozzle esetén. Én meg pont az ellenkezőjét várnám, azaz, hogy finomabb nyomtatáshoz kevesebb anyagot nyom ki.

Rendben van ez így? Nekem úgy tűnik, a generált kód nem jó. Ez persze nem valószínű.

Az azonban tény, hogy így nem tud nyomtatni a nyomtatóm. Valószínűleg én nem értek még mindent, de nekem nem áll össze a kép, nem tudom, mi a probléma forrása, azt meg végképp nem, hogy hogyan tudnám orvosolni.

Megoldás:

A cura abszolute extrusion módban generálta a kódot, de a start g-code relative módra váltotta a nyomtatót.

Részletek lentebb.

Hozzászólások

Úgy tűnik, ez mégis egy Cura bug. Most már visszaváltva 0.4mm-es nozzle méretre, és a default Normal minőségű nyomtatást választva is hasonlóan viselkedik.

Kiszedtem a filament szálat a fejből, és látszik, hogy egy pár centis kis tárgy nyomtatása esetén is már a szoknya első rétegének a nyomtatásához is több mint 1m filament szálat tolt ki.

Vagyis ez a 0.2mm-es váltás valamit nagyon átkavart benne. A váltás előtt még normal minőségben normálisan nyomtatott.

Azt hiszem, marad az újratelepítés, ha megtalálom a konfigurációs mappáit. :(

Megvan a hiba forrása. Nem a Cura hibázott, hanem én - mint ez várható volt.

A nyomtatóm két szálas, de egy fejes, és a szálakat cserélgetni kell, ezért az egyik szál benyomása előtt a másikat ki kell húzni, különben összeakadnak.

A Cura képes ugyan nyomtatás közben gondoskodni a szálak előrenyomásáról és visszahízásáról, ha szükséges, de kiinduláskor feltételezi, hogy a szálak jól állnak. Ami igaz is, ha nem kellett nyomtatás közben megszakítani a folyamatot.

Mivel azonban én gyakorló módban vagyok, gyakran előfordul, hogy nyomtatás közben kell leállni. Ekkor véletlenszerűen valamelyik szál marad a fejben. Ezért a Start G-code-ba bele kellett tennem, hogy a nyomtatás megkezdésekor húzza vissza mindkét szálat, majd felváltva nyomja előre, és így álljon alaphelyzetbe. Ehhez azonban relatív módba állítottam az extrúdert. És persze, az általam használt beállításokban is bepipáltam a relatív módot.

Amikor a default módokat használtam, azok ugyan beállították a abszolútra az E tengelyt, de utána az én kódom relatívra váltott. És szegény nyomtató próbálta relatív módban értelmezni az abszolút koordinátákat...

Jó lenne a Start G-code végére tenni egy M82 vagy M83 kódot attól függően, hogy abszolút vagy relatív módra van állítva az E tengely, de sajnos ezt a Cura egyelőre nem teszi lehetővé. Van ugyan egy {relative_extrusion} változója, de ez logikai értékű. A Start G-code azonban nem tartalmazhat IF parancsot, így nem lehet ennek értékétől függően M82 vagy M83-at beletenni. :(

Maga a python kód tartalmaz egy változót, amiben benne van az aktuális M82 vagy M83 érték, az azonban nem elérhető a start g-code előállítása közben ( fdmprinter.def.json ). Így marad a kényszermegoldás: minden esetben abszolút módba kell állítanom az E tengelyt. Egyelőre csak remélni tudom, hogy az ideiglenes relatív mód a szálak pozicionálásához nem fog újabb gubancot eredményezni.