Jump to content

Modification of layer height bellow the minimum


Recommended Posts

Posted · Modification of layer height bellow the minimum

Hi. I am using Ultimaker Cura V 4.11.0 to print some parts. However, I am facing a problem with minimum layer height. The minimum allowed height in software is 1um, but I need to set it bellow 200 nm for my application. Would you please help me if there is anyway that I can manually change minimum allowed height on the software?

 

  • Link to post
    Share on other sites

    Posted · Modification of layer height bellow the minimum

    The internal precision at which CuraEngine does its calculation is 1 micron. It will be a lot of work to create a custom version of CuraEngine that has a higher precision, and it will probably be a lot slower.

     

    A workaround could be to work at a bigger scale, and then scale down the coordinates in the generated gcode.

     

    I am curious though why you need sub-micron precision.

    • Like 1
    Link to post
    Share on other sites

    Posted · Modification of layer height bellow the minimum

    Interesting.

    The trick is setting up the model in Cura for the initial slice.

    Within Cura, ALL Z features need to be scaled up by "LayerHeight / TargetLayerHeight".  The minimum Layer Height appears to be .05mm so .05/.0002 = 250.  The part height, top/bottom thickness, any support interface, etc. all need to be scaled and the Layer Height set to .05.  I had to increase my build volume height as a 1mm model grows to 250mm tall.

    The post-processing macro divides all Z values by 250 and writes everything to a new file.  In this example the Layer Height within the new file would become .0002.  The part ends up at the design height of 1mm and requires 5000 layers.

     

    After all that - my Z travel is .0025mm/step so I can't get to .0002 anyway.

    With a .4 Line Width and .0002 Layer Height that's about 30,000mm of extrusion per mm of filament.  Taking this to the ridiculous (Heh...it is a Saturday!) my print speed would need to be 50,000mm/sec for the flow rate to equal the rate at .2 layer height and 50mm/sec and that ain't happenin' either.

  • Link to post
    Share on other sites

    Posted · Modification of layer height bellow the minimum
    21 hours ago, ahoeben said:

    The internal precision at which CuraEngine does its calculation is 1 micron. It will be a lot of work to create a custom version of CuraEngine that has a higher precision, and it will probably be a lot slower.

     

    A workaround could be to work at a bigger scale, and then scale down the coordinates in the generated gcode.

     

    I am curious though why you need sub-micron precision.

    I am actually transforming this printer into a x, y and z stage and removing the extruder. So, for that i need the Z stage to move sub-microns every layer. I would not be printing more than about 2 or 3 layers so the time doesnt matter to me as well. 

     

    Could you tell me how i would be able to scale down the coordinates in the generated g code. I tried to change the layer height in the generated g-code but it wouldnt automatically change the number of points generated in the g code.

     

    Also, if there is any other method to generate g code of any object to make it this precise, then let me know.

  • Link to post
    Share on other sites

    Posted · Modification of layer height bellow the minimum
    3 hours ago, GregValiant said:

    Interesting.

    The trick is setting up the model in Cura for the initial slice.

    Within Cura, ALL Z features need to be scaled up by "LayerHeight / TargetLayerHeight".  The minimum Layer Height appears to be .05mm so .05/.0002 = 250.  The part height, top/bottom thickness, any support interface, etc. all need to be scaled and the Layer Height set to .05.  I had to increase my build volume height as a 1mm model grows to 250mm tall.

    The post-processing macro divides all Z values by 250 and writes everything to a new file.  In this example the Layer Height within the new file would become .0002.  The part ends up at the design height of 1mm and requires 5000 layers.

     

    After all that - my Z travel is .0025mm/step so I can't get to .0002 anyway.

    With a .4 Line Width and .0002 Layer Height that's about 30,000mm of extrusion per mm of filament.  Taking this to the ridiculous (Heh...it is a Saturday!) my print speed would need to be 50,000mm/sec for the flow rate to equal the rate at .2 layer height and 50mm/sec and that ain't happenin' either.

    I understand your answer. First of all, i have a z motor which has precission of 0.0002mm and also, i have removed the extruder and the filament as i would be using this 3d printer as a x, y and z stage for a different project where i need the z to be 0.0002mm. 

     

    According to what you said in the answer, i would set the layer height at 0.05mm in cura and then generate the gcode. 

    Then edit the gcode and divide every z value by 250. 

     

    First of all, the gcode wouldnt be increasing the number of coordinates for printing after i divide the z value by 250. Also, is there a program which can do this as manually replacing all the z values will take a lot of time!

  • Link to post
    Share on other sites

    Posted (edited) · Modification of layer height bellow the minimum

    You missed a crucial step. Not only would you set the layer height at 0.05mm, but you would also make both the model(s) and the buildvolume 250 times larger (in all three axes). Then slice, and post-process the gcode to divide X, Y and Z by 250. Since you don't seem to have an extruder, you won't need to scale the extrusion (flowrate).

     

    As far as I know there is no ready-made application to scale the coordinates in the gcode. But Cura comes with a "post processing plugin" which will let you manipulate the gcode with a fairly simple Python script. You would have to write that script though (or have someone write it for you); there is no interface to write these scripts in Cura (only to use them).

     

    PS: a factor of 100 will be easier to grok. Or even a factor of 1000. Then everywhere Cura says mm, you would know it actually meant micron.

    Edited by ahoeben
  • Link to post
    Share on other sites

    Posted · Modification of layer height bellow the minimum

    Well, @ahoeben if you are shamelessly going to throw around Heinlienism's from one of my favorite books then I have to give you credit...but I would still only scale the model in the Z.

    I sliced a 25 x 25 x 2500 model (hoping for a Guinness record for tallest calibration cube) and Cura did quite well at .05 layer height.  The resultant gcode was over 85mb and when translated to .0002 layer height it would only be 10mm tall so the only Guinness I'll be getting will be in a bottle.

     

     

     

  • Link to post
    Share on other sites

    Posted · Modification of layer height bellow the minimum

    @azp0134 did you get anywhere with this?

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
        • 18 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
        • 0 replies
    ×
    ×
    • Create New...