This post provides a sample project demonstrating a cloud CAM service for additive manufacturing using Machineworks Polygonica and the HOOPS web platform . This project serves as an example of how to use Polygonica with HOOPS Communicator and Exchange on the server side to develop cloud services.
It covers various capabilities of CAM for additive manufacturing, including B-rep tessellation, mesh query, repair, positioning and slicing. Additionally, the project includes 2D contour offset and fill functionality for toolpath and G-code generation.
In this example, the SDK, modules, and classes are configured as shown in the image below.
3D model lightweight and format conversion solution
1. Operation process and functions
1. Select a CAD file and upload
the CAD file to update to the server. If it is an STL file, use Polygonica to import it; if it is another 3D CAD file, use HOOPS Exchange to import it.
When the 3D CAD file contains a B-rep, the import options will be applied in HOOPS Exchange.
2.PolygonicaPTSolid
PolygonicaPTSolid is created from uploaded 3D CAD files and visualized directly on Communicator using the Web Viewer API. Due to Polygonica's database role, the SC model is not used in this example.
3. Check the mesh for errors using Polygonica on the server side
. Faces and edges are mapped between Polygonica and Communicator, which can highlight erroneous entities.
4. Fix bugs
5. Downward faces can also be detected in Polygonica
6. Display the process range and change the rotation and position of the model
Model transformation matrices are also synchronized between Communicator and Polygonica.
7. Mesh Slicing
8. In the slice API , arcs can be fitted in the section
9. Offset Profiles
Profiles are automatically trimmed
10. Fill the outline
There are various patterns such as triangles/grids, fillings for creating grids or scanlines
Now, it's ready to use those outlines and engravings to generate G-code.
2. Tips
1. Undo redo
Undo/Redo are implemented on the Communicator side and Polygonica side respectively
2. Undo / Redo in Polygonica
Undo/Redo can be enabled using PFSolidCopy.
Make a copy of the original entity to preserve it for undo before editing.
Strips original and result entities in Polygonica and replaces current world entities when undoing (result to original) and redo (origin to result ) .
3. Undo / Redo in Communicator
When creating a Mesh model in Communicator, you need to register the Mesh prototype, Model.createMesh and then create a Mesh instance through Model.createMeshInstance.
Preserves the original and resulting prototypes, and replaces the current instance on undo and redo.
4. DoNotCut flag
In the Profile command, the nozzle model and the current/top profile can be made outside the bounds of the cut section by setting the flag DoNotCut. (For nozzles: Model.setInstanceModifier, for outline polygon lines: MeshInstanceData.setCreationFlags)