Monthly Archives: July 2017

3D nyomtatás: gyártsunk temp towert!

meséltem már arról, mire való egy temp tower, úgyhogy most csak röviden: a temp tower egy olyan GCODE file, amiben egy meghatározott lépésközzel változik (csökken) a hotend hőmérséklete). A temp towert kinyomtatva a kész modellen jól látszik, hogy hol van az adott nyersanyaghoz szükséges ideális célhőmérséklet. A temp tower készítéséhez két dolgot kell csinálunk: egyrészt meg kell alkotni a modellt, másrészt a modellből generált GCODE fileba bele kell injektálni a hőmérsékletváltó parancsokat. A hőváltáshoz ez a jó kis tempInjector script tökéletes lesz, nekünk csak azt kell tudnunk, hogy a modellünknél hány mm-enként kell réteget váltani. Ezt persze méricskélhetjük is egy letöltött modellen, de minek, amikor van nekünk ingyen OpenSCADünk, amivel legyártathatjuk a tuti modellt:

/*
	parametric temp tower - //fns.pappito.com
	Use tempInjector.py from https://github.com/fablabnbg/tronxy-xy100 to inject temperatures into generated GCODE file.
	tempInjector.py parameters used in this temp_tower.scad file:
	STARTTEMP = temp (240)
	TEMP_INCREMENTS = inc (-5)
	TEMP_STEPS_HEIGHT_MM = z_bridgesole (2)
	BASE_HEIGHT_MM = z_sole (10)
*/
// temp tower steps
temp = 240;
inc = -5;
steps = 8;
// bottom sole:
x_sole = 80;
y_sole = 20;
z_sole = 2;
// pillars with bridge soles
xygap_pillars = 4;
xy_pillars = y_sole - 2 * xygap_pillars;
xygap_bridgesole = 2;
xy_bridgesole = y_sole - 2 * xygap_bridgesole;
z_bridgesole = 10;
// bridge definition
gap_bridge = 1; //
zgap_bridge = 2; // gap between bridge soles
z_bridge = z_bridgesole + zgap_bridge;
xz_support = 6;
y_plank = 8;
z_plank = 2;
union() {
	// tower sole
	linear_extrude(height=z_sole) square(size=[x_sole, y_sole]);
	// left pillar
	translate([4, 4, 0]) linear_extrude(height=steps * (z_bridge + gap_bridge)) square(size=[xy_pillars, xy_pillars]);
	// right pillar
	translate([x_sole - xy_pillars - 4, 4, 0]) linear_extrude(height=steps * (z_bridge + gap_bridge)) square(size=[xy_pillars, xy_pillars]);
	// ladder
	for (i = [0 : steps]) {
		// left bridge sole with numbers
		difference() {
			translate([(y_sole - xy_bridgesole) / 2, (y_sole - xy_bridgesole) / 2, z_sole + i * z_bridge]) leg(); // left
			translate([(y_sole - xy_bridgesole) / 2 + 1, (y_sole - xy_bridgesole) / 2+2, z_sole + i * z_bridge +2]) {
				// title
				rotate([90, 0, 0]) linear_extrude(3) text(str(temp + i * inc), size = 6);
			}
		}
		// right bridge sole
		translate([x_sole - xy_bridgesole - (y_sole - xy_bridgesole) / 2, (y_sole - xy_bridgesole) / 2, z_sole + i * z_bridge]) leg(); // right
		// bridge
		//translate([xy_bridgesole + xygap_bridgesole, 0, (i+1)*z_bridge - 4]) bridge(i);
		translate([xygap_bridgesole + xy_bridgesole, y_sole / 2- xy_bridgesole/2 , (i+1)*z_bridge - 4]) bridge(i);
	}
}
module leg() {
	linear_extrude(height = z_bridgesole) square(size = [xy_bridgesole, xy_bridgesole]);
}
module bridge(i) {
	x_bridge = x_sole - 2 * xy_bridgesole - 2 * xygap_bridgesole;
	x_plank = x_bridge - xz_support;
	// left mount
	rotate([-90,0,0]) linear_extrude(height = xy_bridgesole) polygon(points=[[0, 0], [xz_support,0], [0,xz_support]]);
	// right mount
	translate([x_plank,0,0]) rotate([-90,0,0]) linear_extrude(height=xy_bridgesole) polygon(points=[[0, 0], [xz_support, xz_support], [xz_support,0]]);
	// bridge
	translate([(x_bridge - x_plank)/2, (xy_bridgesole-y_plank)/2, 0]) linear_extrude(height=z_plank) square(size=[x_plank, y_plank]);
}
A scriptet viheted githubról. Update #20170828: Lajos a fentiek alapján nekiállt temp towert hegeszteni és a tapasztalatai alapján az alábbiakkal egészítette ki a fenti leírást:
  • 2.x-es Phyton kell a scriptnek, mert a 3-as már másképp kezeli a print utasítást
  • Python 2.x Windows installnál jelöljük be, hogy rakja be a patch-ba a phytont (a kezdők nem értenek ennyire a géphez és nem fogják tudni miért nem fut):
  • így futtassuk parancssorból: python tempinjector.py input_file.gcode output_file.gcode initial_temp temp_step element_height_mm [start_height_mm]
    példa: python tempinjector.py AA2_temp_tower_240-200C.gcode AA2_temp_tower_240-200C.gcode.new 240 -5 10
]]>

3D nyomtatás: Anker Astro E1 powerbank övtok

Anker Astro E1 egy 5200 mAh kapacitású, könnyű, kompakt kis powerbank, viszont ennek ellenére utálom zsebben vagy táskában cipelni, mert ott nem áll menet közben kézre. Ezért aztán csináltam hozzá egy klipszet, amibe fejjel lefelé és felfelé is hordható és pont kompatibilis a 40 mm magas, vastag 5.11 Tactical nadrágszíjjal is: A modellt szedheted a youmagine.com-ról.]]>

3D nyomtatás: tárgyfotózás az íróasztal alatt

IKEA TUPPLUR roló, amiből van fehér, fekete, szürke, ráadásul egy csomó méretben. Ilyenkor kimegyek a konyhába, lerámolok mindent a munkaasztalról, kihurcolom a lámpákat és az állványokat a gadget szekrényből, kihordom a TUPPLUR rolóhoz kitalált, PVC csövekből szerkesztett tartókonzolt és huss, már kezdődhet is a fotózás – de persze csak akkor, ha nem akarok tethered shootingot csinálni, mert akkor még egy notebookot is ki kell cipelnem, drótostól. Persze megoldás lenne, ha a TUPPLUR rolót felfúrnám a dolgozószobában a falra, de egyrészt a jelenlegi munkahelyem túl pici ehhez, másrészt a tulaj nem biztos, hogy nagyon örülne, ha felszerelnék a falra egy rolót. Egy ideje már piszkált a dolog, hogy hogy tudnék ezen egyszerűsíteni, aztán múltkor beheveredtem az íróasztal alá kábeleket rendezgetni és azzal a lendülettel jött is a szikra: az íróasztal végébe kellene szerelnem a TUPPLURt megtartó konzolt és egy millió bajom egycsapásra megoldódna:

  • a roló mindig ott maradhat az állványon és sosem lesz útban – bármikor 2 másodperc alatt munkakész
  • a 160 centi széles munkaasztal alá simán befér a 100 cm-es darab, azaz nem is kell nagyon kompromisszumokat kötnöm, mert őrült sok helyem lesz
  • az asztal aljában és két oldalt mellette nyüzsögnek a konnektorok, így bárminek tápot adni egy mozdulat, anélkül, hogy a fotó elkészítése előtt és után drótokat kellene pakolásznom
  • az asztallap alja tökéletesen megtart majd egy fényvisszaverő lapot is a szép szórt fényhez, nem kell túl sokat mekkMesterkednem ahhoz, hogy még azt is felfüggesszem
  • mindkét computer karnyújtásnyira lesz a setuptól, így a tethering is pipa – ráadásul ott az asztalon az irgalmatlan méretű, kalibrált monitor, amitől nem létezik jobb megoldás arra, hogy pontosan lássam az elkészült kép részleteit
  • az állványok, lámpák, csipeszek, fényterelők és minden más szükséges bigyó ott van másfél méterre a gadget szekrényben
  • ha ügyes vagyok, akkor megoldom, hogy egyszerre fel legyen függesztve a fekete és a fehér vászon is
Ennyi endorfin után elég rövid út vezetett ide: Az asztal alján két darab IKEA SIGNUM kábelrendező lakik, akiket nem szoktam nagyon szeretni, de most igencsak megörültem nekik, ugyanis így, hogy ott vannak, nem kell megfurkálnom az asztalt, elég ha olyan kampókat tervezek, amiket a SIGNUM megtart: Az első próbálkozások ilyenek lettek élőben (először egy lengő horgot csináltam, aztán azt gondoltam, hogy jobb lesz, ha kicsit fixebben áll: Végül a dupla horgos megoldás lett az optimális, ami egyszerre tartja a fehér és a fekete vásznat is: A horgok belső átmérője 25 mm, szóval akár vastagabb rudat is felakaszthatsz rájuk. Ha kedved kaptál, a modelleket szedheted a youmagine.com-ról. ]]>

Péter Japánban

megírtam májusban, hogy Péter nekiindult Kagoshimától Wakkanaiig bejárni Japánt gyalog és erről menet közben posztol néhány csodálatos képet, amik mellett külön élményszámba mennek a kommentjei. A mai utolsó fotó alapján Péter kb. félúton járhat: Ha a Google Maps által felajánlott, gyaloglásra optimalizált utat járná be a maradékból, akkor még legalább 1250 km van neki hátra, ami alatt több, mint 11000 méter szintkülönbséget kell leküzdenie: Nem tudom meddig tart még az út de egyfolytában ezerrel drukkolok neki és alig várom, hogy célba érjen, kipihenje magát, iderepüljenek Natival és megint legyen az, hogy sok jóból jó sokat™!]]>

3D nyomtatás: mese a retractionről

Mi az a “retraction”? A retraction arra jó, hogy amikor a nyomtató a nyomtatás során a hotendet a printerünk A-ból B-be úgy mozgatja, hogy közben nem kell a fejnek műanyagot lepakolnia, akkor az olvasztófejünkből valóban ne jöjjön az olvadt műanyag. Ha jön, akkor találkozunk szembe az oozing (=szivárgás) vagy stringing (~=szálasodás) buzzwordökkel – mindkettő ugyanazt jelenti. Én magyarul azt mondanám a jelenségre, hogy “szőrös modell” – ebből rögtön érteni fogod, miről beszélek: Szóval stringing/oozing alatt azt értjük, amikor a fejből akkor is jön az olvadt nyersanyag, amikor a fejet A-ból B-be mozgatjuk anélkül, hogy anyagot tennénk le. Ha nem használunk retractiont, akkor “A” pontban az extuder megáll, a hotend elindul és elmegy “B” pontba, ahol az extuder újra elkezd anyagot nyomni a hotendbe. Amikor a hotend “A” pontban elindul, a nozzle végében levő olvadt anyag odaragadva az “A” ponthoz egy egyre vékonyodó “szőrt” húz a modellünkön. A retraction minden hiedelemmel ellentétben nem fogja kirántani az olvadt nyersanyagot a nozzle belsejéből, hanem csak megszünteti az olvadékra ható nyomást, amit a felette levő még merev műanyagszál gyakorol rá. A slicer szoftverekben a retraction három paraméterét tuningolhatjuk általában:

  • távolság (distance): hány mm-t húzódjon vissza a szilárd nyersanyag. Ez 1-5 mm közötti érték szokott lenni, bár nálam a Prusa i3 MK2 direkt extrudere már 0.8 mm-rel jól érzi magát.
  • sebesség (speed) : hány mm/s sebességgel történjen a visszarántás. Nem szabad se túl lassan, se túl gyorsan csinálni – én 35 mm/s értékre lőttem be.
  • emelési távolság (lift): retraction előtt mennyire emelkedjen el a fej a nyomtatási síktól. Ezt sem kell az egekbe tornászni, 1-2 layernyi emelés bőven elég. Nálam 0.5 mm-re van beállítva, ez 0.2 mm-es rétegeknél is kicsit több, mint 2 rétegnyi.

Kalibráljon filamentet temp towerrel Ön is!

Mielőtt a retraction beállításokat piszkálgatod, az adott nyersanyaghoz optimális hőmérsékletet érdemes belőni. Ehhez vagy azt játszuk, hogy egy viszonylag apró modellt különböző hőmérsékleteken kinyomtatunk egymás után, vagy megoldjuk az egészet egyben úgy, hogy nyomtatunk egy “temp towert”. A temp tower egy olyan modell, ami Z blokkonként más hőmérséklettel készül, az adott célhőmérsékleteket a kinyomtatott modellen egy felirat jelzi és így szemmel könnyen megállapítható a nyersanyaghoz való optimális nyomtatási hőmérséklet: Egy bárki által gyártott temp towert pusztán STL modellként letöltve persze nem vagy még kész, hiszen azt, hogy melyik réteg milyen hőmérsékleten készül el a slicer szoftvered fogja definiálni a nyomtatónak gyártott GCODE fileban. Miután a legszimpatikusabb temp tower modellt betöltöd a slicerbe, rá kell venni azt, hogy X rétegenként váltson hotend hőmérsékletet. Ezt persze megtehetjük kézzel is, de tegye fel a kezét az, aki látott már scriptet közelről és nem bízná ezt inkább valami automatára! Persze most megírhatnánk magunk is a GCODE-ba hőváltásokat injektáló scriptet – de minek, ha helyettünk megcsinálta ezt már más. Szedjük le fablabnbg github oldaláról a tempinjector.py scriptet, töltsünk le vagy fabrikáljunk egy temp tower modellt, gyártassunk a kedvenc slicerünkkel GCODE-ot a temp tower STL fileunkból, majd injektáltassuk bele a hőváltásokat imígyen (ez egy Python script, úgyhogy egy Python interpreter persze nem árt alá :)):
tempinjector.py sourcefile.gcode targetfile.gcode STARTTEMP TEMP_INCREMENTS TEMP_STEPS_HEIGHT_MM BASE_HEIGHT_MM
A fenti paraméterek jelentése:
  • sourcefile.gcode: a forrás GCODE fileunk
  • targetfile.gcode: a cél GCODE fileunk
  • STARTTEMP: hány ℃-tól induljon a temp tornyunk gyártása
  • TEMP_INCREMENTS: hány ℃ értékkel változtassunk minden egyes lépésnél a hotend hőmérsékletén
  • TEMP_STEPS_HEIGHT_MM: hány mm magas egy elem a temp toronyban
  • BASE_HEIGHT_MM: hány mm magas a torony talpa
A tempinjector.py ezután legyártja az új GCODE-ot, amit már csak ki kell küldenünk a printernek. A temp tower nyomtatása után azonnal látszani fog az adott anyaghoz való optimális hőmérséklet – szánSájn, tibiCsoki, wörldPísz!]]>

AussieLand: Darwin

AbOriginal art #2 – figyeljük meg a krokodil hasának belsejét: Növényes pad: Madárles a Territory Wildlife Parkban (ha erre jártok, ezt a helyet ki ne hagyjátok!): Illegálisan kitermelt óriáskagylók héjából készített emlékhely: A krokodilok “7. érzékszerve” – a kis búbokkal érzi meg a víz rezdülését: Krokodilmentes fürdőhelyet jelölő tábla (csak úgy errefelé nem mehetsz be a vízbe, mert könnyen kaja lesz belőled): Egy ~6 méteres sósvízi krokodil állkapcsa – a felső állkapocs már az önsúlyától záródva, izmok nélkül is erős fájdalmat vált ki, ha bennehagyod a kezed a szájban: A helyiek kiülnek naplementekor borozgatni a partra a Cullen baynél: Didgeridoo bolt a Mindil beach melletti esti piacon: Haletetés az Aquascene nevű turistacsapdában (ezt kerüld el messzire): Termés: Kötött reef (bárki meglephet egy ilyennel): Rendesebb gyík, aki csak akkor dermedt mozdulatlanra, ha videózni kezdtük: Masszív apály (errefelé ~10 méter az árapály ingadozása): A boldogság 3 komponenséből (=jég a fogáshoz és a sörhöz, csali, gáz a barbihoz) az egyik elfogyott: Lekopaszodott pálmatörzs: Pelikán eszik: Termeszvár – kemény, mint a csont: Tesla töltőfejek egy noname olcsó motel parkolójában: A II. világháború alatt olajtartálynak épített alagutak egyikének belseje: Wallabi simizés: Vízesés #1: Vízesés #2: ]]>

3D nyomtatás: beszéljünk a szoftverekről

Slicerek Az 1.0-s 3D printer felhasználót eléggé tudja sokkolni a slicerek őrült mennyiségű paramétere, amiket nekünk látszólag mind tekergetnünk kellene. A valóság azonban az, hogy ettől ma nem kell rettegni, különösen akkor nem, ha olyan printert választunk,

  • amelynek a gyártója támogatja az általunk használni kívánt slicert – ez esetben a gyártó jól felfogott érdeke, hogy az adott slicer szoftverhez finomra hangolt beállításokat szállítson
  • amelyik körül elég nagy az aktív felhasználói közösség – majd a csapat kikóserolja a megfelelő setupot!
Persze ez nem azt jelenti, hogy a slicerek használhatatlanul, nulla alapkonfigurációval érkeznek, hanem sokkal inkább azt, hogy mi segíthet nekünk abban, hogy egy adott slicer az imádott printerünkre optimalizálva dolgozzon. A legtöbb slicer app épp a sokkoló mennyiségű paraméter miatt kínál basic és advanced módú működést, a basic módban elrejtve a paraméterhegy nagy részét. A Slic3r ezt Simple/Expert módnak hívja, a Cura Basic/Advanced módnak, a Simplify3D pedig egy Show/Hide Advanced gombbal igyekszik megóvni az infarktustól. Ez utóbbit megmutatom, hogy ne aludj be a text-only poszt miatt – így néz ki a szimpla config: Ez pedig az advanced mód (a zöld nyilak mind újabb paraméterzuhatagot nyitnak :)): A slicerek paramétereinek csak egy része gépfüggő, azonban amikor nyersanyagot váltunk, akkor az anyagfüggő paramétereken is változtatni kell. Az egyes nyersanyagfajtákhoz is léteznek anyagfüggő default beállítások, ám ezek anyagminőség-függőek, azaz gyártónként némileg változhatnak (ezért van az, hogy az egyes nyomtatógyártók bizonyos, általuk is kipróbált/használt nyersanyagforrásokat javasolnak a printereikhez). A nyersanyagok paraméterezésénél az hotend és a tárgyasztal hőfokán túl a nyomtatott testet hűtő ventillátor sebességét definiálhatjuk, illetve esetleg az extrudálás általános sebességén tekerhetünk, ha túl alacsonynak / túl nagynak éreznénk az anyagáramot. A hotend/tárgyasztal hőmérsékletét rendszerint külön definiálhatjuk a legelső és az összes többi rétegre (a Simplify3D akár rétegenként hagy ezen változtatni, de szinte sosincs szükség). Ennek az az értelme, hogy az első rétegnél a nehezebben tapadó anyagok (mint pl. az ABS) esetén érdemes kicsivel magasabb hőfokú nyersanyagot kicsivel magasabb hőfokú tárgyasztalra nyomtatni, hogy az első réteg tapadása kellően erős legyen. Persze rögtön jön a kérdés, hogy miért nem hagyjuk végig magasabb hőmérsékleten, amire a válasz az, hogy egyrészt a lágyabb anyaggal kevésbé precízen dolgozhat a printer és szinte biztos, hogy produkálni fogja az utálatos “stringing” hibát a nyomtatott modellünkön, másrészt a túl meleg tárgyasztal és nyersanyag a jellegzetes “elefánttalp” nyomtatási hibát okozza a printelt testeken. Summa summarum, nekünk nagyjából a két hőmérsékletet kell jóra belőni. Szerencsére ehhez is van kismillió mankónk, elég mondjuk a “temperature” szóra rákeresni a Thingiverse-en és már jön is az ezernyi kalibrációs GCODE, amivel precízen belőhetjük az adott nyersanyagunkat. Én az eSUN nyersanyagokkal az alábbi értékeket használom és nincs velük probléma: ABS, 1st layer, hotend: 255 ℃, bed: 105 ℃ ABS, other layers, hotend: 245 ℃, bed: 100 ℃ PLA, 1st layer, hotend: 215 ℃, bed: 55 ℃ PLA, other layers, hotend: 190 ℃, bed: 55 ℃

Autodesk Fusion 360

A Fusion 360-nal kapcsolatban érdekes módon ritkán kapok olyan kérdést, ami a konkrét használatával lenne kapcsolatos (lehet, hogy Fusion tutorialokat kéne csinálnom és akkor megindulna a dolog :)), de az szinte mindig azonnal jön, hogy “hogy éri meg az Autodesknek, hogy ez a cucc oktatási ÉS hobbi célra ingyenes?”. Elmondom, mit gondolok erről. Az Autodesk Fusion 360 egy igazi vadállat, nagykorú terheléses szimulációval, CNC vezérléssel, sheet metal modellezéssel és olyan helyi vagy akár brutálisan durva teljesítményű cloud renderinggel, hogy lefosom tőle a lábam. Ezzel együtt még gyerekcucc, nagyon sok buggal, de hihetetlen ígéretes szoftver. Ha munkára használnád, az évi 300 USD-ba fájna, az ingyenes educational/enthusiast licensz meg évente egyszer szól, hogy még mindig ingyen kéred-e oszt jónapot. A forever ingyenes licenszt egyébként tényleg komolyan mondják, itt van a “Free for startups, hobbyists, and enthusiasts” duma alatt a kis info ikonnál egy erre vonatkozó szöveg ezen a free trialra mutató linken. Valahol van a weben egy videó is, ahol az Autodesk CEO kiáll és elmondja explicit a kamerákba, hogy ez így is marad, mert ők szeretik a népeket meg wörldpísz. A Fusion legnagyobb konkurrense az iparági standardnek számító Solidworks, amit a gyártója a mai napig nem hozott ki (és büszkén hirdeti úton-útfélen, hogy nem is tervez kihozni) Windowson kívül más OS alá. Az Autodesk ezt jól meglovagolja, nekiálltak megcsinálni Windows és OS X alá is a saját (64 bit only) szilárdtest modellező cuccukat, ami cloudban tart minden adatot és azonnal írni kezdték hozzá iOS-re és Androidra a viewer appot is. A full cloud app mellé jól odafér a csilliárdféle collaboration tool, amivel tényleg brutális mértékben haladnak, bár én ugye ezt senkivel nem használom ki, max. Roli nézegeti a CL3D modellt odafent 🙂 BTW az igazi rúgás az lesz majd a nagy konkurrensbe, amikor az alfa állapotból kieresztik majd a browserben futó Fusion 360-at a felhasználók kezeibe, ahogyan azt a júniusi changelogban megszellőztették… A csavar szerintem ott van, hogy minden pro CAD mocskos drága és így kb. csak azokból lesz a community, akik ezek használtatát alsó hangon egyetemen tanulják, míg a Fusion 360 esetében ott a rengeteg, nagyon nem lebecsülendő hobbista népek, akiknek sokszor nagyon jó ötleteik vannak, meg hát ugye a sokkal nagyobb mintából sokkal jobb lehet a merítés is. A Fusionhöz 2-3-4 hetente jön újabb update, a fejlesztők a saját roadmapjük mellett hihetetlen aktívan figyelnek a felhasználóikra és kérik ki a véleményüket / ötleteiket. Ehhez gründoltak egy IdeaStation nevű fórumot, ahová tolhatod a saját elképzeléseidet, illetve szavazhatsz mások ötleteiről is. Hogy mennyire komolyan veszi a gyártó ezt a fórumot, azt jól mutatja az IMPLEMENTED státuszú ötletek listája. Summa summarum, a Fusion 360 brutálisan hatékony eszköz, amivel minden hibája ellenére nagyon nagy élmény dolgozni, olyannyira, hogy ha most valaki olyan munkát ajánlana, amiben Fusion 360-nal kell modellezgetni, nem sokat gondolkodnék 🙂 Remélem ez elég meggyőzően hangzott ahhoz, hogy macskás videók helyett menjél azonnal Fusiont tanulni!-) ]]>