Difference between revisions of "Slicing"

From Geeetech Wiki
Jump to: navigation, search
(Repairing Models)
(Manual Control)
Line 218: Line 218:
  
 
=Manual Control=
 
=Manual Control=
 +
 +
 +
 +
When you turn your printer on, you will often come to this tab. At the top you see the most important printer status, so you always know what is happening.
 +
 +
 +
 +
The next row allows it to send any g-code command you like. Enter it and press return or hit the send button. With the cursor up/down keys you can move through the history of manually send commands. If the “Easy Mode” is enabled, this field is not displayed.
 +
 +
 +
 +
The next block controls the positioning of the extruder. With the arrow keys you move the extruder in any direction. When you hover over the arrow, you will see a distance appear in mm, telling you how large the move will be. At the top you see the current extruder position. After the connection, they are red. Red means the host has no idea where the extruder really is. Press the home button to move the extruder to its defined position. After that the color turns black, telling you the position is known. From now on, the moves are only possible inside the printer cube defined in the printer settings. So if you are at x=180 and the cube is 200 mm wide, pressing 50 mm right will only move to 200 mm.
 +
 +
 +
 +
CAUTION: This protection works only for the arrow keys! Sending a G1 X300 would really send this to the printer. After that the host will show the coordinate in red again, assuming the move didn’t succeed.
 +
 +
Below the arrows you have the following buttons:
 +
 +
Power: This turns the power supply on. This is not supported from all boards and needs a ATX power supply.
 +
 +
Stop motor: Will disable the stepper motors.
 +
 +
Park: Moves the extruder head into parking position defined in printer settings.
 +
 +
Help bubbles: When you activate this, you will get help bubbles for all fields of the manual control.
 +
 +
With the buttons 1 – 5 you can send the predefines scripts 1 – 5 to the printer.
 +
 +
You can modify these scripts in the g-code editor. Every printer has it’s own set of scripts.
 +
 +
 +
 +
The “Speed multiply” slider allows it to change the printing/move speed in relation to the send feed rate. This function is tested with Repetier-Firmware and Marlin. Be careful if you increase the speed. If you haven’t defined the real limits in your firmware this can cause lost steps during print!
 +
 +
 +
 +
If the “Easy Mode” is disabled, you can change the flow rate, ie the amount of the extruded filament. A higher valie gives a fatter printed line.
 +
 +
 +
 +
The extruder and print bed blocks allow it to change the temperature. The temperature can be set either on the right in the text field as well as by clicking on the temperature curve. If you change it in the text field, you need to press return or leave the field to set the value. By clicking the extruder or bed icon the extruder or the bed is deactivated or reactivated. In the right area of the temperature curve you see the last read temperature (you have enabled automatic temperature reading in printer settings?).
 +
 +
 +
 +
If you have a fan attached, you can change the fan speed and activate/deactivate it the same way as the temperatures.
 +
 +
 +
 +
In the last row you can set debug options for the printer if “Easy Mode” is disabled. Echo repeats the received lines, so you normally want it turned off. Info and error show messages at that debug level. These are interesting, so leave them on. The last one is something special, which works up to now only with Repetier-Firmware. In dry run mode, the firmware will ignore all commands to set temperature or extrude. That way you can send a file without using any filament. This is handy if your printer loses steps during print and you are doing some research on when and why. If you seem to have troubles with your extruder, check if you have that option enabled! The last button “OK” fakes a receiving ok from the printer. If your printer stalls, it may be simply because the firmware send an ok and only the o or k was received. In that case, hitting ok can restart the printing process.

Revision as of 07:20, 20 November 2015

Setup your slicer

Before you can use any slicer, you need to tell the host, where to find the needed executables and profiles. If you have used a recent windows installer, these values are already set. In addition to this, you can also add as many references to other slicer instances as you like. To do this, open the slicer manager and the following window will appear:

1slicer1.png

On the left side you see a list of configured slicer instances. At the bottom you can add new instances. Select the slicer type and give it a unique name under whitch it will appear in the host and click Add Slicer2addslicer.png. Then you see at the right side the setup for the selected slicer.

SLIC3R

1slicer1.png

Setting up Slic3r is really easy. Leave all fields empty. :-) Only if the host does not find the profiles or you want to use a different version, select the configuration directory or the slicer. You need to select a slicer with version 0.9.0 or higher to work with the host.

Skeinforge

4slicer2.png

For Skeinforge two programs are needed. The first is the application itself. It will show all profiles and also allows to slice objects. You will only use it to define your slicing profiles.

The second one is the workhorse called skeinforge_craft.py. This is the program that does the slicing. If you use SFACT instead of Skeinforge, you need to define a working directory. This directory defines where the profiles are stored. The profiles directory is, where Skeinforge stores the defined slicing profiles.

If you haven’t started Skeinforge before, this directory will not exist. Skeinforge creates this directory in your home directory with the name .skeinforge. You need to select the profiles subdirectory in it.

Skeinforge is written in python and requires python 2.7 to run. Select the python interpreter to use. For 3 to 4 times faster slicing times you should also install pypy and select the executable. If you leave it empty, the python interpreter is used instead.

The windows installer already installs and sets python and pypy. If you leave the fields empty, the host uses the bundled versions. For Linux it will also look into the default paths, if the package is installed. In this case you can leave the fields empty.

Watch Directory

5slicer3.png

If you use an external slicer, it normally requires quite some clicks to import the generated g-code into the host. The watch directory will help you to import new files faster. In the setup you select the file types to watch for, e.g. gcode;g will show all .gcode and .g files in the watch directory. Please remember to separate different file types with semicolon. The directory itself can be selected in the slicer tab. Every time the host window gets the focus, the content of the directory is checked. If a new file appears or is newer, it will be shown in the status column. There you only have to push the “Load” button on the right side to load the g-code.

6watchdirectory.png

Slice with CuraEngine

7slicewithcuraengine.png

CuraEngine is an external slicer software which is bundled with the host. To use it, you normally only need the right tab with the quick settings. Here you select your predefined configurations to use plus some important settings. To define the parameters behind your configuration, click the “Configuration” button 12configure.png to enter the setup.

8CuraEngineSettingsSpeed.png

The configuration is split into two main parts. The biggest part are the print settings, these are subdivided into five tabs. The second part are filament settings, which contain parameters influenced by the filament selection.

To add a new configuration, simply save the current settings withe the “Save as …” button. By clicking into a parameter field or by hovering a field, a helb bubble will show up with detailed informations about this parameter. You can deactivate this function at Config -> Preferences -> Basic Settings -> Show Help Bubbles.

You can enter two speed values per parameter. With the speed slider in the CuraEncgine slicer tab you interpolate between these values. This allows you a fast change between quality and speed.

In the quality group, you can define several passible layer heights, that work with this print configuration. For sliching you select the quality you want. This greatly reduces the number of configurations you need.

Some settings are always taken from the Printer Settings -> Extruder.

4printersettingsextruder.png

CuraEngine does not handle temperatures. You need to set them in the “G-Codes” tab. In this tab you can define the code segments that get inserted at the start, the end and before and after an extruder switch. Hitting the “Create Default” button creates a good starting script depending on your extruder numbers. You can insert some values from your configuration like temperature for extruder 1, which would look like this: {TEMP0}

You can also add or subtract a value: {TEMP0-20} {TEMP0+10}

For extruder switching you often want to reduce the temperture of the current extruder. That value can always be reached with {TEMP}. So in your “Before Extruder Switch” code you would use

M104 {TEMP-20}

and in the “After Extruder Switch”

M109 {TEMP}

Adding this requires a postprocessing step, so slicing will be a bit slower.

10CuraEngineGCodes.png

Slice with Slic3r

11slicewithslic3r.png

Slic3r is an external slicer software which is bundled with the host. You can start it directly from the host with the “Configuration” button Configure. There you can create as many profiles as you like. Give them good names, so you know what they contain. When you switch back to the host, you will see these configuration in the combo boxes right to “Print Settings”, “Printer Settings” and “Extruder 1/2/3”. To slice objects loaded into the host, you select the profiles you want to use for your slice and hit “Slice with Slic3r”. A progress bar will appear and show you the current action of slic3r. If slic3r has any errors during slicing process, these will appear in th elog window, so always make sure the log is visible. When the host claims, it could not find the sliced g-code it is normally an error that caused Slic3r not to export the file. See report for more informations about this.

One cool feature is the “Override Slic3r Settings”. If you enable it, the values in the selected profiles get overwritten with values set below. As a first action you will probably click “Copy Print Settings to Override”. This will copy the values from the selected profiles to the controls below. Now you can change the most often changed values directly without the need to create/modify the profile in Slic3r.

Slice with Skeinforge

13slicewithskeinforge.png

Skeinforge is an external slicer software which is bundled with the host and works nearly the same, the only difference is, that you have only one profile type to select from.

Common Errors

Slicers are complex tools that rely on correct data. If you insert unclear data, the slicer does not know what the result should look like and may produce unexpected results. The typical reason is a non-manifold mesh. To understand what a non-manifold mesh is, you should know what a manifold mesh should look like. A manifold mesh is watertight – no holes allowed. Every edge of the describing triangles must have exactly two connected triangles. So it is build from one or more non-intersecting shells.

It is also not allowed to stack obejcts on top. Often you see an object where some letters are written on top. If you do this, you need to merge the letters with the object beneath to build one shell. If you don’t, Slic3r e.g. will drop the letters to the bottom for exactly that reason.

An other typical error is using high layer heights. Layer height must be smaller then nozzle diameter.

Repairing Models

The best way is to use a software, that always exports correct STL files. Depending on source or software, this may not work. In that case, you should repair the exported STL/OBJ files with an appropiate software.

One easy way to correct these models is with netfabb cloud service.

An other program is the free Autodesk 3D Print Utility.


G-Code Editor

G-Code Verification and Preparation

After slicing you can see the slicing result. You can rotate and inspect the whole model, a layer range or just single layers and you can visualize the travel moves. So you can check if everything is correct before printing, what can save a lot of time and money.

1Slicingfinished.gif

If everything is OK, you can save the G-Code or start the print job with this commands:

2savegcode.png

1. Print: This will start the print job directly. If the host is connected via Repetier-Server, the G-Code is sent to the server and then the print job will start, so that you can close the host.

2.Safe to File: Click here to save the generated G-Code on your hard drive without additional start- and endcodes, that are stored in printer settings.

3.Save for SD Print: Here you save the G-Code for SD Print including additional start- and endcodes and job finishing commands, that are stored in printer settings. If your printer runs with Repetier-Firmware, you can save it in binary format. The SD card should be in the computer, which is significantly faster than when the SD card is in the printer. If the SD card is in the printer, you need to save the G code via the tab SD Card.

4.Save to Server: If the host is connected to Repetier-Server, you can save the G-Code in Repetier-Server. You will get a rendered preview image and you can start the print job from the host via the Server tab or in Repetier-Server.

If you want to edit the G-Code, click Edit G-Code.

Elements of the G-Code Editor

G-Code Editor

3gcodeeditor2.png

The G-Code editor has it’s own small toolbar, where you can select the most important functions. After finishing a slice, the “G-Code” is selected. This is the code generated by the slicer. All other selections are smaller codes, which are executed depending on their intention. These codes are saved as part of your current printer configuration, when you press the save button. Only if the G-Code is selected, a file selector appears to select the place to store the data. Then you switch the printer configuration the files will change to the one stored in the this configuration!

Predefined G-Code Scripts

4printersettingsscripts.png

You have the possibility to define some G-Code scripts for start, end, run on kill, run on pause and up to 5 scripts you can use and call for whatever you want, eg. for calibration, … You can set these scripts in Printer Settings -> Scripts.

Script 1 to 5 can be selected in Manual Control. If you hover over a button, you get a note box with the title if you hover. Just click to run the script.

5scriptname.png

Start Code and End Code

The G-Code for your printer is the assembled data from “Start Code”+”G-Code”+”End Code”. So if you store or send a job, this always means these three files together. Normally this start and end codes are set in the slicer settings.

Run on Kill/Run on Pause

When sending a job to the printer you may want to kill the print or pause the job. After hitting the button, the matching script will be send to the printer. While the kill job is not so important, you might want some code for the pause case. Typical reasons for a pause are switching filament type or modifications on the printing object like adding nuts bevor enclosing it in filament. In these cases you don’t want the extruder to stay over the object. One thing you could do is move the object back with a G1 command. You can do this, because the host remembers the position, where the pause started. After you hit the continue button, the extruder will go back to the starting position. Things you shouldn’t do during pause are:

  • Home axis.
  • Redefine coordinates with G92.
  • Move the z-axis to a deeper position.

Things you can to during pause:

  • Switch between relative and absolute coordinates, e.g. for lifting extruder.
  • Move extruder.
  • Extrude filament, reset extruder position.
  • Change temperatures (these are not reset by the host).

Script 1-5

If you have some frequent task, that require some commands to be send to the printer, you can put them into these scripts. In the manual control are five commands to send these scripts to the printer. You can view and modify the scripts by right clicking on the buttons.

New / Save

With the new button you remove all content from the editor.

The save button stores the G-Code in a selectable file. All other scripts are saved as part of the current printer configuration.

Help

Not everyone is familiar with the g-codes for 3d printer. To assist you, you can see the meaning of the current code at the bottom, if the help tab is selected. Not all commands will be displayed and some may have a different meaning on your firmware, but the most important are the same on all printers.

Visual screening

6gcodeeditor.png

When a g-code is loaded you see the filament model on the left, if not disabled. Normally higher layers hide the content of the lower layer. If you select the “Visualization” tab at the bottom of the editor you can select, which part you want to see. Default is the complete code, but you can also select a single layer or multiple layers. If you search the matching g-code, look at the status bar of the editor. It shows the layer, the row with cursor belongs to. If the current line will produce a printed line, that line will be highlighted in the preview. You can even mark a larger code range and all contained print moves will be highlighted.

Commands

You can add some host specific codes that do not get executed on the board, but inside the host when that position is reached. This of course only works when you are printing from the host and not from sd card. All host commands start with @ or if you like to have valid g-code with ;@ followed by command name and eventually some parameter.

@info

The info command writes the text to the log.

 @info Hello world

@sound

Plays the sound defined in preferences for the sound command.

 @sound

@pause

Waits with sending g-code until the user presses the continue button. Shows the text in the info screen.

 @pause My Message

@execute

Executes a file. Command should be the absolute path.

 @execute command param1 param2

@isathome

Tells the host the extruder is at it’s origin. You need this if you don’t have endstops to do the normal homing.

 @isathome

Manual Control

When you turn your printer on, you will often come to this tab. At the top you see the most important printer status, so you always know what is happening.


The next row allows it to send any g-code command you like. Enter it and press return or hit the send button. With the cursor up/down keys you can move through the history of manually send commands. If the “Easy Mode” is enabled, this field is not displayed.


The next block controls the positioning of the extruder. With the arrow keys you move the extruder in any direction. When you hover over the arrow, you will see a distance appear in mm, telling you how large the move will be. At the top you see the current extruder position. After the connection, they are red. Red means the host has no idea where the extruder really is. Press the home button to move the extruder to its defined position. After that the color turns black, telling you the position is known. From now on, the moves are only possible inside the printer cube defined in the printer settings. So if you are at x=180 and the cube is 200 mm wide, pressing 50 mm right will only move to 200 mm.


CAUTION: This protection works only for the arrow keys! Sending a G1 X300 would really send this to the printer. After that the host will show the coordinate in red again, assuming the move didn’t succeed.

Below the arrows you have the following buttons:

Power: This turns the power supply on. This is not supported from all boards and needs a ATX power supply.

Stop motor: Will disable the stepper motors.

Park: Moves the extruder head into parking position defined in printer settings.

Help bubbles: When you activate this, you will get help bubbles for all fields of the manual control.

With the buttons 1 – 5 you can send the predefines scripts 1 – 5 to the printer.

You can modify these scripts in the g-code editor. Every printer has it’s own set of scripts.


The “Speed multiply” slider allows it to change the printing/move speed in relation to the send feed rate. This function is tested with Repetier-Firmware and Marlin. Be careful if you increase the speed. If you haven’t defined the real limits in your firmware this can cause lost steps during print!


If the “Easy Mode” is disabled, you can change the flow rate, ie the amount of the extruded filament. A higher valie gives a fatter printed line.


The extruder and print bed blocks allow it to change the temperature. The temperature can be set either on the right in the text field as well as by clicking on the temperature curve. If you change it in the text field, you need to press return or leave the field to set the value. By clicking the extruder or bed icon the extruder or the bed is deactivated or reactivated. In the right area of the temperature curve you see the last read temperature (you have enabled automatic temperature reading in printer settings?).


If you have a fan attached, you can change the fan speed and activate/deactivate it the same way as the temperatures.


In the last row you can set debug options for the printer if “Easy Mode” is disabled. Echo repeats the received lines, so you normally want it turned off. Info and error show messages at that debug level. These are interesting, so leave them on. The last one is something special, which works up to now only with Repetier-Firmware. In dry run mode, the firmware will ignore all commands to set temperature or extrude. That way you can send a file without using any filament. This is handy if your printer loses steps during print and you are doing some research on when and why. If you seem to have troubles with your extruder, check if you have that option enabled! The last button “OK” fakes a receiving ok from the printer. If your printer stalls, it may be simply because the firmware send an ok and only the o or k was received. In that case, hitting ok can restart the printing process.