Category Archives: 3d print

3D nyomtatás: Prusa i3 MK3 verdikt

Prusa i3 MK3 printerüket. Elkezdtem egy jó hosszú posztot írni még a múlt héten, aztán jött Tom és végre két igazán geekeknek készített interjúval feleslegessé tette a sokezer szavas bejegyzésemet. Íme: A tech adatok alapján első ránézésre összerakták a közel tökéletes maker printert. Nekem a Nirvánához mindössze két dolog hiányzik: az egyik a kábelek kíméletes mozgatását lehetővé tevő filléres kábelvezetők, a másik a printerhez könnyen illeszthető zárt hőkamra. A kábelvezetőhöz csak az elektronika házára, a heated bed végére és az extuder kocsira kell applikálni egy-egy felfüggesztési pontot, a zárt hőkamrához pedig ki kell fordítani 90°-ban a tápegységet és az elektronikát a Z váz síkjából és már lehet is dobozolni a gépet némi akrillal.

Verdikt

Nem nagyon tudok mit hozzátenni, a srácok a fejemben levő (egyébként szőrszálhasogatóan extenzív) 3D printer checklistát végigpipálták, sőt rátettek egy csomó olyan dolgot, amik álomszerű kategóriába emelik ezt a gépet (PINDA w/ thermistor, power resume w/o batteries, endstop detection based on stepper current changes, filament jam detection, podwer coated bendable spring steel PEI buildplate w/ magnetic mount, …). Emelem a kalapom a fejlesztők előtt, csodálatos eszközt alkottak. Ha 3D printert keresel, van rá 750 USD-d és inkább Maker vagy, mint divatmajom (~=többet ér a szemedben a funckionalitás, mint a design), akkor ma szerintem ez a legjobb választás. Vége a posztnak, menjél már rendelni! ]]>

3D nyomtatás: hex bit bigyó

Annyira imádom ezt az új Fusion 360 featurét, amivel a vezérlő sketch méreteit ki lehet vezetni és sketch edit nélkül is bele tudok nyúlni a dimenziókba plusz olyan szép lesz tőle az egész, mintha nem egy kétbalkezes üzemmérnök kendácsolta volna a cuccot: Persze ha az Autodesk hallgatna az eFire, már rég custom színűek lennének a sketch vonalak és akkor mennyivel szebben elválnának a modelltől. STL, F360 file szokás szerint youmagine.com-on.]]>

3D nyomtatás: eldobom az agyam!

Ez volt a modell: Az agynyomtatásról Orosz Péter barátom írt már korábban, most csak annyi volt a különbség, hogy 1:1 méretben printeltem, hátha így érdekesebb lesz kézbe fogni az ereményt 🙂 Mindehhez kellett Gergőék MRI-je, Gergő tudása, amivel a voxeles scanből STL file-t generált, egy kis Meshlab kifordítgatni a hibás irányú háromszögeket, egy Simplify3D a könnyen leválasztható support generálásához, fél kiló fehér PLA és 48 óra türelem. ]]>

3D nyomtatás: mini Arca Swiss talp

studioneat.com 2. generációs foglalata, az új Glif biztonyult a non-plus-ultra megoldásnak. A telefonos miniállvány keresésből majd szülök egy külön bejegyzést, most inkább műanyagozunk. Szóval meglett a Glif, habkönnyű, atomstabil, imádnivaló kis állvány, de még egy dolog hiányzott róla – ez pedig a gyorscseretalp. Van rajta 3 darab (!) 1/4-20″-as UNC foglalat, így nem gond rátekerni egy bármilyen talpat, én azonban azt akartam, hogy

  • Arca Swiss kompatibilis legyen, mert minden cuccom ilyen
  • olyan keskeny legyen a talp, amennyire csak lehet
  • a lehető legkönnyebb maradjon a frappáns kis foglalat
  • bármikor gyorsan leszedhessem és áttehessem a Glif talpáról az oldalára, hogy a telefont portrait állásban is befoghassam vele egy Arca Swiss satuba
Nekiálltam keresgéli, 15 USD alatt nem találtam Kínából sem olcsóbban ilyet, ráadásul
  • a tartósság jegyében mindenki alumíniumból gyártja ezeket a talpakat, ami persze nem baj, de jelen esetben a ~200 grammos telefonnál tök felesleges és ráadásul egy csomó plusz súlyt jelent
  • a talpak jó részén az állványcsavar tekeréséhez imbuszkulcs, csavarhúzó, vagy legjobb esetben egy pénzérme kell
  • szinte minden talp túlméretezett disznó ahhoz képest, amit én akarok
Sebaj, pont van itt egy gép tőlem karnyújtásnyira balra, ami műanyagból megcsinál bármit, amit mondok neki, úgyhogy lett egy sok ilyen: A kis bigyó aljába persze be kell tekerni egy 1/4-20″ UNC csavart, aminek ideális esetben van egy füle, hogy ne kelljen szerszám a tekeréséhez, valahogy így: Ha fotóbuzi vagy és/vagy megtetszett a cucc, akkor a modellt szedheted a youmagine.com-ról.]]>

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
]]>