zhangty019 / S3_DeformFDM

S^3-Slicer: A General Slicing Framework for Multi-Axis 3D Printing
BSD 3-Clause "New" or "Revised" License
87 stars 14 forks source link

Multi-branches geometries slicing #17

Open yvanblanchard opened 10 months ago

yvanblanchard commented 10 months ago

Hello,

We try to test your slicer on multi-branches shapes, such as a collector part (see image). We tried various settings as slicer constraints (surface quality, support minimization), but we don't get the expected result, which is having orthogonal slices to tubes curved neutral axis.

Question: do you think your method is able to do so , and if yes which settings we would have to apply ?

Thank you for your help

image

zhangty019 commented 10 months ago

Hi, I suggest using the support-less or hybrid constraints, but I am unsure of the results. I can try it from my side if you do not mind sharing the model with me.

yvanblanchard commented 10 months ago

Thank you very much for your reply Tianyu. It would be great to get your own feedback using the slicer with our geometry (which is public).

Here is the mesh file (OBJ, with two global mesh sizes, coarse and finer): Manifold_SolidSkin_SurfaceMesh.zip

image

yvanblanchard commented 9 months ago

Hello @zhangty019 Any update on your trials based on this geometry ? Thank you again for your help

rvmn commented 9 months ago

@yvanblanchard I just gave your file a try, using supportless setting and i tweaked the overhang angle as best as i could. Ended up really well. Have you modified the code so you can change the overhang angle and use any model with supportless mode? Schermafbeelding 2023-10-06 012631

yvanblanchard commented 9 months ago

Hello @rvmn Thank you very much for your help. Yes, we did a few trials of code modification for this, but maybe something is still wrong. Could you please share those modified source files ? Thank you again!

yvanblanchard commented 9 months ago

But looking at your result image, I was wondering if it would be possible to select all the boundary planar faces (squares) and apply on it non null heat temp through the slicer algorithm, and then get oriented slices surfaces more or less always perpendicular to the neutral axes (the ‘main’ one, on the right of picture, and the three others).

In your image, we can see that slices surfaces are deviated from neutral axes. Like considering doing ‘angled printing’ with a 45deg oriented nozzle tool. I would expect to have fully multiaxis printing (nozzle tool at 90deg , on the left of the part). I guess it’s clear ? Do you have an idea if it’s possible ? Thanks again.

rvmn commented 9 months ago

But looking at your result image, I was wondering if it would be possible to select all the boundary planar faces (squares) and apply on it non null heat temp through the slicer algorithm, and then get oriented slices surfaces more or less always perpendicular to the neutral axes (the ‘main’ one, on the right of picture, and the three others).

In your image, we can see that slices surfaces are deviated from neutral axes. Like considering doing ‘angled printing’ with a 45deg oriented nozzle tool. I would expect to have fully multiaxis printing (nozzle tool at 90deg , on the left of the part). I guess it’s clear ? Do you have an idea if it’s possible ? Thanks again.

Yeah, i have a 45degree printing with optimizing the hotend space (and an airbrush nozzle), so that is my purpose. But for fully non-planar printing, if you just change the overhang angle to 0 degree it can go up to fully vertical. Only thing that is left is making the end layers completely perpendicular, which you should do using the surface quality setting (so using the combination of 1.4 SF-SQ). Only thing there is you need to load a selection from file as the selection tool doesnt seem to work yet. If you could fix the selection tool (for nodes, most left one) that would solve the problem.

Only option i see is to manually create a selection file, to find the nodes to select. I made a python visualizer that takes an STL/obj/vtk/msh/etc as input (run as 'genTet.exe support.stl 10', with higher number more complex, better, less being faster calc).

I also added a selection file with all set to unselected, so you just need to 'select' the vertices on the facets.

I added the python file also if you want to tweak or maybe find a way to automate selectioning.

support.zip

The viewer has many options, most useful are left-and right keys:

============================================================ Press: i print info about selected object I print the RGB color under the mouse y show the pipeline for this object as a graph <--> use arrows to reduce/increase opacity w/s toggle wireframe/surface style p/P change point size of vertices l toggle edges visibility x toggle mesh visibility X invoke a cutter widget tool 1-3 change mesh color 4 use data array as colors, if present 5-6 change background color(s) 09+- (on keypad) or +/- to cycle axes style k cycle available lighting styles K cycle available shading styles A toggle anti-aliasing D toggle depth-peeling (for transparencies) o/O add/remove light to scene and rotate it n show surface mesh normals a toggle interaction to Actor Mode j toggle interaction to Joystick Mode U toggle perspective/parallel projection r reset camera position R reset camera orientation to orthogonal view . fly camera towards last clicked point C print current camera settings S save a screenshot E/F export 3D scene to numpy file or X3D q return control to python script Esc abort execution and exit python kernel
Mouse: Left-click rotate scene / pick actors
Middle-click pan scene
Right-click zoom scene in or out
Cntrl-click rotate scene
------------------------------------------------------------
Check out the documentation at: https://vedo.embl.es

============================================================

rvmn commented 9 months ago

i forgot to add a selection file, but that it really straightforward, jst check out the folder in the dataset folder. a mouse and patience, should be doable in like 15 mins :) Schermafbeelding 2023-10-06 142000

rvmn commented 9 months ago

oh and the code i changed: MainWindow.zip

yvanblanchard commented 9 months ago

Thank you very much for your help Roberto ! I will check that and let you know.