Generic powder machine controller

Powder and inkjet printing
david
Posts: 73
Joined: Wed Sep 21, 2016 8:43 pm

Re: Generic powder machine controller

Post by david » Wed Oct 02, 2019 3:23 am

PPS more words on the software and firmware

This controller is designed as a complete central controller. The host software slices the 3D model into 2D raster image in the CMYK format. Standard format, like PNG, would be fine. The controller takes a ZIPed package of such print file via its high speed USB or network(later upgrade) and can optionally copy it into its own internal TF card, so that the data source can be freely disconnected and the printer will work on its own. There is a 64MByte on board SDRAM which can hold the decoded image for a single layer, and the MCU part of the head driver will transfer the CMYK data to printhead data. The FPGA may help some low level bit transform as although the MCU has 500MHz main clock it may not be efficient to handle the bit operation, e.g. interleaving 6 colour head data.

The MCU firmware is currently with FREERTOS, which is a standard RTOS and it free. So that I would be able to disclose the application source code and make it as a useful reference design if I could deliver a kind of SDK for the inkjet 3D print.

maxt
Posts: 24
Joined: Fri Apr 26, 2019 10:38 am

Re: Generic powder machine controller

Post by maxt » Fri Oct 04, 2019 10:28 am

Hi david, this sounds really great! let's see how the epson head performs, you'll probably need to make some experiments to find the right glue density to prevent clogs.

One question about the slicing: how do you do it ?

Last few months I've spent some time analysing possible implementations of a slicing software. My findings were that it's pretty simple and fast to slice any 3D mesh monochrome, or with vertex/face colors.

However it looks quite complicated to slice a textured mesh, which is unfortunately necessary to retain high resolution, without explosively growing the number of polygons. My best guess is to do it via OpenGL (which is slowing me down a lot because I know very little about it).

david
Posts: 73
Joined: Wed Sep 21, 2016 8:43 pm

Re: Generic powder machine controller

Post by david » Tue Oct 08, 2019 9:42 am

Colour slicing is a bit complicated, simply because there are not many public available examples. The initial test of my printer will be based on single colour or manually set colour. Later development, in my option, will tweak a VRML reader and add a slicing function, for example, using the VTK package. Have a look at Slicer and Paraview. I think it'll be that sort of thing.

maxt
Posts: 24
Joined: Fri Apr 26, 2019 10:38 am

Re: Generic powder machine controller

Post by maxt » Thu Oct 10, 2019 4:32 pm

david wrote:
Tue Oct 08, 2019 9:42 am
Colour slicing is a bit complicated, simply because there are not many public available examples. The initial test of my printer will be based on single colour or manually set colour. Later development, in my option, will tweak a VRML reader and add a slicing function, for example, using the VTK package. Have a look at Slicer and Paraview. I think it'll be that sort of thing.
yes, I've had a look at slicer as well. It may do textured slicing as well but if it does, the functionality is so well hidden that I was not able to find it. It's a very powerful but complicated application. I'll have a look at paraview; heard of it but never looked into it.

Unfortunately I know of only two slicers able to slice textured objects, and none of them is open source.

Wonko
Posts: 91
Joined: Sat Aug 15, 2015 8:13 pm

Re: Generic powder machine controller

Post by Wonko » Fri Oct 11, 2019 9:22 pm

Iota https://github.com/MatthiasWM/IotaSlicer is by no means complete, but it is an open source texture slicer. The texture functionality is currently disabled because optimizing voxel code had priority for a while, but the source code is still there. There is an improved texture slicing system in the works, but I did have to spend some time in the hospital, and I am only now restarting development. If you have specific questions, please contact me here or at iota@matthiasm.com

maxt
Posts: 24
Joined: Fri Apr 26, 2019 10:38 am

Re: Generic powder machine controller

Post by maxt » Mon Oct 14, 2019 8:06 am

Hi wonko. thank you for the link to your slicer. I already had a brief look at it in the past, I had dismissed it too quickly because I thought that, by voxelising, it was able only to handle face/vertex colors and not textures.

I'll look again how you approach this issue, thanks

david
Posts: 73
Joined: Wed Sep 21, 2016 8:43 pm

Re: Generic powder machine controller

Post by david » Mon Oct 14, 2019 9:32 am

I'll make my powder printer taking a pack of ZIPed PNGs as print file, just like the current de facto LCD 3D print format. So that different slicer can be supported. Also, regarding the 3D colour model, is VRML better than OBJ? I see many colour 3D printer using VRML format.

PS, the 3D print format I'm currently implementing is actually a GZIPed TAR file. TAR file is efficient in packing serial files like the slices. Also, GZIP is easier to handle than PKZIP, according to my experience in developing LCD printers. This TGZ should contain a info file in JSON format (I feel JSON file is easier to handle than XML), a few preview pictures, and a lot of numbered slice PNG files. And if using colour, the PNG file should be 32bit including the alpha channel, actually the RGBA is somehow mapped to CMYK. Converting from CMYK to printhead waveforms would be the job of the printer at runtime.

david
Posts: 73
Joined: Wed Sep 21, 2016 8:43 pm

Re: Generic powder machine controller

Post by david » Mon Oct 14, 2019 9:35 am

Wonko wrote:
Fri Oct 11, 2019 9:22 pm
Iota https://github.com/MatthiasWM/IotaSlicer is by no means complete, but it is an open source texture slicer. The texture functionality is currently disabled because optimizing voxel code had priority for a while, but the source code is still there. There is an improved texture slicing system in the works, but I did have to spend some time in the hospital, and I am only now restarting development. If you have specific questions, please contact me here or at iota@matthiasm.com
That's very nice. Your slicer is on my support list. I'm wondering how far your slicer is to produce image files instead of gcode?

Post Reply