Welcome! Log In Create A New Profile

Advanced

how would support materials be integrated into the software when they become available?

Posted by tomato 
since the fabber can already use support material and we have our paste toolhead i was woundering how the software would know where to put the support. would it be a simple peice of code or would the user have to define it him/her self?
just wondering cuz i want to be able to make balls and hollow objects
As far as I know, no one is actually using a muti material machine, although an automatic head attach/release mechanism has been tested. You can be first! I have lots of ideas but I am not a code monkey so get out your grain of salt.
I don't know what sort of hooks exist in the code yet but a relatively easy hack would be to use different colors on the model to represent different materials (White = thermoplastic, Black = silicone rubber, Blue = support material, yellow = cheez whiz) then assign a different toolhead to each color. On each layer the machine would print all of the predominant color and either pause until someone told it it had a new head or it could search out the toolhead autoloader itself. Actually any sort of metadata could be attached to any point on the image to do the same thing; but color is already supported and humans are realy good with differentiating it.
This idea assumes a certain amount of fluency in switching between toolheads, but the alternatives seem to me to be massively complex and not scale well (2 gantries is fine for 2 materials but what about 12?)
I would like to see the host software have a database for the heads available to that machine, giving it data like tool shape, deposition width and height, max and min linear speed and so on. Each toolhead would have enough on-board smarts to identify itself on docking and tell if it was ready to print or not. When the host received the ready signal it would run the cartesian assembly according to the info in the database, sending start and stop printing orders to the head. If the head sent a not ready alert the print would pause until the ready signal was received again.
Subtractive machining could be added by simply designating Purple = dremmel head and inverting the model. The data for dremmel head would have to be specific to the material being cut and the size of the bit, but these could be represented by very close shades of purple that the color menu could identify by material, You would then design your object, draw a box around it to represent your initial chunk of stock, change the item color to clear = ignore and select the color for the chunk from a menu of materials. The dremel head would be setup for the proper bit and rpm's by the user and would probably answer to a number of "names". A lot of subtractive work would require 2 passes, a top and a bottom, but this would not require a lot of adaptation.
In later versions other data could be optionally passed between the host and the head such as directional vectors from the cartesian system so that the head could orient itself along that direction to allow the deposition of strips of plastic rather than lines. Similarly, the thermoplastic head might be told the length of time since it's last layer was started and be smart enough to adapt its temperature to ensure bonding, or might turn on external heaters to resoften existing material as it approached, if necessary. The database could also be expanded to include data like minimum wait between layers for materials which harden evaporatively.
This sort of architecture would provide plenty of room for RepRap to evolve without overly complicating the software.
Support material is the sort of thing that the host software could calculate automagically. Detecting overhanging surfaces isn't rocket science; tracing a ray downwards until it hits other parts of the build or the bed and adding s blob of support material at each point where the ray passes through a layer is simple enough stuff.

This is one of the situations where I feel it would be significantly better to automate the process rather than making people learn how to do it (dull) and making them do it well (tricky).

The current thoughts for support material mostly involve sparse, low temperature infill. This won't stick properly, and will naturally delaminate. It can be scooped out with a pointy thing.

Extruding a support paste from a separate head that can be dissolved allows for nifty things like an object with internal twisty passages and voids that can be washed in water or solvent or acid or whatever to remove the support goop trapped inside, but actually finding a chemical suitable for this task which is easily available and reasonably safe is not simple. I know some commerical rapid prototypers use some kind of fragile stuff that dissolves in a weak acid, but I have no idea what the stuff might actually be.

Having a rack of interchangeable heads is nice, but a formidable engineering challenge. I'm of the opinion that seeing as so many builds will work fine with a single building material extrusion tool and a single support deposition head that having the two heads permanently attached to the cartesian bot would be perfectly acceptable. More importantly, this would allow support material and building material to be interleaved without a toolchange, which would avoid unnecessarily long cooldown times which would cause structural problems in the building material.
grinning smileyi couldn't help laughing at "automagically"grinning smiley
'Automagically' is one of my favourite technical terms winking smiley

(edit... oh the shame of typo-ing a one line post)

Edited 1 time(s). Last edit at 05/28/2008 08:40AM by Ru.
Ru:

I agree that "process" steps like calculating infill or subtractive phases should be automated, I was just saying that they were trivial given a decent 3D program. A person could do them, but a script could do them faster and better. A person could swap out toolheads as well, and some will at first.

The sparse, cold support material approach has advantages in that it is easier to keep track of and recycle materials and if you have one head with variable temps you simplify in that. In some applications this is likely to be determinative but the system also has big drawbacks. First, as you point out hollow objects are difficult or impossible. Also thin or otherwise delicate parts risk being damaged by the force needed for delamination. There is also no way to easily differentiate the support from the structure unless the printhead is artificially complicated to do so. Lastly, as noted above, it is nice to be able to automate annoying process steps, which is not possible with break away supports like this.
So, in many applications a soluble support is preferable or necessary. Currently experiments have been done with gypsum spackling paste and sugar based "cake icing" paste. Neither is perfect but both have promise and are widely available, safe, and dissolve in warm water.

A quote with interspaced alternative views:

"Having a rack of interchangeable heads is nice, but a formidable engineering challenge."

Not so much, the current toolhead can be automatically attached and released; the remaining problems in terms of toolchange strike me as software (move the carriage to the proper place, converse with the toolhead, etc), building a rack to hold idle tools is trivial unless you want to keep them active while they wait, or if you have a very large number of tools relative to the edge space of your machine. Even with those factors the challenge is not terribly daunting.

"I'm of the opinion that seeing as so many builds will work fine with a single building material extrusion tool and a single support deposition head that having the two heads permanently attached to the cartesian bot would be perfectly acceptable."

Current builds work well without support material at all, but they are designed for that. If we want a machine that produces more than simple inert objects then materials matter and we will need lots. If we want people to use a RepRap for non-geek reasons then it will need to produce things that are pretty and inexpensive as well as functional. That means even more materials and ways to handle them. If RepRap is to have a bigger constituency than say-- LARP it will have to be able to make things that are hollow, things that are bouncy, things that bend, things that seal, things that have wires, things that come in different colors and finishes, things that float, sink, move, stick, cut, ooze, ad infintum. All of these imply different materials and thus toolheads; unless you plan to build dozens of machines, which kind of defeats the purpose. In the long run lots of interchangeable toolheads are indispensable <\pun> so it seems advisable to build the capability into the software early on. In any design project early decisions are key in that they limit the direction of future growth unless lots of energy is specifically directed to opening up foreclosed areas. The ability to change toolheads would not disallow a single thermoplastic/fragile support toolhead, but it would allow for lots of other stuff.
"More importantly, this would allow support material and building material to be interleaved without a toolchange, which would avoid unnecessarily long cooldown times which would cause structural problems in the building material."
Actually, I believe the problems with cool-down arise during the printing, which tends to involve lots of long, slow moves. Toolchange involves a few short, fast movements and so is unlikely to effect that problem as much as the use of multiple materials regardless of how they are deposited.
Quote

Not so much, the current toolhead can be automatically attached and released; the remaining problems in terms of toolchange strike me as software (move the carriage to the proper place, converse with the toolhead, etc), building a rack to hold idle tools is trivial unless you want to keep them active while they wait, or if you have a very large number of tools relative to the edge space of your machine. Even with those factors the challenge is not terribly daunting.

There are various issues here.

1) Speed. I don't know how long it takes for an extruded layer to become cool enough for the next layer not to stick to it correctly. This will vary with material, and object shape. It *might* not be a problem if the changing system is smooth enough.

2) Precision. We don't need the sort of perfect centering and rigidity that a mill requires, however we do need to know that a tool in the toolholder isn't going to wobble, and a tool dropped in to it is always going to be in the same place towith a fairly tight tolerance.

3) Calibration. Automatic calculation of a toolhead's XYZ offsets isn't too tricky. but some careful thought will be needed to ensure that it is precise. A frame with a little backlash might well cause problems here, especially if the z-offset is too small and you stick a toolhead into a freshly deposited layer...

4) Complexity. How much can all this stuff be reprapped? There's all sorts of clever things you can do with little servos and so on, but adding more unprintable and not necessarily cheap items is undesirable to say the least. I can't quite tell how the current toolhead changer research project is put together.

Quote

Current builds work well without support material at all, but they are designed for that. If we want a machine that produces more than simple inert objects then materials matter and we will need lots

Support extrusion will be common to almost all of them, hence why I think a two headed design is a sensible one. They can both be interchangeable; different materials may well appreciate different supports. But I think the speed and precision benefits would make this worthwhile, especially with intricate objects.
The thing to remember about support materials is that the problem is harder than it seems at first - while it needs to be removable somehow (water-soluble, acid, break-away, etc) it also needs to stick to the part HARD to resist warping. Avoiding warping is turning out to be a very difficult problem, and while nophead in particular has been getting good results lately I'm not sure how easily his procedures can be generalized to more complex printed designs.

As far as swappable toolheads, goes, perhaps it has been long enough that some of you missed the prototype design that Adrian's graduate student came up with a few months ago. Seems easy and quick. [blog.reprap.org]
Quote

As far as swappable toolheads, goes, perhaps it has been long enough that some of you missed the prototype design that Adrian's graduate student came up with a few months ago. Seems easy and quick.

I recall watching a short video of a head being changed, too. But being able to add and remove heads easily is only one part of the problem; the old and new heads need to be perfectly aligned, or a calibration step is needed to calculate offsets if a head change is required mid build.

I recall someone mentioning that they print with the extrusion head just above the surface of the object being printed... if the base of the new tool is slightly lower than that of the old, bad things will happen. And the manufacture of an extrusion head isn't exactly precision engineering.

Having a bunch of predefined tool offsets could go some way to solving this, assuming the head is mounted firmly and with repeatable accuracy.

Quote

The thing to remember about support materials is that the problem is harder than it seems at first

I was well aware of that... otherwise it would have been solved already winking smiley Nonetheless, it is clear that it is a solveable problem, and as such it will be sorted out in time.
Kyle:
that's the quick/automatic release/pickup head I was discussing. I have seen it on Jay Sweeny's machine and it is RepRap able and feels study/precise to me, no statistics available but just eyeball lookin' and finger pokin'. Any tooltips' XYZ offsets from the locking point of the carriage could be stored in its' database file, and I think that building a zero point tester into a corner of the machine is probably a good idea, there has been some talk about easy designs for such in other forums. Again you probably want the capability to check this periodically on any machine so why not automate it for the first time a tool is picked up each day?

You are right about the problem of overhangs needing to stick to the support material well enough to resist curling on their own. One possibility might be to allow longer cooling time between initial layers on overhangs, or perhaps the first layer on the overhang could be built of something thermosetting, which would take longer to cure, but provide a better surface. Also, some overhanging things, like screw threads or locking tabs are going to be thin enough that warping will not be an issue.

RU:

to quote a wise man(insert smiley):
"The ability to change toolheads would not disallow a single thermoplastic/fragile support toolhead, but it would allow for lots of other stuff."

I think a single head structure/support toolhead would be a great addition to the collection and probably get quite a workout making simple objects. A dual head tool for depositing distinct support and build materials would be trickier but doable. I just don't think that we should marry RepRap to such a design.
Sorry, only registered users may post in this forum.

Click here to login