Flexible filaments can be up to 3 times more expensive than more common ABS or PLA filaments. In order to reduce manufacturing cost, we can use dual-material printers to print support structures with cheaper material and the actual insole with the flexible material. However, there are some challenges for large CAD files and certain printers that I will discuss here.
Some printers might automatically create supports for different materials, but for us to use the available FlashForge dual-material printer, we first need to provide two STL files, one for each material phase. In our case, one STL for the flexible material (insole) and one for ABS or PLA (support structure). The obvious procedure that comes to mind is to (1) import the insole to a CAD software such as SolidWorks, (2) project it onto the platform plane and (3) the solid space between insole and its projection will become the support structure. Unfortunately this is not possible, and here is why.
Our customized insole CAD model is created through 3D scanning, which means it is a fairly complex STL file converted from a point cloud data. Here I will consider only the forefront of the insole. Commercial software packages such as SolidWorks cannot easily handle or manipulate these complex STL files and crash more often than not. Further, since the STL file is comprised of many small triangles(as shown in the figure below), projecting it unto the platform may not always be trivial and might result in inverted surfaces. Fortunately, there is a practical solution for this problem based on Boolean operations, which I will explain in the remainder of this post.
The basic idea is to create a bounding box of your complex design (insole) and subtract the design form from it to find the support structure. To do so, we first open the part in SolidWorks and use it to find its bounding box. (Make the cross-section of the bounding box slightly smaller than the actual design and extrude.) Save the bounding box as STL and make sure it is not moved to positive space. In options :
Now we need to convert these STL files into OFF format. We can to this via the open source MeshLab, you can download it from here:
http://meshlab.sourceforge.net
Just import the STL files and export them as OFF file.
Now, to perform the Boolean operation these parts, you need Cork, which is another fantastic piece of open source software. You can download it from here:
Once you compile it on your system and get the executable file (the compilation on Linux is trivial but on Windows it is a bit of a hassle, I will try to add the executable file for x64 Windows), simply open the Command Prompt (in Windows) and go to the folder where Cork.exe exists. Assuming we have two files “insole.off” and “bbox.off”, in order to subtract these objects and create “support.off”, type (single space between each term):
Cork.exe –diff bbox.off insole.off support.off
Figure below shows each of these objects opened in Meshlab:
Insole + Support
PS: Besides “difference”, other Boolean operations are also possible through Cork:
Union: CorkWin.exe –isct A.off B.off union.off
Intersection: CorkWin.exe –isct A.off B.off intersect.off
XOR: CorkWin.exe –xor A.off B.off xor.off
Amir M. Mirzendehdel