Hi Nophead, For the bug where the fill doubles back at a sharp angle, that is corrected in the new code. I've got to leave now, so I'll test the Y_Housing_Square_Top fill in hole bug later. Cheers, Enriqueby Enrique - RepRap Host
Brendan, Thank you for the explanation, I understand now what you're trying to achieve. I agree that gcode is a clumsy way of making declarations, but with your excellent suggestion of putting the declarations into comments rather the M commands, they will at least be easier to read. Indeed I'm planning on using RS274NGC with a single set of M Code extensions, the skeinforge commands will be cby Enrique - EMC2
Nophead, You described the extruded filament as being a squashed oval. So there should be a small cross shaped room at the top between two bottom filaments and two filaments above. Not much room to be sure, but more room than anywhere else in the filled part. I'm hoping it will be enough room for the leftover filament to go. I didn't realize that the filament contracted so much when the headby Enrique - EMC2
Hi Nophead, Is it possible to have the extruder off and travelling on a safe loop right in between filaments until the extruder reaches target temperature? What I mean is, you could go right between the extruded perimeter and the infill. There is still extrusion there, but it is less than the middle of an extrusion and the leftover from the nozzle could fit in there. That is the way 'comb haiby Enrique - EMC2
Hi Ian, I just found an article about how to change the comment character, from: "If you wish to run macros using comments in parentheses, the comment character must be changed from a semi-colon to a left parenthesisby Enrique - EMC2
Hi Ian, What would happen if had a line like: (;comment) A machine using the RS274NGC would see that as a comment. A Fanuc would see that as: ( Would the Fanuc skip over a line with only a parenthesis? Or would it crash and burn Enriqueby Enrique - EMC2
Hi Ian, I thought parentheses were always considered comments. Would a line like: (I am a comment, please ignore me.) be ignored? Or do you mean for the Fanuc it have to be: ;I am a comment, please ignore me.; Is there some kind of comment style which is recognized by all machines? I don't mind commenting out an entire line. Cheers, Enriqueby Enrique - EMC2
Hi Brendanjerwin, Great point about putting commands in comments. I did not know that was the best way for tool chain messages, I've never actually used gcode before. I'll convert all tool chain messages into the form '('. Except for M110 which will be kept, but deprecated and always accompanied with a line below with the new command '('. Cheers, Enriqueby Enrique - EMC2
Hi Nophead, Indeed the latest skeinforge chain still does not have head lifting on moves, nozzle wiping or a raft. The features since the beanshell version include multilayer shells, in other words adding extra perimeter layers. Also filling in the direction of any bridges on a level. Combing hair around holes. Adding diaphragms every so often across the whole shape, in other words making soby Enrique - EMC2
Hi Brendanjerwin, An explanation of the gcodes is at: A gcode example is at: In the skeinforge tool chain there are more gcodes being used, but they are only used for communicating within the tool chain or for viewing the gcode. For example there is M114, which as of today indicates a new layer is starting, which is used by the vectorwrite viewer and some other scripts. Attached is the pytby Enrique - RepRap Host
Hi Nophead, The corner filleting is a very small filleting on all filaments, even the infill filaments. This is to avoid sharp corners where the extrusion would blob and where the extruder would have to accelerate instantly. For example an extrusion extrusion width of 0.6 mm gives a half extrusion width of 0.3 mm, which gives a filleting radius of 0.21 mm = 0.7 * 0.3 mm. Beveling is one of thby Enrique - RepRap Host
Attached is the latest reprap python zipfile, which includes stretch.py, which stretches the threads to partially compensate for filament shrinkage when extruded. The important value for the stretch preferences is "Maximum Stretch Over Half Extrusion Width (ratio)" which is the ratio of the maximum amount the thread will be stretched compared to half of the extrusion width. The default is 0.3,by Enrique - RepRap Host
Kyle, I'm glad it worked for you. After slicing there is still the fill stage, which takes very roughly as long as slicing. I'll try to slice and dice the truss this Sunday. If my computer can't slice it in a reasonable time, I'll ask you for the sliced gcode, which I assume is huge. The truss is by far the most complicated shape sliced to date. Hi Reece The scripts are zipped at: The pyby Enrique - RepRap Host
Hi Kyle, Thanks for finding the second part to the holed mesh bug. The script now skips over null faces at the only other place where they can come up. The debugged code is at: Good luck, Enriqueby Enrique - RepRap Host
Oops, sorry about the fillet or quit bug. Indeed, after you pointed out the now squashed fillet bug, I looked at comb and realized there was also a comb or quit bug. The debugged code is at: The default filleting ratio at 0.7 is quite small and is just enough to reduce blobbing in corners and spare the extruder sharp turns. For example an extrusion diameter of 0.8 mm gives an extrusion widthby Enrique - RepRap Host
Hi Kyle, Thanks for trying out the slice and dice chain. Turns out the slice.py part of the script crashed because the stl file has a few holes in it. The script was supposed to be able to use a slow algorithm to span holes, but I never actually tested it with a holed mesh, and it didn't quite work. Thanks to your finding the bug, I've now added a check for holes and the script should now spaby Enrique - RepRap Host
The python slice and dice tool chain can now make multilayer shells. The shell thickness can alternate, so the fill can be interleaved with the shell and should have less horizontal delamination, as occurred when Nophead made an HDPE opto bracket: The threads are now reordered so there is less travel and hair. Fillet.py can now fillet to a ratio, rather than just all or nothing. The bugs wheby Enrique - RepRap Host
Erik, Good point about the straw. I didn't think about the fact that you can get many straws for less than the cost of one silicone tube and you can get em at the corner store rather than mail order. Silicone tubing has a minimum price of about 20$ for ten feet: www.smallparts.com/products/descriptions/2100%2Ecfm so it would only be worth getting as a group buy from the reprap store. For eleby Enrique - Mechanics
Two thoughts. I tried to make an electrostatic generator a long time ago and I remember that mylar was an excellent insulating film. I dimly remember depositing hot melt from a glue gun on the conductive surface and then binding the mylar by putting a cloth on it and ironing it carefully. My main concern with electrostatics is that they're fun, but can be dangerous so use very low power circuiby Enrique - Mechanics
I surfed for explanations of electrostatic induction attractors but didn't find any, so I posted a diagram of a polarized interleaved comb at: Make the comb pattern on a printed circuit board, slap on an insulating film and when you polarize the combs, everything will be attracted to it. The fringing force is small and decreases rapidly with distance, so it can only lift light, thin stuff likeby Enrique - Mechanics
I found a bug which slowed the slice and dice toolchain down, squashing the bug doubled the program speed. So python is actually about ten times faster then beanshell for this application, rather than four times as fast which I though before. Doing minor optimizations doubled the speed again, if psyco is installed the program is twice as fast again. Attached is a zip file with the new code andby Enrique - RepRap Host
Great work on the pick and place thingy! Your pick & place circuit creation idea is gnarly. All I can add to it is that you might want combine pick-n-place copper connectors with a sparse stripboard. You could have a stripboard with zones with short copper tracks on every line and zones with short tracks on every second line., then you could place the components on the tracks and use yourby Enrique - Mechanics
I found a squashed bug where fill would draw duplicate paths. So attached is the updated fill.py, along with the rest of the python port. Also in the attached reprap zip file are all the python postings I've seen to date. With the attached files, to turn an STL file into filled, filleted gcode, first bring the Export GNU Triangulated Surface script into Art of Illusion, by dropping it into the fby Enrique - RepRap Host
I found a squashed bug where 'Comb Hair' would turn the extruder on and off repeatedly. So attached is the updated Skeinforge, along with the in progress python port. Also in the attached reprap zip file are all the python postings I've seen to date. With the attached files, to turn an STL file into filled, filleted gcode, first import the file using the STL import plugin in the import submenuby Enrique - RepRap Host
Hair combing has been added to Skeinforge. The default for the Comb Hair checkbox is true, and the hair gets combed between the perimeter and the fill. Since there is little room between the perimeter and the fill, it is recommended that when the combing hair, use the fillet.py script to bevel the fill, so that there will be less corner blobbing and more room for the hair to be tucked in. Gcodby Enrique - RepRap Host
greenarrow, Thanks for posting the printout, but unfortunately beanshell gives long but uninformative error messages, and often like in this case does not even give the line numbers, so I do not know what the problem is. I'll be happier when the whole shebang is ported to python In theory only the weirdest settings would even be able to crash the program, so it's probably a problem with the prby Enrique - RepRap Host
greenarrow, Skeinforge, the gcode generating program is based on Adrian's description of reprap insetting, but the algorithm is actually based on intersecting circles, rather than polyhedrons. A few months ago, I wrote Adrian than an Art of Illusion script might be able to slice imported stl and if that'd be useful, and he said yes so I started writing Skeinforge. Skeinforge is written in theby Enrique - RepRap Host
greenarrow, Attached is the latest version of extrude and fillet, based on the pyreprap module in subversion on April 17th. Please add the files which work to pyreprap. By the way, your code has already helped build an object: Eby Enrique - RepRap Host
Hi Nophead, Oops, sorry about the surface bug and thanks for finding the now squished bug The one less bug April 17.17 Skeinforge is uploaded and attached to this post. In this update I also added the M109 command to set extrusion width and M110 for layer thickness. They are useful for analyzers and fillet, but are to be ignored by extruders. The new commented initialization code is at the bby Enrique - RepRap Host
Nophead, I disabled joining outlines to infill, and the outlines are now printed first. The only downside is that there will be more hair. The number of "Solid Surface Layers" is now a preference, and the default is two. While changing that, I noticed a now squashed occasional overlap bug. Seeing as how the object printed anyway, it seems extrusion is really forgiving of overlap. I don't knby Enrique - RepRap Host