Giter Site home page Giter Site logo

thenestonline / multi-extrusion-post-processing-scripts-for-slic3r Goto Github PK

View Code? Open in Web Editor NEW

This project forked from makertum/multi-extrusion-post-processing-scripts-for-slic3r

5.0 5.0 3.0 425 KB

useful postprocessing scripts for Slic3r, mostly adding dual extrusion features

Perl 100.00%

multi-extrusion-post-processing-scripts-for-slic3r's People

Contributors

makertum avatar pxt avatar thenestonline avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

multi-extrusion-post-processing-scripts-for-slic3r's Issues

[Brainstorm] Always use 'parking zone'

I made a test cube for fine tuning and testing my extruders to get rid of the blobs and hairstrings.
The cube was a red box with letters. The letters started at the bottom layer and ended 1 layer above the box. I used a brim, no skirt.

I noticed that at the first layer, the box was printed okay with extruder 1, but the letters were not printed with extruder 2. In the final gcode I found that switching to extruder 2 was omitted due to skirt.

Knowing that, I printed a second test with the same cube. That cube started with extruder 2. So the first layer is dependent on the last used extruder. A bit of randomness.

So now the point of this brainstorm to overcome this randomness:

  1. Always 'park' (retract) the filament at the given 'parking zone' (toolChangeRetractionLength) with use of the ySplit... variables.

  2. Assume the filament is parked at the beginning of a print job

  3. Always load the (right) filament from the parking zone at the beginning of a print job. There can be print jobs with one color from extruder 2.

Another advantage in this approach is that after a print job the filament can always be changed, without heating the hot end.

After fidling around a big while, I finally got my extruders working fine. I found some issues doing that fine tuning. I will issue a report for each one. I would like to edit it, but don't know (yet) how to upload it in this master again. Will explore that too.

Richard

Use of uninitialized value $r in numeric eq (==)

In Repetier Host V2.1.3 in combination with Slic3r 1.3.1.-dev (both windows 10 versions) I get a lot of errors such as
Use of uninitialized value $r in numeric eq (==) at D:\WipeTower_Slic3c_v3\myColourChange.pl line 534
and also line 538
and the process of the pl-file is aborted.
Looking at that line is seems to be $r which is declared as my $r = $_[2]; # Start corner 0 - 3
Changing the declaration in my $r = 0 lets generat a g-code where the wipe tower layers ar not on top of each other, but squares next to each other in the direction of the x-axis

You may contact me by mail: [email protected]

image

Errors during slicing

During slicing of a two color cube, I got many errors on 4 different lines due to uninitialized values. 3D print seems to be okay.

14:15:26.124 : Use of uninitialized value in addition (+) at C:\Users\Richard\AppData\Local\RepetierHost\perl\myColourChange.pl line 791.
14:15:26.124 : Use of uninitialized value $num in multiplication () at C:\Users\Richard\AppData\Local\RepetierHost\perl\myColourChange.pl line 672.
14:15:26.124 : Use of uninitialized value $e in addition (+) at C:\Users\Richard\AppData\Local\RepetierHost\perl\myColourChange.pl line 757.
14:15:26.124 : Use of uninitialized value $num in multiplication (
) at C:\Users\Richard\AppData\Local\RepetierHost\perl\myColourChange.pl line 672.
14:15:26.124 : Use of uninitialized value in addition (+) at C:\Users\Richard\AppData\Local\RepetierHost\perl\myColourChange.pl line 816.

Misspelled variable name 'ySplitLarstRetractionSpeed'

There's a 'r' too many in the variable name ' ySplitLarstRetractionSpeed' (....Larst...).

After fidling around a big while, I finally got my extruders working fine. I found some issues doing that fine tuning. I will issue a report for each one. I would like to edit it, but don't know (yet) how to upload it in this master again. Will explore that too.

Richard

Account for deltas in auto placement

It 'd be nice to account also for delta printer in auto-placement calculation.
Currently, X position uses 170/2 as the center of the bed horizontally while on deltas this would be 0.

Usage: name.pl first_name last_name

Hi, i've been trying to run this script but with no luck.
i've added the path in the output settigs and followed the installation instructions but when i slice something i get the following messages:

20:43:44.457 : => Exporting G-code to composition.gcode
20:43:49.247 : => Running post-processing scripts
20:43:49.432 : Usage: name.pl first_name last_name
20:43:49.501 : Done. Process took 0 minutes and 9.052 seconds

This is exacly how i've put the script on the slic3r config.
C:\Users\werne\Desktop\Multi-Extrusion-post-processing-scripts-for-Slic3r-master\myColourChange.pl
any idea?

Print appears to stop but instead is doing something strange

I followed the instructions to get this script working, and when it slices it looks great. However when I get to the first layer that involves the 2nd extruder/nozzle, extruder one is reversing incredibly slowly halfway up the teflon tube for about 10 minutes, then launches back to the nozzle and continues to print. Extruder two does not seem to be printing. Here is my code in end g-code:

M104 S0 ; turn off temperature
G28 X0  ; home X axis
M84     ; disable motors
; WIPE TOWER PARAMS
; Not Implemented:
; forceToolChanges = false
;
; Implemented:
; extrusionWidthMultiplier = 1.2
; toolChangeRetractionLength = 150,150
; useAutoPlacement = 1
; wipeTowerX = 20
; wipeTowerY = 20
; wipeTowerSize = 15
; wipeTowerInfillNoChange = 10
; useYSplitChange = 0
; ySplitFirstRetractionSpeed = 2
; ySplitFirstRetract = 11
; ySplitUnretract = 7
; ySplitSlowRetractionSpeed = 150
; ySplitSlowRetract = 0
; ySplitLarstRetractionSpeed = 150
; ySplitUnRetractAfterToolChangeSpeed = 40

any suggestions for what could be happening?

Freezes and consumes all available memory

Hi,

nice work with this script. I haven't tested it yet though because it eats all 16G of memory I have and then some!

I tried debugging it and concluded that the problem appears when extrusion width is set as 0 (auto). The code seems to be using this value verbatim (as 0), leading to subsequent infinite loop somewhere (sorry, no perl guru here to dive deeper).

For the time being, I have changed my extrusion width to another value (not 0) and the problem appears to have been fixed. It 'd be nice of you though to correct for this case in code :)

[Request] Ram-Purging

First of all, I want to say great job on what you've put together. I especially like how you've implemented more of an infill in the tower when there are no tool changes rather than just printing a solid tower and wasting a bunch of material.

I've been looking at various ways to combat the oozing of the inactive extruder that can lead to sloppy prints, and one method I ran across is called ram-purging. This method basically forces molten material out of the nozzle by quickly extruding an amount of filament and then very quickly retracting the filament. The process is document in this post: https://forum.e3d-online.com/index.php?threads/dual-volcanoes.908/page-2#post-7884

In order to incorporate this into your script, there are several modifications that would need to be made:

  1. Create the towers as hollow objects so that the ram-purge process can be accomplished in the center hollow area of the towers.
  2. On a tool change, move the nozzle that is being deactivated to the center of the tower and perform the ram-purge.
  3. After the ram-purge is complete, wipe the nozzle on the tower to remove the material that was purged.

I'm planning on looking at what it would take to incorporate this into your script, but if you have any suggestions, they would be greatly appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.