GithubHelp home page GithubHelp logo

platsch / slic3r Goto Github PK

View Code? Open in Web Editor NEW

This project forked from slic3r/slic3r

11.0 3.0 3.0 19.88 MB

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)

Home Page: http://slic3r.org/

License: GNU Affero General Public License v3.0

Perl 24.18% C 11.46% C++ 63.55% OpenSCAD 0.02% CMake 0.13% JavaScript 0.01% PowerShell 0.24% Python 0.01% Shell 0.40% Makefile 0.01%

slic3r's Introduction

Slic3r Electronics

This is a modified version of Slic3r which supports the integration and routing of electronic components and wires into 3D printable objects. Your printer should be equipped with an additional extruder for conductive paste to generate wires and (optional) a vacuum gripper / cameras for automatic component placing. OctoPNP can be used to control the interactive pick'n place system and for optical calibration.

screenshot

Import schematics

The electronics extension currently supports the XML-based Eagle .sch format to import electronic schematics. Importing a schematic will add all components to the list of unplaced parts and generate the connection graph. Use left-doubleclick on parts, rubberbands and waypoints for placing and routing, right-doubleclick to remove things.

Export designs

The position of all placed components and waypoints can be ex-/imported to a .3de file. This file must be stored in the same location as the .sch file since it referes to the original schematic for part geometries, connections and unplaced parts.

Settings

  • print settings->Multiple extruders->Conductive wire extruder to select the extruder with conductive material
  • print settings->Speed->Conductive wires to set appropriate extrusion speed for conductive material (typically much lower than plastic extrusion speed)
  • print settings->3D Electronics to configure channel widths and offsets

As a starting point, the profile for our developer machine can be found under https://github.com/platsch/Slic3r-Electronics-Config

Slic3r

Slic3r itself is mainly a toolpath generator for 3D printers: it reads 3D models (STL, OBJ, AMF) and it converts them into G-code instructions for 3D printers.

for further information on Slic3r, installation and build instructions please refer to the upstream project https://github.com/alexrj/Slic3r or the Slic3r project homepage

How to install?

If you want to compile the source yourself follow the instructions on one of these wiki pages:

all electronics branches additionally require the libxml2-dev and libxml-perl packages.

Directory structure

  • Build.PL: this script installs dependencies into local-lib/, compiles the C++ part and runs tests
  • lib/: the Perl code
  • package/: the scripts used for packaging the executables
  • slic3r.pl: the main executable script, launching the GUI and providing the CLI
  • src/: the C++ source of the slic3r executable the and CMake definition file for compiling it (note that this C++ slic3r executable can do many things but can't generate G-code yet because the porting isn't finished yet - the main executable is slic3r.pl)
  • t/: the test suite
  • utils/: various useful scripts
  • xs/src/libslic3r/: C++ sources for libslic3r
  • xs/src/slic3r/: C++ sources for the Slic3r GUI application
  • xs/t/: test suite for libslic3r
  • xs/xsp/: bindings for calling libslic3r from Perl (XS)

Acknowledgements

The main author of Slic3r is Alessandro Ranellucci (@alexrj, Sound in IRC, @alranel on Twitter), who started the project in 2011 and still leads development.

Joseph Lenox (@lordofhyphens, Loh in IRC) is the current co-maintainer.

slic3r's People

Contributors

4zm avatar alranel avatar beanz avatar bubnikv avatar cangelis avatar emaker avatar gilesbathgate avatar henrikbrixandersen avatar hippich avatar hroncok avatar hyperair avatar ixce avatar jaggzh avatar jluis avatar jwakely avatar kliment avatar ledvinap avatar lordofhyphens avatar machinekoder avatar ntfshard avatar obra avatar olasd avatar platsch avatar samir55 avatar sapir avatar sparr avatar triffid avatar uclaros avatar xoan avatar zip-o-mat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

slic3r's Issues

Missing libxml dependency

Version

Current HEAD: 19f5cdd

Operating system type + version

Linux / Ubuntu 16.04

Behavior

Build.pl fails due to missing XML::LibXML dependency.
The LibXML perl library is used solely by the EAGLE .sch importer which should be ported to C++.
All other XML interactions are done by pugixml.

Quick fix:
sudo apt install libxml2-dev

@Zip-o-mat FYI.

Disappearing of part in 3D Electronics

Version

0.9.9-3415-g19f5cdd

Operating system type + version

Ubuntu 16.04 LTS

Behavior

  • Describe the problem
    When Placing a electronic part and moving it after first placement the whole part is disappearing and just the coordinate axes are shown.
    When you further move the part with the buttons on the lower left corner the part is appearing again.

  • Steps needed to reproduce the problem
    just place a electronic part on the base part and move it.

  • Expected Results
    no disappearing of the whole part

    • Screenshots from Slic3r preview are preferred
      Diasappeared part:
      grafik
      Appeared part:
      grafik

STL/Config (.ZIP) where problem occurs

Upload a zipped copy of an STL and your config (File -> Export Config)
stl_config.zip

X/Y rotation of SMD-components results in wrong Z-position

Version

19f5cdd

Behavior

Rotating a component around X or Y axis (e.g. to place it with it's pins at the top) results in a wrong z-position of both, the component itself and all pin-waypoints.
For the component: it is not clear how the position should be modeled, at the bottom? COM?
For the pins: the rotation is simply not considered when generating the relative pin positions.

Rotation orientation wrong

Behavior

Z-Rotation of SMD-components is inverted. A positive rotation is expected to turn the part clockwise, but does CCW instead.

Electronics extension per object on the plater

Open and display a separate schematic for each object on the plater. This might also affect the gcode generation.
This behavior is already implemented but damaged by a number of recent modifications.

wont compile boost problems (solved in home branch)

win7, won't build this, boost complaining ... the fix from the main project:
slic3r@b874915
solves the problem on windows (win7 64bit, 32bit perl, boost 1.59.0)

gcc -c -s -O2 -DWIN32  -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-aliasing -mms-bitfields -xc++ -Isrc/libslic3r -IC:\dev\boost_1_59_0 -IC:\Boost -D_GLIBCXX_USE_C99 -DHAS_BOOL -DNOGDI -DSLIC3RXS -DBOOST_ASIO_DISABLE_KQUEUE -DBOOST_LIBS -Isrc -Ibuildtmp -s -O2 -I"E:\bin\STRAWB~1\perl\lib\CORE" -I"E:\bin\STRAWB~1\c\include" -o "src\libslic3r\utils.o" "src\libslic3r\utils.cpp"
In file included from C:\dev\boost_1_59_0/boost/mpl/bind.hpp:50:0,
                 from C:\dev\boost_1_59_0/boost/mpl/lambda.hpp:18,
                 from C:\dev\boost_1_59_0/boost/mpl/apply.hpp:25,
                 from C:\dev\boost_1_59_0/boost/iterator/iterator_facade.hpp:37,
                 from C:\dev\boost_1_59_0/boost/range/iterator_range_core.hpp:27,
                 from C:\dev\boost_1_59_0/boost/range/iterator_range.hpp:13,
                 from C:\dev\boost_1_59_0/boost/range/as_literal.hpp:22,
                 from C:\dev\boost_1_59_0/boost/algorithm/string/trim.hpp:19,
                 from C:\dev\boost_1_59_0/boost/algorithm/string.hpp:19,
                 from src/libslic3r/Config.hpp:13,
                 from src/xsinit.h:48,
                 from src\libslic3r\utils.cpp:1:
C:\dev\boost_1_59_0/boost/mpl/aux_/include_preprocessed.hpp:37:90: fatal error: boost/mpl/aux_/preprocessed/gcc/PerlSock_bind.hpp: No such file or directory
 #   include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
                                                                                          ^
compilation terminated.


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.