Showing posts with label Slice and Dice. Show all posts
Showing posts with label Slice and Dice. Show all posts

Sunday, August 08, 2010

Finishing the reel



I discovered that while the mismatch of inner and outer loops can be sorted out on a single slice fairly easily, things get tougher when you have successive slices getting smaller as I do with the 45 degree angled slopes on the servo reel.

What I did was to make two halves of the reel with boolean operations like this...



Slice and Dice lets me control the print roads on each slice, so I simply arranged it so that inner and outer loops did not meet on one side...





...and left off loops on the other side to make the reel into two halves that fitted together.





So, it was effectively back to glued together plastic model airplane dodges again.



Saturday, August 07, 2010

Improving print roads calculations



In which your narrator rewrites the Slice and Dice routine that calculates print roads on a slice.


Having got a working finger design for my telepresence hand project, last weekend I set about to rig it to a servo motor to see what issues would come up. One of the items needed was a reel which screws onto the servo which takes up the tendons on the finger and moves them in concert.

The 40 mm reel looks like this...




I wanted to make the reel solid since it will be under considerable torque.  To achieve that I used my concentric print roads option rather than cross hatching.  I am not fond of cross-hatching mostly because the join between the perimeter of a print and the cross-hatching is so often mechanically poor.  Using concentric print roads yields a much stronger print.

I calculated concentric roads very simply by painting a strip of pixels on the boundary of the slice to create an interior print road, deleting the strip to define the print road and then painting another strip inside of the new, smaller boundary.  I repeated that simple process until I ran out of slice.

Heretofore, I'd used concentric prints for relatively shallow prints like this phalange...


This looks pretty good.  I had been quite happy with the concentric roads routine till I applied it to the spool.  The spool was a deep object, 40 mm in diameter with an interior and exterior boundary.  You can see what happened...

The roads track the original boundary quite nicely till you get 6-8 roads away from the boundary.  Then, geometric features of the original boundary are sufficiently magnified that the roads bear little resemblance to the shape of original boundary.  The reel provides a really nasty example of this kind of distortion.

The reel that resulted was actually very strong, but looked nasty.  Last night, I undertook to see if there was another way to do the job.

After several false starts, I discovered that if I began with the original slice boundary in one picture box and then mapped a filled circle of the proper radius onto each pixel in the boundary I got extremely smooth print roads.  The reel slice you were first shown looked like this with the new routine...



You will notice that the interior and exterior boundary roads match each other very well but show a gap between the interior and exterior roads.  The hole in this slice of the reel is a screwdriver access port for securing the reel to the servo drive shaft.  The dimension in this slice is just big enough to pass the screwdriver tip.  I widened that access port by two millimeters and the problem with the roads mismatch disappears as you can see here...

The reel consists of two parts; the reel itself and an insert which is glued into a recess in the reel which seats over the servo drive shaft and allows for a screw to secure it.  You can see how this works in this exploded view of the ensemble...





As designed the print road pattern for the reel slice defining the recess for the insert looks like this.

If you look closely you will notice that the meet between inner and outer roads is a bit tight.  The outer dimension of the insert is not critical and can be adjusted a bit to even that out.  Care must be taken, however, to not compromise the roads in the insert in the adjustment.

The more experience I get printing dimension critical parts the more I understand what a balancing act getting the proportions is.  When you are printing a critical part you can't just slap it together in CAD, pump out an STL and print it.  The print road cross section is an integral part of your design and you have to exercise considerable cunning in making everything work together.  This experience is much like what I learned after I graduated from architectural design studios eons ago.  It's easy to design something that looks nice if you have any sense of aesthetics at all.  Designing something that looks {or works} nice that can actually be built is a far harder task.

In any case, I've got the new print road mapping routine running rather well and am going back to work on my telepresence hand project.

Wednesday, August 04, 2010

Applying VTEC to Slice and Dice




In which your narrator lowers the execution time of Slice and Dice by upwards 90%.


Now that I am well into designing the hand for my telepresence project, I am running into the limits on the processing speed of Slice and Dice in the design cycle. In the past, I could run the code through a good wash and brush up and reduce the execution time by 90%. That would take about a man-week that I don't want to spend. Instead, I chose to take advantage of a characteristic of the parts I design to achieve faster execution speeds.


Typically, I have been designing parts that look somewhat like this.




When you look at it closely, you notice that there are really only two different cross sections through the vertical axis.


Now Slice and Dice as I wrote it is not particularly bright code.  I wrote it to be simple, not efficient.  When you slice this object into 0.25 mm wafers you get 39 slices that look something like this.




Slice and Dice tediously processes each slice as if it were unique.  I took a day off to see if I could take advantage of the geometric repetitiveness of my parts.  To do that I initially thought to simply match each image with succeeding image and throw out the duplicates.


Life wasn't quite that simple.  While the slices looked identical, miniscule differences in the way the slicing routine interacted with triangles showed up in the flooded pictures seen above.  I did find, however, that if I allowed flaws in the pixels of up to 0.2%  of the total in the flooded images the 39 images were reduced to exactly 2...




Which is what you would have expected if the slicing had been geometrically perfect.  Thus I had to do cpu intensive processing on two slices instead of 39.  That saved about 94% of the processing time that I had previously been using and got my processing speed into the range I was used to seeing with Skeinforge.


As an added advantage, the reduction routine picks up broken slices very nicely.


This approach would not, I think, work with a programme like Skeinforge or, unless I misunderstand how it works, Netfabb.  It could, however, easily be applied to Adrian's host code for Reprap.

Sunday, July 18, 2010

First prints



Slice and Dice is pretty much working now. I'm not completely happy with how the infill and the perimeter prints hook up, but that's mostly parameter tuning. I'm debugging Slice and Dice while I am designing a robotic hand. Here is the distal phalange {finger tip} that I've done for a first try.




I've left out the infills in that they are not necessary.  Here you can see the first print that I am happy with.




I've really got to break down and find a camera that can do better closeups for small objects.  My periodontist uses one for photographing teeth, an Olympus, which might be the ticket.  I may well buy one after my quarterly tax payment is done towards the end of this month.




As you can see in this second pic, there is a separation between the outer and inner print road for the flexural axis.  I've got to reduce some the outer radius there or lower the extruder flowrate and go for three print roads instead of two on that part of the print.