OctoPrint is a server controlling a 3D-printer over web-interface, running on the small computer like Raspberry Pi or PCDuino with Linux OS. This article describes how to setup OctoPrint on Raspberry Pi 2 with Ubuntu OS. Read another article to setup OctoPrint on PCDuino.
Raspberry Pi 2 has ARMv7-based CPU on-board – this allows to run Ubuntu directly on this small computer. Ubuntu has plenty of features in compare to special editions of Linux distributives for such small devices and therefore less limitations with installing specific programs and components on it.
OctoPrint is a server controlling a 3D-printer over web-interface, running on the small computer like Raspberry Pi or PCDuino with Linux OS. If such computer has WiFi or connected to WiFi router within local network (e.g. personal WiFi router at home), the 3D-printer can be controlled and monitored remotely – on PC, tablet or smartphone.
Software for printing of 3D models use G-code to control a 3D printer. This G-code is usually generated from files of STL (stereolithography) format. All software presented in this article are able to save models in files of this format, some of presented software – can open or import from such files.
Disclaimer: the author is not a professional in 3D modeling. Only those software are presented which are used by the author himself for preparing 3D models.
Methods of creating 3D models
- Parametric modeling – a number of model parameters such as dimensions, radius, distances between elements of the model. Also links and relations between elements. Efficient for engineer modeling – especially mechanical parts and constructions
- Polygonal modeling – a number of vertices in 3D space with defined values in X, Y and Z coordinates. Also edges which connect these vertices and triangle (or polygonal) surfaces connecting these edges. Very well fits for modelling of art, architecture and sculpture.complex Used as post processing after importing of complex parametric models
- Variety of modifications of two methods above – to compensate limitations of base methods
Modeling can be performed not only with GUI application but also as description by scripts or metalanguages.
Blender uses polygonal modeling. This product allows to create complex surfaces within polygonal meshes. Models are created from a set of objects, normally using predefined shapes (cubes, spheres, tors, etc. ), which can be affected by different modification (moving, stretching, extruding of surfaces to volumes, etc.). It possible also to edit position of vertexes, edges and surfaces individually. Arbitrary vertexes, edges and surfaces also can be added to objects.
Plug-ins made on Python can extend functionality. More over it’s possible to create animation.
- Possibility of creating complex surfaces, put texture on it, add different types of lighting and then generate (render) high-quality images of the scene
- A number of plug-ins for variety of modeling operations. E.g. a plug-in for generating of a gear wheel or a bolt
- Using many different graphics file formats for import and export
- User interface of Blender require some time for learning but than it make work very efficient
- Creating of engineer models (technical parts or mechanisms) require extensive efforts for manual operations for editing of object elements, correction of incorrectly generated elements. Faults accumulated in models need to be fixed in 3rd applications, e.g. Nettfabb Studio (presented below)
SketchUp fits well for designing of interior or architecture. Ordinary operations on creating of object by drawing edges and further extrusion 3D volumes.
Well designed system of hints and snapping assists quick and precise make typical constructions. Basic modifications allows re-size objects to desired dimensions.
- User interface allows easy to learn making objects of medium complexity
- There are special function for architectural design
- Support of plug-ins
- Complex models require experience and extensive efforts. Along this given 3D model may require significant corrections (e.g. using Blender)
PTC Creo Elements/Direct Modeling Express
This product uses simplified modification of parametric modeling – direct modeling. Unlike parametric – it does not use hierarchy relations between 3D objects and consequently it does not have a history of changes which affects objects in hierarchy. Operation “undo” still exists but it is applied successively to objects as in ordinary text editors.
- Interface is simple and easy to learn but require of understanding the approach, which differs from such 3D modeling software as Blender or 3D Max
- Interface and approach of creating models similar to one in Solidworks or PTC Creo Parametric, which use parametric modeling. But in Creo Element the process of modeling intended to be simplified allowing quick prototyping
- Possibility to create assemblies of parts
- Reuse assemblies and parts made earlier
- Maximum of unique pars in a scene – 60
- It’s impossible to open or import objects from popular 3D formats (including STL). But it’s possible to open files in formats STEP and 3D IGES
- Purchased version has no limitation on amount of unique objects and some other features