From Fedora Project Wiki
(Added Cura screenshot and MCAD package)
No edit summary
 
(82 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{admon/important|Old page|This page is a ''Feature page'' for Fedora 19 (that's history now - 2013). It is not a general information page about 3D printing in Fedora. Expect everything here to be outdated. Do not update it. If you like to discuss 3D printing in Fedora, see the [[SIGs/3DPrinting|3D Printing SIG]]. }}
<!-- All fields on this form are required to be accepted by FESCo.
<!-- All fields on this form are required to be accepted by FESCo.
  We also request that you maintain the same order of sections so that all of the feature pages are uniform.  -->
  We also request that you maintain the same order of sections so that all of the feature pages are uniform.  -->


<!-- The actual name of your feature page should look something like: Features/Your_Feature_Name.  This keeps all features in the same namespace -->
<!-- The actual name of your feature page should look something like: Features/Your_Feature_Name.  This keeps all features in the same namespace -->
[[File:3dprinter.jpg|500px|thumb|right|3D Printer]]
[[File:fedora-printed-thumb.jpg|500px|thumb|right|Fedora Printed [[F19_Artwork/Submissions/Supplemental_Wallpapers|supplemental wallpaper for Fedora 19]]]]
= 3D Printing <!-- The name of your feature --> =
= 3D Printing <!-- The name of your feature --> =


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
Bring 3D printing tools to Fedora and allow users of 3D printers, such as [http://www.reprap.org/ RepRap], to be fully satisfied with software in the repositories, without need to download binary blobs or run Python code from git.
Bring 3D printing tools to Fedora and allow users of 3D printers, such as [http://www.reprap.org/ RepRap], to be fully satisfied with software in the repositories, without having to download binary blobs or run Python code from git.


== Owner ==
== Owner ==
Line 15: Line 17:


<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
* Email: miro@hroncok.cz
* Email: mhroncok@redhat.com


== Current status ==
== Current status ==
* Targeted release: [[Releases/19|Fedora 19]]  
* Targeted release: [[Releases/19|Fedora 19]]  
* Last updated: 2012-12-31
* Last updated: 2013-05-14
* Percentage of completion: 44%
* Percentage of completion: 100%
 
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->


== Detailed Description ==
== Detailed Description ==
[[File:openscad.png|300px|thumb|right|OpenSCAD]] [[File:skeinforge.png|200px|thumb|right|Skeinforge]] [[File:slic3r.png|300px|thumb|right|Slic3r]] [[File:pronterface.png|300px|thumb|right|Pronterface]] [[File:Cura.png|300px|thumb|right|Cura]] [[File:RepetierHost.png|300px|thumb|right|RepetierHost]]
[[File:openscad.png|300px|thumb|right|OpenSCAD]] [[File:skeinforge.png|200px|thumb|right|Skeinforge]] [[File:slic3r.png|300px|thumb|right|Slic3r]] [[File:pronterface.png|300px|thumb|right|Pronterface]] [[File:Cura.png|300px|thumb|right|Cura]] [[File:RepetierHost.png|300px|thumb|right|RepetierHost]] [[File:repsnapper.png|300px|thumb|right|RepSnapper]]
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->


There are several software needs for a 3D printer users: 3D modeling tool, such as [http://www.openscad.org/ OpenSCAD] or [http://www.blender.org/ Blender]; slicing tool, to "compile" the 3D model to a set of G-Code instructions, such as [http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge Skeinforge] or [http://www.slic3r.org/ Slic3r]; and finally a printer control software, such as [https://github.com/kliment/Printrun Printrun], [http://daid.github.com/Cura/ Cura] or [https://github.com/repetier/Repetier-Host RepetierHost].
There are several software needs for 3D printer users: 3D modeling tool, such as [http://www.openscad.org/ OpenSCAD] or [http://www.blender.org/ Blender]; slicing tool, to "compile" the 3D model to a set of G-Code instructions, such as [http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge Skeinforge] or [http://www.slic3r.org/ Slic3r]; and finally a printer control software, such as [https://github.com/kliment/Printrun Printrun], [http://daid.github.com/Cura/ Cura] or [https://github.com/repetier/Repetier-Host RepetierHost].
 
Other useful application is [http://meshlab.sourceforge.net/ meshlab], that allows users to view and simplify STL files, but it is already in Fedora, so it is not mentioned more.


Other useful application is [http://meshlab.sourceforge.net/ meshlab], that allows users to view STL files, but it is already in Fedora, so it is not mentioned more.
[[File:CAM_flow.png|600px]]


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->


Most of mentioned tools (except some 3D modeling software) are currently not present in Fedora (or other Linux distributions as well). The goal is to bring them here, and make Fedora the best distribution for 3D printing.
Most of the mentioned tools (except some 3D modeling software) are currently not present in Fedora (or other Linux distributions as well). The goal is to bring them here, and make Fedora the best distribution for 3D printing.


== Scope ==
== Scope ==
Line 46: Line 48:
The MCAD library is shipped together with OpenSCAD. This library contains components commonly used in designing and moching up mechanical designs. It is currently unfinished and you can expect some API changes, however many things are already working.
The MCAD library is shipped together with OpenSCAD. This library contains components commonly used in designing and moching up mechanical designs. It is currently unfinished and you can expect some API changes, however many things are already working.


* Percentage of completion: 100% - OpenSCAD is available in rawhide, as well as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]].
* Percentage of completion: 100% - OpenSCAD is available in [[Releases/19|Fedora 19]], as well as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]].


=== Skeinforge ===
=== Skeinforge ===
[http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge Skeinforge] is a tool chain composed of Python scripts that converts your
[http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge Skeinforge] is a tool chain composed of Python scripts that converts your
3D model into G-Code instructions for RepRap. It is very powerful tool with perfect results, however the GUI is horrible and it is often used as a integrated slicer in printer control software, where only one part of the GUI is used (Slicing settings).
3D model into G-Code instructions for RepRap. It is a very powerful tool with perfect results, however the GUI is horrible and it is often used as an integrated slicer in printer control software, where only one part of the GUI is used (Slicing settings).
 
* Percentage of completion: 100% - Skeinforge is available in [[Releases/19|Fedora 19]], as well as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]].
 
=== SFACT ===
[https://github.com/ahmetcemturan/SFACT SFACT] is new Skeinforge. It is its fork and they can coexist in the same system.


* Percentage of completion: 10% - [https://bugzilla.redhat.com/show_bug.cgi?id=863793 Package review request] still waitng for the reviewer.
* Percentage of completion: 100% - SFACT is available in [[Releases/19|Fedora 19]], as well as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]].


=== Slic3r ===
=== Slic3r ===


[http://www.slic3r.org/ Slic3r] is another favorite tool for slicing. It has a pleasant wxWidgets GUI, uses more then 1 CPU and brings new features quickly. However, it's result aren't always as good as the results from Skeinforge. Slic3r also provides a tool for printing plate preparation.
[http://www.slic3r.org/ Slic3r] is another favorite tool for slicing. It has a pleasant wxWidgets GUI, uses more than 1 CPU and brings new features quickly. However, its results aren't always as good as the results from Skeinforge. Slic3r also provides a tool for printing plate preparation.


* Percentage of completion: 50% - It has a loads of Perl modules dependencies, some of them are ready, some waiting for the reviewer, see the Dependencies section.
* Percentage of completion: 100% - Slic3r is available as an update for [[Releases/19|Fedora 19]], [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]].


=== Printrun ===
=== Printrun ===
[https://github.com/kliment/Printrun Printrun] is a set of G-Code sending applications for RepRap. It consists of printcore (dumb G-Code sender), pronsole (featured command line G-Code sender), pronterface (featured G-Code sender with graphical user interface), and a small collection of helpful scripts. Together with Skeinforge they form a pretty powerful softwarecombo.
[https://github.com/kliment/Printrun Printrun] is a set of G-Code sending applications for RepRap. It consists of printcore (dumb G-Code sender), pronsole (featured command line G-Code sender), pronterface (featured G-Code sender with graphical user interface), and a small collection of helpful scripts. Together with Skeinforge they form a pretty powerful software-combo.


Pronsole is a featured command line G-Code sender. It controls the ReRap printer and integrates Skeinforge.
Pronsole is a featured command line G-Code sender. It controls the ReRap printer and integrates Skeinforge.
Line 69: Line 76:
Plater is a GUI tool to prepare printing plate from STL files for ReRap.
Plater is a GUI tool to prepare printing plate from STL files for ReRap.


* Percentage of completion: 10% - [https://bugzilla.redhat.com/show_bug.cgi?id=863796 Package review request] still waitng for the reviewer.
* Percentage of completion: 100% - Printrun is available in [[Releases/19|Fedora 19]], as well as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]].


=== Cura ===
=== Cura ===
[http://daid.github.com/Cura/ Cura] is a project which aims to be an single software solution for 3D printing. While it is developed to be used with the [http://www.ultimaker.com/ Ultimaker 3D printer], it can be used with other [http://www.reprap.org/ RepRap] based designs.
[http://daid.github.com/Cura/ Cura] is a project which aims to be a single software solution for 3D printing. While it is developed to be used with the [http://www.ultimaker.com/ Ultimaker 3D printer], it can be used with other [http://www.reprap.org/ RepRap] based designs.


Cura helps you to setup an Ultimaker, shows your 3D model, allows for scaling/positioning, can slice the model to G-Code, with sane editable configuration settings and send this G-Code to the 3D printer for printing.
Cura helps you to setup an Ultimaker, shows your 3D model, allows for scaling/positioning, can slice the model to G-Code, with sane editable configuration settings and send this G-Code to the 3D printer for printing.
Line 78: Line 85:
Slicing part of Cura is originally based on Skeinforge, but it is heavily modified.
Slicing part of Cura is originally based on Skeinforge, but it is heavily modified.


* Percentage of completion: 10% - Started working on this.
* Percentage of completion: 100% - Cura is available as an update for [[Releases/19|Fedora 19]] and as a testing update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]].


=== RepetierHost ===
=== RepetierHost ===
Line 85: Line 92:
Slicing part is done by Skeinforge or Slic3r.
Slicing part is done by Skeinforge or Slic3r.


This project uses .NET (or Mono) and official build instructions are for Microsft Visual Studio, however, it is [https://github.com/repetier/Repetier-Host/issues/101 possible to build this on Linux] using open-source tools. We are working with the author to make the build good and use Slic3r and Skeinforge from the distribution.
* Percentage of completion: 100% - RepetierHost is available in [[Releases/19|Fedora 19]], as well as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]].
 
=== Repsnapper ===
[https://github.com/timschmidt/repsnapper Repsnapper] is another RepRap control software. It is completely written in C++ and thus should be faster than all the scripted slicers out there. It has some unique features while others are still missing.


* Percentage of completion: 50% - Waiting for packages reviews (see the Dependencies section) and next release to use Fedora's Slic3r and Skeinforge.
* Percentage of completion: 100% - Repsnapper is available as an update for [[Releases/19|Fedora 19]] and as a testing update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]].


== How To Test ==
== How To Test ==
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  


Remember that you are writing this how to for interested testers to use to check out your feature - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your feature.
Remember that you are writing this how-to for interested testers to use to check out your feature - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your feature.


A good "how to test" should answer these four questions:
A good "how to test" should answer these four questions:
Line 103: Line 113:
3. What are the expected results of those actions?
3. What are the expected results of those actions?
-->
-->
You can test the packages once they are in updates-testing or rawhide repositories. Of course, you can test them also when they reach stable. If you are hardcore, you can use the [http://repo.hroncok.cz/reprap/reprap.repo experimental unofficial repository] for [[Releases/17|Fedora 17]] only (and most of the time 64bit only), but you might need to solve some deps by yourself, as it contains both 32 and 64bit packages.
You can test the packages once they are in updates-testing or rawhide repositories. Of course, you can also test them when they reach stable.


=== OpenSCAD ===
=== OpenSCAD ===
You don't need a 3D printer. Currently available as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]]. The best way to test OpenSCAD is to open and render/compile your designs, examples or [http://www.thingiverse.com/tag:openscad designs from Thingiverse]. Report bugs when you see any misbehavior or let ABRT report them for you.
You don't need a 3D printer. Currently available in [[Releases/19|Fedora 19]] and as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]]. The best way to test OpenSCAD is to open and render/compile your designs, examples or [http://www.thingiverse.com/tag:openscad designs from Thingiverse]. Report bugs when you see any misbehavior or let ABRT report them for you.


=== Skeinforge ===
=== Skeinforge ===
You don't need a 3D printer. Currently only in the experimental repository. The best way to test Skeinforge is to load STL models to it and slice them. You can view exported G-Code in Printrun or even use Skeinforge from Printrun by openning a STL file. If found any bugs consider trying upstream version and compare the results. If they are any differences, contact [[User:Churchyard|Miro Hrončok]], if no, try to [http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge#To_Troubleshoot contact the upstream].
You don't need a 3D printer. Currently available in [[Releases/19|Fedora 19]] and as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]]. The best way to test Skeinforge is to load STL models to it and slice them. You can view exported G-Code in Printrun or even use Skeinforge from Printrun by openning a STL file. Report bugs when you see any misbehavior or let ABRT report them for you.


=== Slic3r ===
=== Slic3r ===
You don't need a 3D printer. Currently only in the experimental repository. The best way to test Slic3r is to load STL models to it and slice them. You can view exported G-Code in Printrun. If found any bugs consider trying upstream version and compare the results. If they are any differences, contact [[User:Churchyard|Miro Hrončok]], if no, try to [https://github.com/alexrj/Slic3r/issues contact the upstream].
You don't need a 3D printer. Currently available as a testing (or testing-pending) update for [[Releases/19|Fedora 19]], [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]]. The best way to test Slic3r is to load STL models to it and slice them. You can view exported G-Code in Printrun or RepetierHost. Report bugs when you see any misbehavior or let ABRT report them for you.


=== Printrun ===
=== Printrun ===
You might need a 3D printer. Currently only in the experimental repository. If you don't have a 3D printer you can still test integrated Skeinforge and G-Code view. If you have one, test connection, user controls and printing itself.
You might need a 3D printer. Currently available in [[Releases/19|Fedora 19]] and as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]]. If you don't have a 3D printer you can still test integrated Skeinforge and G-Code view. If you have one, test connection, user controls and printing itself.


Don't forget to add yourself to dialout user group. If found any bugs consider trying upstream version and compare the results. If they are any differences, contact [[User:Churchyard|Miro Hrončok]], if no, try to [https://github.com/kliment/Printrun/issues contact the upstream].
Don't forget to add yourself to dialout user group. Report bugs when you see any misbehavior or let ABRT report them for you.


=== RepetierHost ===
=== RepetierHost ===
You might need a 3D printer. Currently only in the experimental repository. If you don't have a 3D printer you can still test parts of the application. Please note, that Slic3r and Skeinforge are not yet included in the application. If you have a 3D printer, test connection, user controls and printing itself.
You might need a 3D printer. Currently available in [[Releases/19|Fedora 19]] and as an update for [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]]. If you don't have a 3D printer you can still test parts of the application. If you have a 3D printer, test connection, user controls and printing itself.
 
Don't forget to add yourself to dialout user group. Report bugs when you see any misbehavior or let ABRT report them for you.
 
=== Cura ===
You do not need a 3D printer in order to test Cura. Currently available as an update for [[Releases/19|Fedora 19]] and a testing update [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]]. If you don't have a 3D printer you can still test 3D model display, model manipulation (scaling, mirroring, etc.) and gcode generation ("slicing") - which is about ~80% of Cura's overall functionality. If you have a 3D printer you can additionally run a printer connection test as well as upgrade printer firmware, perform printer user controls and, obviously, print.
 
Don't forget to add yourself to dialout user group before you try to connect Cura to a 3D printer. Report bugs when you see any misbehavior or let ABRT report them for you.
 
=== Repsnapper ===
You might need a 3D printer. Currently available as an update for [[Releases/19|Fedora 19]] and a testing update [[Releases/18|Fedora 18]] and [[Releases/17|Fedora 17]]. If you don't have a 3D printer you can still test parts of the application. If you have a 3D printer, test connection, user controls and printing itself.


Don't forget to add yourself to dialout user group. If found any bugs consider trying upstream version and compare the results. If they are any differences, contact [[User:Churchyard|Miro Hrončok]], if no, try to [https://github.com/repetier/Repetier-Host/issues contact the upstream].
Don't forget to add yourself to dialout user group. Report bugs when you see any misbehavior or let ABRT report them for you.


== User Experience ==
== User Experience ==
Line 137: Line 157:




* Slic3r - [https://bugzilla.redhat.com/show_bug.cgi?id=890839 needs reviewer]
* Slic3r - [https://bugzilla.redhat.com/show_bug.cgi?id=890839 done]
** perl-Growl-GNTP - [https://bugzilla.redhat.com/show_bug.cgi?id=876409 done]
** perl-Growl-GNTP - [https://bugzilla.redhat.com/show_bug.cgi?id=876409 done]
** perl-Math-Geometry-Voronoi - [https://bugzilla.redhat.com/show_bug.cgi?id=887846 done]
** perl-Math-Geometry-Voronoi - [https://bugzilla.redhat.com/show_bug.cgi?id=887846 done]
** perl-Boost-Geometry-Utils - [https://bugzilla.redhat.com/show_bug.cgi?id=876408 needs reviewer]
** perl-Boost-Geometry-Utils - [https://bugzilla.redhat.com/show_bug.cgi?id=876408 done]
*** perl-Module-Build-WithXSpp - [https://bugzilla.redhat.com/show_bug.cgi?id=876405 done] in F18, waiting for deps in F17
*** perl-Module-Build-WithXSpp - [https://bugzilla.redhat.com/show_bug.cgi?id=876405 done]
**** perl-ExtUtils-Typemaps - [https://bugzilla.redhat.com/show_bug.cgi?id=891952 needs reviewer], F17 only
**** perl-ExtUtils-Typemaps - [https://bugzilla.redhat.com/show_bug.cgi?id=891952 done], F17 only
**** perl-ExtUtils-CppGuess - [https://bugzilla.redhat.com/show_bug.cgi?id=876403 done]
**** perl-ExtUtils-CppGuess - [https://bugzilla.redhat.com/show_bug.cgi?id=876403 done]
** perl-Math-PlanePath - [https://bugzilla.redhat.com/show_bug.cgi?id=876928 formally reviewed], waiting for deps
** perl-Math-PlanePath - [https://bugzilla.redhat.com/show_bug.cgi?id=907036 done]
*** perl-Math-Libm - [https://bugzilla.redhat.com/show_bug.cgi?id=877765 done]
*** perl-Math-Libm - [https://bugzilla.redhat.com/show_bug.cgi?id=877765 done]
*** perl-Math-NumSeq - [https://bugzilla.redhat.com/show_bug.cgi?id=890833 needs reviewer]
*** perl-Math-NumSeq - [https://bugzilla.redhat.com/show_bug.cgi?id=890833 done]
**** perl-Math-Prime-XS - [https://bugzilla.redhat.com/show_bug.cgi?id=890831 done]
**** perl-Math-Prime-XS - [https://bugzilla.redhat.com/show_bug.cgi?id=890831 done]
**** perl-Math-Factor-XS - [https://bugzilla.redhat.com/show_bug.cgi?id=890830 done]
**** perl-Math-Factor-XS - [https://bugzilla.redhat.com/show_bug.cgi?id=890830 done]
**** perl-Math-Expression-Evaluator - [https://bugzilla.redhat.com/show_bug.cgi?id=890828 testing-pending]
**** perl-Math-Expression-Evaluator - [https://bugzilla.redhat.com/show_bug.cgi?id=890828 done]
**** perl-Language-Expr - [https://bugzilla.redhat.com/show_bug.cgi?id=876411 waiting for git]
**** perl-Language-Expr - [https://bugzilla.redhat.com/show_bug.cgi?id=876411 done]
***** perl-Data-Rmap - [https://bugzilla.redhat.com/show_bug.cgi?id=876406 done]
***** perl-Data-Rmap - [https://bugzilla.redhat.com/show_bug.cgi?id=876406 done]
****** perl-Lingua-EN-Numbers-Easy - [https://bugzilla.redhat.com/show_bug.cgi?id=878247 done]
****** perl-Lingua-EN-Numbers-Easy - [https://bugzilla.redhat.com/show_bug.cgi?id=878247 done]
Line 157: Line 177:
** perl-Math-ConvexHull - [https://bugzilla.redhat.com/show_bug.cgi?id=890799 done]
** perl-Math-ConvexHull - [https://bugzilla.redhat.com/show_bug.cgi?id=890799 done]
** perl-Math-ConvexHull-MonotoneChain - [https://bugzilla.redhat.com/show_bug.cgi?id=890803 done]
** perl-Math-ConvexHull-MonotoneChain - [https://bugzilla.redhat.com/show_bug.cgi?id=890803 done]
** perl-Math-Clipper - [https://bugzilla.redhat.com/show_bug.cgi?id=887913 versions trouble]
** perl-Math-Clipper - [https://bugzilla.redhat.com/show_bug.cgi?id=887913 done]*
*** perl-ExtUtils-Typemaps-Default - [https://bugzilla.redhat.com/show_bug.cgi?id=876399 testing] in F18, waiting for deps in F17
*** perl-ExtUtils-Typemaps-Default - [https://bugzilla.redhat.com/show_bug.cgi?id=876399 done]
** perl-XML-SAX-ExpatXS - [https://bugzilla.redhat.com/show_bug.cgi?id=890806 done]
** perl-XML-SAX-ExpatXS - [https://bugzilla.redhat.com/show_bug.cgi?id=890806 done]




* Printrun - [https://bugzilla.redhat.com/show_bug.cgi?id=863796 has reviewer]
* Printrun - [https://bugzilla.redhat.com/show_bug.cgi?id=863796 done]
** Skeinforge - [https://bugzilla.redhat.com/show_bug.cgi?id=863793 waiting for git]
** Skeinforge - [https://bugzilla.redhat.com/show_bug.cgi?id=863793 done]
 
 
* SFACT - [https://bugzilla.redhat.com/show_bug.cgi?id=904798 done]
 
 
* Cura - [https://bugzilla.redhat.com/show_bug.cgi?id=901659 done]
** python-power - [https://bugzilla.redhat.com/show_bug.cgi?id=894881 done]
** ultimaker-marlin-firmware - [https://bugzilla.redhat.com/show_bug.cgi?id=905681 done]
*** ino - [https://bugzilla.redhat.com/show_bug.cgi?id=904841 done]




* Cura - [https://github.com/hroncok/SPECS/blob/master/cura.spec prepared], not ready for review
* RepetierHost - [https://bugzilla.redhat.com/show_bug.cgi?id=890946 done]
** python-power - [https://bugzilla.redhat.com/show_bug.cgi?id=894881 has reviewer]
** OpenTK - [https://bugzilla.redhat.com/show_bug.cgi?id=890872 done]




* RepetierHost - [https://bugzilla.redhat.com/show_bug.cgi?id=890946 needs reviewer]
* Repsnapper - [https://bugzilla.redhat.com/show_bug.cgi?id=907585 done]
** OpenTK - [https://bugzilla.redhat.com/show_bug.cgi?id=890872 waiting for git]
** amftools - [https://bugzilla.redhat.com/show_bug.cgi?id=907032 done]
*** stbi - [https://bugzilla.redhat.com/show_bug.cgi?id=907018 done]
*** rapidxml - [https://bugzilla.redhat.com/show_bug.cgi?id=907027 done]
** lmfit - [https://bugzilla.redhat.com/show_bug.cgi?id=907213 done]
** poly2tri - [https://bugzilla.redhat.com/show_bug.cgi?id=907261 done]


== Contingency Plan ==
== Contingency Plan ==
Line 185: Line 218:
* [http://daid.github.com/Cura/ Cura Website]
* [http://daid.github.com/Cura/ Cura Website]
* [http://www.repetier.com/documentation/repetier-host/ RepetierHost Documentation]
* [http://www.repetier.com/documentation/repetier-host/ RepetierHost Documentation]
 
* [https://github.com/timschmidt/repsnapper/blob/master/doc/manual.asciidoc Repsanpper Documentation]


== Release Notes ==
== Release Notes ==
Line 193: Line 226:


== Comments and Discussion ==
== Comments and Discussion ==
* See [[Talk:Features/3D_Printing]] <!-- This adds a link to the "discussion" tab associated with your page. This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
* See [[Talk:Features/3D_Printing]] (Nobody reads that page any more, contact Miro directly with questions.)


(Don't post spam links in further reading sections etc., thanks.)


[[Category:FeatureAcceptedF19]]
[[Category:FeatureAcceptedF19]]

Latest revision as of 10:15, 14 April 2016

Old page
This page is a Feature page for Fedora 19 (that's history now - 2013). It is not a general information page about 3D printing in Fedora. Expect everything here to be outdated. Do not update it. If you like to discuss 3D printing in Fedora, see the 3D Printing SIG.


Fedora Printed supplemental wallpaper for Fedora 19

3D Printing

Summary

Bring 3D printing tools to Fedora and allow users of 3D printers, such as RepRap, to be fully satisfied with software in the repositories, without having to download binary blobs or run Python code from git.

Owner

  • Email: mhroncok@redhat.com

Current status

  • Targeted release: Fedora 19
  • Last updated: 2013-05-14
  • Percentage of completion: 100%

Detailed Description

OpenSCAD
Skeinforge
Slic3r
Pronterface
Cura
RepetierHost
RepSnapper

There are several software needs for 3D printer users: 3D modeling tool, such as OpenSCAD or Blender; slicing tool, to "compile" the 3D model to a set of G-Code instructions, such as Skeinforge or Slic3r; and finally a printer control software, such as Printrun, Cura or RepetierHost.

Other useful application is meshlab, that allows users to view and simplify STL files, but it is already in Fedora, so it is not mentioned more.

Benefit to Fedora

Most of the mentioned tools (except some 3D modeling software) are currently not present in Fedora (or other Linux distributions as well). The goal is to bring them here, and make Fedora the best distribution for 3D printing.

Scope

OpenSCAD

OpenSCAD is a software for creating solid 3D CAD objects. Unlike most free software for creating 3D models (such as the famous application Blender) it does not focus on the artistic aspects of 3D modeling but instead on the CAD aspects. Thus it might be the application you are looking for when you are planning to create 3D models of machine parts but pretty sure is not what you are looking for when you are more interested in creating computer-animated movies.

OpenSCAD is very often used in 3D printing community as the main tool for creating models, as well as parts of 3D printers.

The MCAD library is shipped together with OpenSCAD. This library contains components commonly used in designing and moching up mechanical designs. It is currently unfinished and you can expect some API changes, however many things are already working.

Skeinforge

Skeinforge is a tool chain composed of Python scripts that converts your 3D model into G-Code instructions for RepRap. It is a very powerful tool with perfect results, however the GUI is horrible and it is often used as an integrated slicer in printer control software, where only one part of the GUI is used (Slicing settings).

SFACT

SFACT is new Skeinforge. It is its fork and they can coexist in the same system.

Slic3r

Slic3r is another favorite tool for slicing. It has a pleasant wxWidgets GUI, uses more than 1 CPU and brings new features quickly. However, its results aren't always as good as the results from Skeinforge. Slic3r also provides a tool for printing plate preparation.

Printrun

Printrun is a set of G-Code sending applications for RepRap. It consists of printcore (dumb G-Code sender), pronsole (featured command line G-Code sender), pronterface (featured G-Code sender with graphical user interface), and a small collection of helpful scripts. Together with Skeinforge they form a pretty powerful software-combo.

Pronsole is a featured command line G-Code sender. It controls the ReRap printer and integrates Skeinforge.

Pronterface is a featured G-Code sender with graphical user interface. It controls the ReRap printer and integrates Skeinforge.

Plater is a GUI tool to prepare printing plate from STL files for ReRap.

Cura

Cura is a project which aims to be a single software solution for 3D printing. While it is developed to be used with the Ultimaker 3D printer, it can be used with other RepRap based designs.

Cura helps you to setup an Ultimaker, shows your 3D model, allows for scaling/positioning, can slice the model to G-Code, with sane editable configuration settings and send this G-Code to the 3D printer for printing.

Slicing part of Cura is originally based on Skeinforge, but it is heavily modified.

RepetierHost

RepetierHost is another all-in-one tool for 3D printing. It can arrange one or more models on a virtual print plate, slice the models into G-Code, check the created G-Code for errors and printability, send the G-Code to the printer or copy the code to a SD card (to be used by the printer) and monitor the printer.

Slicing part is done by Skeinforge or Slic3r.

Repsnapper

Repsnapper is another RepRap control software. It is completely written in C++ and thus should be faster than all the scripted slicers out there. It has some unique features while others are still missing.

  • Percentage of completion: 100% - Repsnapper is available as an update for Fedora 19 and as a testing update for Fedora 18 and Fedora 17.

How To Test

You can test the packages once they are in updates-testing or rawhide repositories. Of course, you can also test them when they reach stable.

OpenSCAD

You don't need a 3D printer. Currently available in Fedora 19 and as an update for Fedora 18 and Fedora 17. The best way to test OpenSCAD is to open and render/compile your designs, examples or designs from Thingiverse. Report bugs when you see any misbehavior or let ABRT report them for you.

Skeinforge

You don't need a 3D printer. Currently available in Fedora 19 and as an update for Fedora 18 and Fedora 17. The best way to test Skeinforge is to load STL models to it and slice them. You can view exported G-Code in Printrun or even use Skeinforge from Printrun by openning a STL file. Report bugs when you see any misbehavior or let ABRT report them for you.

Slic3r

You don't need a 3D printer. Currently available as a testing (or testing-pending) update for Fedora 19, Fedora 18 and Fedora 17. The best way to test Slic3r is to load STL models to it and slice them. You can view exported G-Code in Printrun or RepetierHost. Report bugs when you see any misbehavior or let ABRT report them for you.

Printrun

You might need a 3D printer. Currently available in Fedora 19 and as an update for Fedora 18 and Fedora 17. If you don't have a 3D printer you can still test integrated Skeinforge and G-Code view. If you have one, test connection, user controls and printing itself.

Don't forget to add yourself to dialout user group. Report bugs when you see any misbehavior or let ABRT report them for you.

RepetierHost

You might need a 3D printer. Currently available in Fedora 19 and as an update for Fedora 18 and Fedora 17. If you don't have a 3D printer you can still test parts of the application. If you have a 3D printer, test connection, user controls and printing itself.

Don't forget to add yourself to dialout user group. Report bugs when you see any misbehavior or let ABRT report them for you.

Cura

You do not need a 3D printer in order to test Cura. Currently available as an update for Fedora 19 and a testing update Fedora 18 and Fedora 17. If you don't have a 3D printer you can still test 3D model display, model manipulation (scaling, mirroring, etc.) and gcode generation ("slicing") - which is about ~80% of Cura's overall functionality. If you have a 3D printer you can additionally run a printer connection test as well as upgrade printer firmware, perform printer user controls and, obviously, print.

Don't forget to add yourself to dialout user group before you try to connect Cura to a 3D printer. Report bugs when you see any misbehavior or let ABRT report them for you.

Repsnapper

You might need a 3D printer. Currently available as an update for Fedora 19 and a testing update Fedora 18 and Fedora 17. If you don't have a 3D printer you can still test parts of the application. If you have a 3D printer, test connection, user controls and printing itself.

Don't forget to add yourself to dialout user group. Report bugs when you see any misbehavior or let ABRT report them for you.

User Experience

For now, users needs to download precompiled binaries from various websites, clone git repositories and use the software directly from them or use some crazy bash scripts to get this software. Let's show Linux 3D printer community, that Fedora is the best solution for them.

Dependencies

No other packages depend on this software, however, there are some dependencies not yet in Fedora, mostly for Slic3r.


  • Slic3r - done
    • perl-Growl-GNTP - done
    • perl-Math-Geometry-Voronoi - done
    • perl-Boost-Geometry-Utils - done
      • perl-Module-Build-WithXSpp - done
        • perl-ExtUtils-Typemaps - done, F17 only
        • perl-ExtUtils-CppGuess - done
    • perl-Math-PlanePath - done
      • perl-Math-Libm - done
      • perl-Math-NumSeq - done
        • perl-Math-Prime-XS - done
        • perl-Math-Factor-XS - done
        • perl-Math-Expression-Evaluator - done
        • perl-Language-Expr - done
          • perl-Data-Rmap - done
            • perl-Lingua-EN-Numbers-Easy - done
              • perl-Lingua-EN-Numbers - done
          • perl-UUID-Tiny - done
    • perl-Math-ConvexHull - done
    • perl-Math-ConvexHull-MonotoneChain - done
    • perl-Math-Clipper - done*
      • perl-ExtUtils-Typemaps-Default - done
    • perl-XML-SAX-ExpatXS - done






Contingency Plan

Release only ready applications. It is not necessary to release them all in one Fedora release.

Documentation

Release Notes

  • Fedora 19 includes support for 3D printing. This includes software for creating 3D models, generate G-Code for printers from them and control the 3D printers such as RepRap.

Comments and Discussion

(Don't post spam links in further reading sections etc., thanks.)