12:38:39 #startmeeting Keynote from lulzbot 12:38:39 Meeting started Sat Aug 10 12:38:39 2013 UTC. The chair is nb. Information about MeetBot at http://wiki.debian.org/MeetBot. 12:38:39 Useful Commands: #action #agreed #halp #info #idea #link #topic. 12:38:41 #chair mizmo 12:38:41 Current chairs: mizmo nb 12:39:18 * nb fixed it mizmo 12:39:24 thanks nb :0 12:39:26 :) 12:40:15 (... slide issues) 12:48:14 Good morning everybody 12:48:19 thank u for having me here today 12:48:30 when i first wrote this i didnt expect to meet half you inb the first day 12:48:33 its been a wonderful exp 12:48:37 youve all been friendly and welcominging 12:48:40 ive have a blast so far 12:48:51 the printer got damaged by the baggage clerks at the airport 12:48:56 i had to epoxy on a prat 12:48:59 part 12:49:01 so it might snap off 12:49:10 some of you are unfamiliar w who i am what i do and the company i work for 12:49:17 how it relates to fedora 12:49:21 i'm aeva, hello 12:49:46 lulzbot is a hw community, got involved 3d printing from a relative outsider pov 12:49:49 bring in programmers and designers 12:50:01 would like to have a 3d printing session but there might not be time 12:50:06 lulzbot & libre hardware 12:50:13 lulzbot produces and sells libre hardware... reprap style 12:50:21 internal interest to expand to manufacture other hw 12:50:24 current focus is 3d printers 12:50:30 takes pride in being a good community member 12:50:40 building materials and source files for all custom parts in printers are open source 12:50:53 everything standardized product, but if not standardized it's libre hardware 12:51:06 libre hw, the hw equiv to libre sw 12:51:18 all originally developed by 3d printing community itself, none behind closed doors 12:51:31 lulzbot first hw company get fsf recognition, 1st 3d printing co to do so 12:51:50 lulzbot offers discounts to edu institutions, and been known to donate printers to ppl and orgs doing good work in community 12:51:59 given 3 printers to various hacker spaces to improve access to emerging tech to communities 12:52:14 gave printer to ? who then expanded tech to allow debugging models 12:52:27 we gave a 3d printer to red hat, which went to tom 12:52:41 who is part of community, responsible for packaging most of the 3d sw we use 12:53:08 as such, thank you tom (for fixing tech issues with preso) 12:53:19 libre alternatives to 3d sharing tools 12:53:24 this is how i got involved, on this alternative 12:53:31 most of my coworkers' backgrounds are in other disciplines 12:53:34 i'm the only sw engineer 12:53:43 i have a secret agenda i'm hoping to accomplish in this talk and during the rest of the conf 12:53:57 everyone here in this room has valuable skillsets that the libre hw community needs more of 12:54:11 the comm populated by the sort of ppl who enjoy and make hw 12:54:19 fantastic hw only goes so far without good sw 12:54:26 both only go so far without a great user interface 12:54:36 would like to convince some of you to join libre hw movement 12:54:40 two main barriers to contrib 12:54:42 1) access to tools 12:54:46 2) psychological 12:54:53 back in 2006 when i first heard about 3d printing (reprap) 12:55:00 reprap hadn't accomplished anything 12:55:08 candyfab existed... carmelized sugar printer 12:55:20 an inspiration to me to start learning about 3d printing 12:55:23 i was finishing up college 12:55:26 no means to buy any machinery 12:55:33 not much existed tha ti could afford 12:55:39 but i was fascinated with 3d printing for art making 12:55:48 was able to put together an opengl script to create cross sections of a model 12:55:52 so i could print them out on paper 12:55:55 put on a thicker substrate 12:56:03 then glue together to produce a physical object 12:56:10 call this process '3d print making' 12:56:14 my background is in writing sw, not hw 12:56:19 im not particularly great at math either 12:56:27 i know what i taught myself as i needed 12:56:30 the scale of the prints is wrong 12:56:40 it didn't use real world measurements (my scripts) - i threw it together in a weekend 12:56:44 there are two barriers, hw and psychology 12:57:06 most folks i know, with the exception of ppl playing with cnc machines for 40 years... decide it didn't matter they didn't have the hw, they would write the sw 12:57:14 but most of the sw hard to test without an attached printer 12:57:20 anyways in 2010 i was jonesing for a real printer 12:57:25 my local hackerspace was running a workshop 12:57:31 makerbot was still a librehw company 12:57:38 but machines were notoriously unreliable 12:57:46 * mizmo personal xperience <= yes 12:57:57 in one afternoon built a non working 3d printer at workshop 12:58:05 took about a month of scouring internet for scraps of info 12:58:17 then took a while to work up courage to ask hw ppl at hackerspace what i thought were stupid quetsions 12:58:23 then took another month to figure out how to calibrate the software 12:58:35 after 2 months of work managed to get together a working printer 12:58:36 almost 12:58:41 parts were coming out crooked 12:58:44 defect in frame vertices 12:58:48 causing printer to be crooked 12:59:05 hw ppl at space quick to point out that i could 'easily' take apart the entire thing, manufacture my own vertices, and put it back together again 12:59:11 would easily take me a few weekends, would take them a few hours 12:59:18 much to their horror i solved the problem is 5 minutes 12:59:27 used a matrix transform in the sw to account for the skew 12:59:37 results, while still technically wrong, printed out looking just fine 12:59:42 two wrongs really do make a right sometimes 12:59:53 one thing i want to point out 12:59:59 you can build a primitive or broken version of something 13:00:02 and you can use it to upgrade itself 13:00:15 i still have the original frame of my first printer, but i've used it to upgrade itself including a new extruder lock 13:00:21 so ive used the printer to improve its own print quality 13:00:24 that was yesterday 13:00:27 today you have much better options 13:00:36 you can buy a libre hw printer now and tinker to your hearts content 13:00:44 kits are much easier to put together and have better docs 13:00:53 now is a good time to dive into 3d printer, wont take tons of frustration anymore 13:01:03 more and more hackerspaces are picking up 3d printers 13:01:06 go check out local community see what they have avilable 13:01:23 when i first started out, i thought i'd make parts with it and there would bemagic under the hood that made things work 13:01:26 that did not last long 13:01:49 if i added my skew screw to the software, someone at hackerspace said he would use it 13:01:54 software was written in python 13:02:10 only had a handful of contributers - logic not esoteric - source code was awful maze of poorly organized code 13:02:26 this exp, if sw is bad, we've made it unnecssarily hard to hack on 13:02:34 better alternatives to skeinforge (which is the stuff of nightmares) 13:02:45 now can convince more hackers to work on the sw 13:02:50 to make it more powerful and easier to use 13:03:07 whats my agenda, why am i here? 13:03:19 at first glance it seems 3d printing isn't what you do 13:03:21 separate concerns 13:03:35 clearly fedora has an interest of the only gnu/linux distro to date to package all of the 3d printing software 13:03:38 it's important 13:03:47 a repo on github is not the definition of 'turnkey' 13:03:56 im here bc the hw community is populated by hw geeks 13:04:13 reprap community and 3d printing at large - mostly electrical and mech engineers, and they write sw, but i think they'd really rather not 13:04:20 inadequate UX in our tooling 13:04:28 yet to hear someone say 'user experience' and keep a straight face 13:04:40 imagine what would happen if we had exp programmers and designers from the free software community hacking on this stuff 13:04:44 the results would be amazing 13:04:50 more and more tech users want to be empowered by 3d printing 13:04:56 tech is still rapidly evolving 13:05:00 and ppl need freedom to tinker 13:05:05 so sw needs to be flexible 13:05:12 i'm here because libre hw printing community needs al of you 13:05:18 devs, designers, hobbyists, etc 13:05:21 with all that said 13:05:27 i'd like to talk to you about the sw we currently use 13:05:50 i'm going to show you what lulzbot is currently working on fo rtheir printers 13:05:58 the printers you see here... process of patterns... 13:06:10 the ultimate goal from sw pov is to transmit gcode through a serial device which is the printer 13:06:22 printer responsible for interpreting gcode to print movements 13:06:29 gcode first appeareed in 1950s terrible state code 13:06:37 ISO standard that we loosely follow in reprap community 13:06:41 implementation differs from hw to hw 13:06:48 have to target gcode for specific machine 13:06:59 most pleasant way to think of gcode is a vector graphics language 13:07:03 easy to visualize it as such 13:07:13 how do we get gcode? slicing sw... dark magic. magic is in sw, not hw 13:07:18 not as hard to write as you might think 13:07:30 gist of slicing process... have a 3d model rep' by triangles 13:07:37 figure out cross sections of object in layers 13:07:51 cross sections make an outline, two dimensional line segments 13:07:59 can make walls of prints stronger with cross hatching, etc 13:08:29 workflow of 3d printing involves use of 3 programs 13:08:31 3d programs 13:08:57 1) design software. blender is one of the tool sin the crown of 3d sw... great for debugging models. have a set of tutorials in DVD form making it ideal for users and good user experience 13:09:17 for less visually minded folk, openscad lets you programmatically create 3d models 13:09:21 produces stl files from a C-like language 13:09:40 can programmatically generate models 13:09:46 2) slicing software 13:09:56 ? is the free slicing software for libre sw 13:09:58 (slizer?) 13:10:04 it's output is comprable to gcode 13:10:14 in that it's an executable sequence of instructions to be interpreted by system 13:10:20 http://slic3r.org/ 13:10:23 gcode produced for one priner wont produce good results for others 13:10:24 thanks nirik 13:10:36 if your printer has a storage mechanism, the entire gcode file can be uploaded at once or stored on removable media 13:10:46 host will start print job, then printer can be disconnected from computer 13:10:52 some printers can operate independent of host machine 13:11:16 advantage of streaming back and forth to printer is visualization of print job, or print errors (run out of filament, etc) 13:11:23 what was 3 13:11:42 3) firmware itself maybe?? 13:11:59 to upload gcode 13:12:45 oh 3) software takes gcode and send to printer 13:12:50 like 'printrun' 13:13:24 Pronterface (I think) 13:13:56 http://reprapbook.appspot.com/#d0e1156 13:14:13 13:15:28 showing off pronterface 13:15:37 manual print control button... 13:15:42 print head moves if press a button 13:15:49 press another button.. and it goes home 13:15:55 pronterface has a temperature indicator at the bottom 13:16:11 controls for adjusting heat, nozzle temp, extruder, this is for moving print head 13:16:39 serial device connected to - lists the speed it's running at 13:17:17 here's a preview of the gcode for the print i've loaded up 13:17:27 it's coming up to temperature now, i'll start print job momentarily 13:18:38 this is blender 13:18:48 in the user prefs in the add on section 13:18:55 there's... a 3d printing toolbox 13:19:29 so 3d printing toolbox in blender lets you do mesh analysis 13:19:36 which is a thing that's been added recently to 3d printing 13:19:42 if there are faces too close together 13:19:47 intersections between faces that re problematic 13:19:47 etc 13:19:51 we'll open up another test model 13:19:54 i'll use the blender monkey 13:19:58 it's actually an unprintable model 13:20:14 (blender monkey is suzanne) 13:20:27 suzanne has a problem... theres a point where it's not continuous topology 13:20:34 definition for a mathematical mesh 13:20:54 in the mesh analysis tool you can see various areas highlighted, 45 degree roll if overhang is over 45 degrees, won't work 13:21:00 shows cases where model may be too thin 13:21:23 can point out where print resolution may not be sharp enough to print correctly 13:21:38 speakers have sample printed models in their bags 13:22:34 so this is slicer 13:22:38 with slicer you can open up the model 13:22:47 let's add a model 13:22:54 in this case i'll do the little fedora part 13:23:02 and... then it shows up in a little preview there 13:23:11 can click a button to add mulitples 13:23:47 presets... 1st 3 provided by lulzbot 13:23:52 known to provide good results with this printer 13:24:02 so you dont have to figure out all these settings to have a good working printer from the start 13:24:12 but there is a plethora of settings though 13:24:18 to account for diff parameters and optimizations 13:24:26 unfortunately you'll probably tinker with that whether you want to or not 13:24:34 but at least you have something to start with to produce usable results 13:24:42 i use dvorak and this is qwerty 13:25:15 this program i just opened up 13:25:17 is skeinforge 13:25:27 i wanted to show you this terrifying lovecrafty nightmare i have over here 13:25:38 how awful... granted this is the program i learned when i first started printing 13:25:50 its just like... the number of things that are automated in slic3r... none of that is automated in skeinforge 13:26:23 theres a button in here called 'dirt'... it adds , the caption reads "activates to processing phase to account for jamie parker, skew along y axis skew along x axis' 13:26:27 thats skeinforge, still have nightamres abou tit 13:26:30 okay starting the demo... 13:26:45 cross your fingers 13:27:30 so that's the print process 13:27:34 it'll grow as it builds the coin 13:27:37 so 13:27:49 by now i hope it's apparent from everything youve seen 13:27:51 that it could be improved 13:28:02 and you should shudder slightly when i say things were much worse a few years ago 13:28:10 i hope that the design aspects should be self evident 13:28:13 here ar emost glaring issues i see 13:28:20 1) nothing like the workflow users expect when they hear the word printing 13:28:32 2) i should be able to open my model in blender and instead of export i should see a print option 13:28:38 could export a file like it normally would 13:28:54 store in a temp location, notify some kind of printing subsystem that there's something to work on 13:28:59 user shuld then be shown a slicing dialog 13:29:02 without a million options 13:29:15 then printing subsystem should give intelligent presets if make and model associated with printing 13:29:24 hey i have a custom thing going on dont use any of that <= users should be able to do 13:29:38 many things can and should be detected automatically 13:29:54 what is happening inside of these programs is not evident, i have not personally looked inside slic3r (personally bc im not a perl girl) 13:30:06 ive looked in skeinforge... i can tell you a few things that could be done better 13:30:08 need a design pattern 13:30:14 no separation between presentation and code 13:30:29 'business logic' => replace with 'tiny gnomes' still makes sense 13:30:41 these are both python prgorams, not easy to read, don't follow standard style guide 13:30:56 3) no unit tests, biggest problem in term of expanding our community with sw devs. only way to know if you broke something is to use on your own printer 13:31:04 4) virtualization - need 3d printer to test changes no matter what 13:31:14 true for all 3d printing software ive ecountered so far 13:31:24 most ppl involved so far, pre-requisite is obtaining hardware 13:31:40 hard to learn sw without seeing how printer will respond to it 13:31:49 some hardware abstraction layer might be a good idea 13:31:56 would love to discuss this at great length with you between talks 13:32:49 this has been an eye opening experience 13:32:58 want to solve problems using free software tools 13:33:15 working on voxelpress... daemon called switchprint, listens for udev events for when printer is conencted / disconnected 13:33:20 figures out what type of printer is connected 13:33:30 nice common api through (dbus?) 13:33:32 code written in normal python 13:33:42 mostly feature complete driver should work with reprap style printer 13:33:53 major functionality still missing 13:34:01 but most of the hard stuff there already 13:34:11 printcontrol utilizes switchprint as its backend 13:34:14 contains no hw specific logic 13:34:21 written so i had sometihng to build a dbus api against 13:34:25 scope is small right now 13:34:38 while it is a proof of concept its capable of doing interesting thing that no other is able to do 13:34:49 automatically detects if you have a print head, how many, and adjusts UI based on that 13:34:56 does autodetection so you can figure out the printer's baud rate 13:34:59 forget that word again, let it disappear 13:35:04 lastly planned nextgen slicing tool 13:35:10 which will be able to utilize hw acceleration capabilities 13:35:15 via gnu ? 13:35:24 instead of vector cross sections, raster cross sections? 13:35:32 produced nearly instantaneous slicing 13:35:35 not as many design limitations 13:35:40 when you have a model that looks like it sohuld print 13:35:42 it will print 13:35:56 even if it has mathematical issues... rasterizer will work because it runs off of visual appearance 13:36:15 the print out worked 13:37:11 for this existing slicing sw, creating slicing engines, configs provided for identified hw 13:37:15 planned slicing sw will come later 13:37:21 other novel features to come 13:37:27 network printing, automation of tasks, all sorts of things 13:37:36 for more info, please check out voxelpress.org 13:37:42 or hangout in #voxelpress on freenode 13:38:20 once i figure out the state of our printer will announce on identica where demos will be 13:38:23 happy hacking everybody 13:38:26 13:38:47 Thanks, mizmo! 13:39:34 * mizmo bows 13:39:42 that was a great talk 13:39:47 i think i understand how 3d printing works a lot better now 13:41:28 #stopmeeting 13:41:30 #endmeeting