Welcome! Log In Create A New Profile


Polar printer, assistance needed

Posted by gene hacker 
Polar printer, assistance needed
November 15, 2007 02:13AM
I am not sure if I should be posting this thread in the reprappers section or the software section so I am posting in the general section.

Ok, now to business, I am constructing a polar 3d printer from Lego Mindstorms NXT. For all of you unfamiliar with a polar printer, the extrusion head rotates around a central axis and moves in and out about a radius. I have currently constructed everything except a Z axis control. WHY A POLAR PRINTER? 1. It's simple 2. I don't have enough parts for a cartesian design.

The problem is, I don't know enough about programming to turn a CAD file into a set of slices I can turn into a tool path.

I am also using a novel low viscosity extrusion material, so I might get some interesting results.

More information on the polar printer concept

what nxt is capable of
Re: Polar printer, assistance needed
November 15, 2007 03:11AM
Hi gene hacker,

... welcome on board smiling smiley

When i first stumbled over the reprap-project, then i had a similar question to Zach - i hoped to solve the problem of converting the cartesian slices to cylindrical paths for a diode-laser-head, which would cut the contour-lines of a LOM-output (LOM=LaminatedObjectModelling) as in a lathe, but not subtractive, but sheetwise additive fabbing.

As no others have similar problems, it seems we have to solve this on our own ...

When i'm ready with my drivers and 3D-RepStrap for milling, then i will go in the converting.

As for the new material - post some mor
I am using a super saturated solution of sodium acetate. The idea is that the sodium acetate comes out of solution when it contacts sodium acetate crystals or experiences sufficient agitation.

I might not need support geometry for some structures.
Re: Polar printer, assistance needed
November 16, 2007 01:44AM
Hi gene hacker,

... looks very impressive! smiling smiley

This seems to be an interesting alternative for support and intersecting parts.

How fine can the surface be formed/sculpted, when used with a syringe and only wetting small areas?

Is it possible to extrude the fluid without crystallisation in the syringe?

Anonymous User
Re: Polar printer, assistance needed
November 16, 2007 02:03AM
Hi guys,
Here is a method to consider.
A slice is a set of polygons. To convert from polygons to a polar plot.
Start with the polar mechanism at it's origin. Identify whether or not the current coordinate (the origin in this case) is inside or outside of a polygon.
The data structure might look like this
Poly1 x1y1>x2y2>x3y3>x4y4...: bounding box x1'y1',x2'y2' (rectangle that is just larger than the polygon):
Basic loop:
Test whether current point is within the bounding box of every polygon, if no it is time to step the head. If yes then test to see if the current point is inside of the polygon inclosed in the bounding box (winding numbers, or even and odd edge test), if yes then extrude your stuff. step the head go back to the top of the loop.

Stepping the head in the first case means a radial move subsequent steps will be angular movements until you complete 360 degrees. For every 360 we step the head once radially.

If you solve this in memory instead of on the fly what you get is a series of radial positions and start stop angles for the extruder.


Unless you have much higher resolution to the polar mechanism/coordinate system than the cartesian grid there is the potential for you to have unintended holes in your slice were the 2 coordinate systems don't align.

You can get around this by mapping each pixel that is in or touches a polygon in the cartesian plane back to a radial position and angle. it is the same process but it is a little harder to get your head around.

I hope this helps

I was thinking of using something akin to the polar form of a bezier curve and I just use a set of control points.
Anonymous User
Re: Polar printer, assistance needed
November 18, 2007 03:18AM
The analytics are not the problem. The problem is that you are dealing in a quantized (Discrete pixel) world.
This comes up in image processing all the time. There are well known transformations between polar coordinates and cartesian coordinates, the problem is that the transformations don't yield integers, they yield real numbers. In integer image processing the standard process is to move linearly in the final device coordinate system and map that back to the coordinate system to be transformed.
mappings that start with the coordinate sytem to be transformed can leave holes in the final data.
Bezier, conics, B splines, Nurbs are just linearly transformable math for representing curve segments regardless of the coordinate system. These representations all have to be rendered to a pixelated representation before they can be used. I don't understand how this helps to map a pixelated grid (slice) into radial positions and on /off angles which is the language of polar mechanisms.

I am not trying to be inflamatory, just trying to understand how this helps.

Re: Polar printer, assistance needed
November 18, 2007 11:44AM
... i'm on a similar way with my converting cartesian output into moving-paths for my tripod-setup ...

It's a bit trigonometric and a bit 'Bresenham' - look in the wikipedia for the linear and circular Bresenham-algorhythmus, here is sketched, how you can move two (or even more) axes on a calculated path without to much pixel-errors ...

How to make it
December 30, 2007 02:49PM
I've just finished writing an instructable on how to make it if anyone is interested. [www.instructables.com]

I am still working on the control software and any help would be appreciated.
Re: Polar printer, assistance needed
December 30, 2007 03:21PM
sweet. thats awesome. i need to read through it and see how you're controlling it, but you could probably control the motors, etc pretty easily with an arduino, use our firmware, and send some custom commands to it.

i'd recommend using processing for the host software.
I am using an NXT smart brick to control the extruder, radius, and angle. I use the NXT's older cousin, the Scout/RCX, to control the Z axis. The Z axis is manually controlled for now, because the NXT can't talk to the RCX, so I am devising an alternate means of communication for them.

The reason I used NXT and not Arduino, is because I have one and so do a lot of other people. Legoes are much more likely to be found in the average household than arduinoes. This means that a lot more people can start building repstraps just from what they have in their houses.
Sorry, only registered users may post in this forum.

Click here to login