Photonsters / Slicer

Photon Open Slicer - Command Line Slicer usable as MeshMixer plugin or as standalone
GNU General Public License v3.0
52 stars 11 forks source link

Configurable Variable Height - Feature Request #4

Open X3msnake opened 5 years ago

X3msnake commented 5 years ago

Greetings Master

like we spoke on the FB group, it would be awsome to have the ability to set the slice height as varibale with a control similar to slic3r «, or maybe interface with Slic3r and mod the plugin to work with Slic3r feature directly

Check this https://youtu.be/TZ3JC_fYgjo?t=45

image

image

image

image

X3msnake commented 5 years ago

also there is this export to SCG already in Slic3r we can maybe make use of?

https://manual.slic3r.org/advanced/svg-output

image

NardJ commented 5 years ago

Ah but PhotonSlicer will already convert multilayer SVG files to photon files. (it does not account for different layerheights). Just feed it with a svg files after the -s option instead of a stl file. (We even could make a script which first calls upon Slic3r and feeds the output svg to PhotonSlicer.)

The implementation of user defined variation of layer height is easy (and fast) in the OpenGL engine. However I thought the photon firmware only used the layerheight as specified in the header-data of the photon-file and ignored the layerheights/exposures in the layer-data of the photon-file. For future reference as stated by X3msnake on fb:

Nope current firmware always allowed this. Layer height is taken from the layer itself. That is how I made the resin exposure finder possible. All 10 exposures are at the same set height. It would be awesome to use a interface for use setting layer height like the one used for prusa slic3r

@X3msnake: Is exposure also used as specified in each layer?

The PhotonSlicer is however meant as a command line tool with progress info in the terminal or in a dialog window. So the user defined layerheights/exposures should be in a file. The following format/specification is used:

So a file could look like:

0.0 0.05  60
0.1 0.05  12
0.7 0.10  16
1.0 0.10  16

Tested and implemented this in my local version of PhotonSlicer.

We could make a separate tool to let the user specify layer heights within a GUI. This tool can produce a text file in needed format.

X3msnake commented 5 years ago

@NardJ Exposure is ignored unfortunately, albeit that was a promised feature for the next firmware release

But exposure is not that important as I proved with the T800 multilayer in one file Validation test that we ship with the resin exposure finder.

Worked fine for a range of 20u-60u for the same exposure, I would keep the resin exposure param as a implementation already, even tho it is ignored it might become usable in the future but all values would be written as the same value

I also think that it would be a good thing to define at the first file entry the number of bases, the base exposure and the normal exposure along with the base slice value, just in case some script goes wrong and the slicer can default to these if there is no height value on a layer

@rsilvers129, @Antharon, @bonosoft any other ideias to contribute

NardJ commented 5 years ago

The branch 'v0.2-Development' is now updated with new version which accepts layer height file. The suggestions above

first file entry the number of bases, the base exposure and the normal exposure along with the base slice value

need to be implemented.

Builds will be done afterwards.

X3msnake commented 5 years ago

@NardJ

So what's the specification of the layer file then? Is it documented on the branch? If it is sorry i'm on mobile... :)

NardJ commented 5 years ago

@X3msnake: Did all requests in source at development branch. Can you do a test? If successfull I will make a new build.

Format of file is as specified in STLs/layerheights.txt:

# This section is for build plate adhesion and should specify per line:
#   nr_bottom layers
#   slice_height_for_bottom
#   bottom_exposure

8   # nr bottom layers
0.05    # bottom sliceheight
90  # bottom exposure

# Following section specifies model settings per height range
# Each line specifies relative height to use new layer_height and exposure.
# Line format: 
#   relative_height  layer_height  exposure
# First line should start with relative_height=0.0
# Last line should start with relative_height=1.0
# Settings of first line will be ignored for bottom layers

0.00 0.05 12 
0.20 0.10 24
0.60 0.20 36
0.80 0.10 8
1.00 0.05 12
X3msnake commented 5 years ago

@NardJ

Take a look at this, i'm pretty sure we can use it to create the control TXT file, maybe even integrate the algorithm directly into open slicer as a CLI command

https://www.instructables.com/id/Variable-Slicing-for-3D-Printing-on-Autodesk-Ember/

Elvin6669 commented 5 years ago

Hi, I would like to test this but application is missing from 0.2 Developer branch/Win64 folder and when I download Master, unzip the Win64 folders, app does not start. Am I missing something?

X3msnake commented 5 years ago

@NardJ This Processing script is probably a way to automate and feed a layer height config file https://www.instructables.com/id/Variable-Slicing-for-3D-Printing-on-Autodesk-Ember/

X3msnake commented 5 years ago

@Elvin6669 this branch is not compiled, you need to install python and the respective dependencies and run it via command line

miniscaleworld commented 4 years ago

Is this feature available yet?

X3msnake commented 4 years ago

it is working on the dev branch but the printers firmware still do not allow per layer exposure so it is useless

No dia sábado, 5 de outubro de 2019, miniscaleworld < notifications@github.com> escreveu:

Is this feature available yet?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Photonsters/Slicer/issues/4?email_source=notifications&email_token=ACUR56XGCYMA75X3PJ6TJD3QNB2VDA5CNFSM4GL6YG32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEANQIFI#issuecomment-538641429, or mute the thread https://github.com/notifications/unsubscribe-auth/ACUR56XP42CBFETK67UY4PDQNB2VDANCNFSM4GL6YG3Q .

-- Com os melhores cumprimentos, Vinicius Silva