Giter Club home page Giter Club logo

legacycura's Introduction

Cura

Read this, it's important!

If you are reading this, then you are looking at the development version of Cura. If you just want to use Cura, take a look at the following location: https://daid.github.com/Cura

Development

Cura is developed in Python with a C++ engine. The part you are looking at right now is the Python GUI. The C++ engine is responsible for generating the actual toolpath. For development of the engine check out https://github.com/Ultimaker/CuraEngine

Issues

Before posting issues (either Bugs, Feature requests or Requests for information) please read our policies carefully. These will be regulary updated and can be found at https://github.com/daid/Cura/wiki/Issue-policies

Packaging

Cura development comes with a script "package.sh", this script has been designed to run under *nix OSes (Linux, MacOS, FreeBSD). For Windows the package.sh script can be run from bash using git. The "package.sh" script generates a final release package. You should not need it during development, unless you are changing the release process. If you want to distribute your own version of Cura, then the package.sh script will allow you to do that.

The "package.sh" script understands a number of envrionement variables defined at the top of the script. Review and adjust settings to match your needs.

Both MacOS and Linux require some extra instructions for development, as you need to prepare an environment. Look below at the proper section to see what is needed.

Fedora

Fedora builds Cura by using mock, thereby enabling it to build RPMs for every distribution that mock has a configuration file for. In pratice this means that Fedora can build RPMs for several versions of Fedora, CentOS and RHEL.

Cura can be built under a regular user account, there is no need to have root privileges. In fact, having root privileges is very much discouraged.

However, the user account under which the build is performed needs to be a member of the 'mock' group. This is accomplished as follows:

sudo usermod -a -G mock "$(whoami)"

To install the software that is required to build Cura, run the following commands:

sudo yum install -y git rpmdevtools rpm-build mock arduino

# Ensure that the Arduino tools can be found by the build
sudo mkdir -p /usr/share/arduino/hardware/tools/avr
sudo ln -sf /usr/bin /usr/share/arduino/hardware/tools/avr/bin

To build and install Cura, run the following commands:

# Get the Cura software, only required once
git clone https://github.com/daid/Cura.git Cura

# Build for the current system
cd Cura
./package.sh fedora

# Install on the current system
sudo yum localinstall -y scripts/linux/fedora/RPMS/Cura-*.rpm

Examples of building other configurations:

# Build for Fedora rawhide x86-64 and i386
./package.sh fedora fedora-rawhide-x86_64.cfg fedora-rawhide-i386.cfg

# Since only the basename of the mock configurations is used, this also works:
./package.sh fedora /etc/mock/fedora-21-x86_64.cfg /etc/mock/fedora-rawhide-i386.cfg

Debian and Ubuntu Linux

To build and install Cura, run the following commands:

git clone https://github.com/daid/Cura.git

sudo apt-get install python-opengl python-numpy python-serial python-setuptools python-wxgtk2.8 curl arduino

cd Cura

./package.sh debian_amd64          # or debian_i386 for 32bit
# this will prompt for your root password to run dpkg-deb

sudo dpkg -i ./scripts/linux/cura*.deb

Mac OS X

The following section describes how to prepare working environment for developing and packaing for Mac OS X. The working environment consist of build of Python, build of wxPython and all required Python packages.

We assume you already have Apple hardware with 64bit processor and you are familiar with tools like virtualenv, virtualenvwrapper and pip. Also ensure you have modern compiler installed.

###Install Python You'll need non-system, framework-based, universal with deployment target set to 10.6 build of Python 2.7

non-system: Output of python -c "import sys; print sys.prefix" should not start with "/System/Library/Frameworks/Python.framework/".

framework-based: Output of python -c "import distutils.sysconfig as c; print(c.get_config_var('PYTHONFRAMEWORK'))" should be non-empty string. E.g. Python.

universal: Output of lipo -info `which python` should include both i386 and x86_64. E.g "Architectures in the fat file: /usr/local/bin/python are: i386 x86_64".

deployment target set to 10.6: Output of otool -l `which python` should contain "cmd LC_VERSION_MIN_MACOSX ... version 10.6".

The easiest way to install it is via Homebrew using the formula from Cura's repo: brew install --build-bottle --fresh Cura/scripts/darwin/python.rb --universal Note if you already have Python installed via Homebrew, you have to uninstall it first.

You can also install official build.

###Configure Virtualenv Create new virtualenv. If you have virtualenvwrapper installed: mkvirtualenv Cura

wxPython cannot be installed via pip, we have to build it from source by specifing prefix to our virtualenv.

Assuming you have virtualenv at ~/.virtualenvs/Cura/ and wxPython sources at ~/Downloads/wxPython-src-2.9.4.0/:

  1. cd into ~/Downloads/wxPython-src-2.9.4.0/ and configure the sources:

     ./configure \
     CFLAGS='-msse2 -mno-sse3 -mno-sse4' \
     CXXFLAGS='-msse2 -mno-sse3 -mno-sse4' \
     --disable-debug \
     --enable-clipboard \
     --enable-display \
     --enable-dnd \
     --enable-monolithic \
     --enable-optimise \
     --enable-std_string \
     --enable-svg \
     --enable-unicode \
     --enable-universal_binary=i386,x86_64 \
     --enable-webkit \
     --prefix=$HOME/.virtualenvs/Cura/ \
     --with-expat \
     --with-libjpeg=builtin \
     --with-libpng=builtin \
     --with-libtiff=builtin \
     --with-macosx-version-min=10.6 \
     --with-opengl \
     --with-osx_cocoa \
     --with-zlib=builtin
    
  2. make install Note to speedup the process I recommend you to enable multicore build by adding the -jcores flag: make -j4 install

    Chances are high that compilation will fail with type mismatch error in Obj-C code. If it's the case then apply a patch at scripts/darwin/wxPython-src-2.9.4.0.patch. If it won't fix all the errors, just modify source files manually by casting types to those expected by clang.

  3. cd into ~/Downloads/wxPython-src-2.9.4.0/wxPython/

  4. Build wxPython (Note python is the python of your virtualenv):

     python setup.py build_ext \
     BUILD_GIZMOS=1 \
     BUILD_GLCANVAS=1 \
     BUILD_STC=1 \
     INSTALL_MULTIVERSION=0 \
     UNICODE=1 \
     WX_CONFIG=$HOME/.virtualenvs/Cura/bin/wx-config \
     WXPORT=osx_cocoa
    
  5. Install wxPython (Note python is the python of your virtualenv):

     python setup.py install \
     --prefix=$HOME/.virtualenvs/Cura \
     BUILD_GIZMOS=1 \
     BUILD_GLCANVAS=1 \
     BUILD_STC=1 \
     INSTALL_MULTIVERSION=0 \
     UNICODE=1 \
     WX_CONFIG=$HOME/.virtualenvs/Cura/bin/wx-config \
     WXPORT=osx_cocoa
    
  6. Create file ~/.virtualenvs/Cura/bin/pythonw with the following content:

     #!/bin/bash
     ENV=`python -c "import sys; print sys.prefix"`
     PYTHON=`python -c "import sys; print sys.real_prefix"`/bin/python
     export PYTHONHOME=$ENV
     exec $PYTHON "$@"
    

At this point virtualenv is configured for wxPython development. Remember to use python for pacakging and pythonw to run app for debugging.

###Install Python Packages Required python packages are specified in requirements.txt and requirements_darwin.txt If you use virtualenv, installing requirements as easy as pip install -r requirements_darwin.txt

###Install Arduino.app Arduino.app is required to compile certain components used by Cura. Tested version on Mac OS X is 1.0.5 but recent releases should also work.

###Package Cura into application Ensure that virtualenv is activated, so python points to the python of your virtualenv (e.g. ~/.virtualenvs/Cura/bin/python). Use package.sh to build Cura: ./package.sh darwin

Note that application is only guaranteed to work on Mac OS X version used to build and higher, but may not support lower versions. E.g. Cura built on 10.8 will work on 10.8 and 10.7, but not on 10.6. In other hand, Cura built on 10.6 will work on 10.6, 10.7 and 10.8.

FreeBSD

On FreeBSD simply use the Port Tree (cd /usr/ports/cad/cura) to create (make package) and install (make install) the package as root. Port will check for all necessary dependencies. You can also use the provided binary package with pkg install Cura.

If you want to create an archive for local use the package.sh freebsd script (as an ordinary user) will give you a tarball with the program.

legacycura's People

Contributors

ad1217 avatar adeebshihadeh avatar ahmetalpat avatar alx avatar b4zz4 avatar bbum avatar cederom avatar coloz avatar daid avatar dim3nsioneer avatar dylanwinn avatar fhuberts avatar fuegas avatar gcmalloc avatar hg42 avatar hroncok avatar jbkim avatar jcosmo avatar kentzo avatar msutas avatar nallath avatar oni303 avatar paclema avatar pmsimard avatar projjol avatar qbit avatar redwoodforest avatar reprappermc avatar smorloc avatar spexguy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

legacycura's Issues

Adjust fan speed during cool

I'd like the ability to adjust the fan speed during layers when cooling is active.

I replaced the stock fan duct on my machine with Owen's duct, which seems to put quite a bit more air on the piece, so I've been experimenting with running the fan at 50% speed, but I'd like to increase it during layers when cooling is active.

I'd be happy with either the ability to run it at full speed when cooling is active or to define a separate speed for the fan during cooling layers.

Unable to open Skeinforge settings from Pronterface

Running a build from my fork (which is your fork merged with bbum's) I get the following error when selecting SkeinPyPy->Change Settings... in Pronterface:

/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file '/Applications/SkeinPyPy/skeinforge_application/skeinforge.py': [Errno 2] No such file or directory

Since my application is located at "/Applications/osx64-SkeinPyPy-NewUI-Beta4" it looks like the path to Skeinforge may currently be absolute instead of relative.

SkeinPyPy does nothing and then crashes when X button is clicked to close slice

If I click the X button to close a completed slice the first time I do it nothing happens and then the second time SkeinPyPy crashes.

OS X 10.7.3, let me know if you need anything else.

Here's the trace:

Traceback (most recent call last):
File "/Applications/SkeinPyPy/SkeinPyPy/newui/sliceProgessPanel.py", line 64, in OnAbort
self.mainWindow.removeSliceProgress(self)
File "/Applications/SkeinPyPy/SkeinPyPy/newui/mainWindow.py", line 286, in removeSliceProgress
self.sizer.Add(spp, (i,0), span=(1,4), flag=wx.EXPAND)
File "/usr/local/lib/wxPython-2.9.3.1/lib/python2.7/site-packages/wx-2.9.3-osx_cocoa/wx/_core.py", line 15939, in Add
return core.GridBagSizer_Add(_args, *_kwargs)
wx._core.PyAssertionError: C++ assertion "!CheckForIntersection(item)" failed at /BUILD/wxPython-src-2.9.3.1/src/common/gbsizer.cpp(224) in Add(): An item is already at that position
/Applications/SkeinPyPy/skeinpypy.sh: line 25: 76963 Segmentation fault: 11 python2.7 ${SCRIPT_DIR}/SkeinPyPy/skeinpypy.py

Calibration wizard, Filament diameter not reported to the main window

Environment :

Win 7 64bit
Source : Commit 351bb29

Scenario :

Start SkeinPypy
Open ExpertMenu / rerun first time run wizard
Skip firmware upgrade
Skip Checks
Enter the filament diameter ( put 3.00 instead of 2.89)
Click on next
Click on Finish

Expected result :

In the print config tab, the filament diameter should be 3.0

Actual result :

The filament diameter did'nt change in the UI. You should restart the application to see the change.

Tooltips on Mac

I'll try to assist through teamviewer to point out when it works...

FR: bridging

If SF has a bridge plugin, please incorporate it into the advanced settings of SPP.

Why we need this:
My last object has 2 sections that would have needed slooooow printing and extra extrusion to make a proper bridge... instead, 150mm/s at 0.1mm was way too fast, and way to thin to make a bridge (with my current profile). so the results are a bit "unsatisfactory"

"First time calibrate problem"

Calibrating the extruder in Cura’s “first time setup” does not have any warnings for the head to be hot. There is a test for heater and temp sensor and I clicked it OK when I saw it was heating up.

Also if the Initial setup is rerun and the tests are skipped to get to the extruder calibrator there again are no warnings about head temperature.

Sending the M302 in Printrun allowed me finally to test the extruder and it has been working fine the whole time so I was chasing a non-existing problem.

Of course I might have missed something obvious.
Bertho

Print every half layer like Netfabb

Maybe the skin function could be enabled to get the possiblity of printing perimeters every half layer height and infill every layer for smooth surface and fast infill.

Kind regards
Bito

Wrong number of arguments for OnHeatRun in First Run Wizard

Thanks for great software! I'm new to my Ultimaker and excited to try using SkeinPyPy. It looks so much easier than Skeinforge.

Running Beta4 I got an error message from the first run wizard that my heater and temp senser are not working. I know they are working from using ReplicatorG. The DOS box log shows the error message is likely a result of wrong number of arguments to OnHeatRun. The log shows me using the wizard to update my firmware to the recommended version.

TypeError: OnHeatRun() takes exactly 2 arguments (1 given)

Thanks,
Ken

wizardDone not found in preferences, so using default: False
filament_diameter not found in profile, so using default: 2.89
steps_per_e not found in preferences, so using default: 865.888
Flashing 46952 bytes
Verifying 46952 bytes
Recv: start
Recv: echo: External Reset
Recv: Marlin: 1.0.0 RC2
Recv: echo: Last Updated: Marlin-Mon, 5 Mar 2012 09:56:50 -0800 - f3095493b06d52
a33ae77a0b8c1f92a22633261a | Author: Build-Me-Marlin
Recv: echo: Free Memory: 5631 PlannerBufferBytes: 1232
Recv: echo:Using Default settings:
Recv: echo:Steps per unit:
Recv: echo: M92 X78.74 Y78.74 Z533.33 E865.89
Recv: echo:Maximum feedrates (mm/s):
Recv: echo: M203 X250.00 Y250.00 Z5.00 E45.00
Recv: echo:Maximum Acceleration (mm/s2):
Recv: echo: M201 X9000 Y9000 Z100 E10000
Recv: echo:Acceleration: S=acceleration, T=retract acceleration
Recv: echo: M204 S3000.00 T3000.00
Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/
s), B=minimum segment time (ms), X=maximum xY jerk (mm/s), Z=maximum Z jerk (mm
/s)
Recv: echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
Recv: echo:PID settings:
Recv: echo: M301 P22.20 I1.25 D99.00
Recv: ok
Recv: ok T:114.75 B:0.00 @:0
Recv: ok
Recv: ok T:110.17 B:0.00 @:0
Recv: ok
Exception in thread Thread-9:
Traceback (most recent call last):
File "C:\Users\Lenae\Desktop\Ultimaker\SkeinPyPy\python\lib\threading.py", lin
e 552, in __bootstrap_inner
self.run()
File "C:\Users\Lenae\Desktop\Ultimaker\SkeinPyPy\python\lib\threading.py", lin
e 505, in run
self.__target(_self.__args, *_self.__kwargs)
TypeError: OnHeatRun() takes exactly 2 arguments (1 given)

Recv: start
Recv: echo: External Reset
Recv: Marlin: 1.0.0 RC2
Recv: echo: Last Updated: Marlin-Mon, 5 Mar 2012 09:56:50 -0800 - f3095493b06d52
a33ae77a0b8c1f92a22633261a | Author: Build-Me-Marlin
Recv: echo: Free Memory: 5631 PlannerBufferBytes: 1232
Recv: echo:Using Default settings:
Recv: echo:Steps per unit:
Recv: echo: M92 X78.74 Y78.74 Z533.33 E865.89
Recv: echo:Maximum feedrates (mm/s):
Recv: echo: M203 X250.00 Y250.00 Z5.00 E45.00
Recv: echo:Maximum Acceleration (mm/s2):
Recv: echo: M201 X9000 Y9000 Z100 E10000
Recv: echo:Acceleration: S=acceleration, T=retract acceleration
Recv: echo: M204 S3000.00 T3000.00
Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/
s), B=minimum segment time (ms), X=maximum xY jerk (mm/s), Z=maximum Z jerk (mm
/s)
Recv: echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
Recv: echo:PID settings:
Recv: echo: M301 P22.20 I1.25 D99.00
Recv:
Recv: ok
Recv: ok
Recv: ok
Recv: start
Recv: echo: External Reset
Recv: Marlin: 1.0.0 RC2
Recv: echo: Last Updated: Marlin-Mon, 5 Mar 2012 09:56:50 -0800 - f3095493b06d52
a33ae77a0b8c1f92a22633261a | Author: Build-Me-Marlin
Recv: echo: Free Memory: 5631 PlannerBufferBytes: 1232
Recv: echo:Using Default settings:
Recv: echo:Steps per unit:
Recv: echo: M92 X78.74 Y78.74 Z533.33 E865.89
Recv: echo:Maximum feedrates (mm/s):
Recv: echo: M203 X250.00 Y250.00 Z5.00 E45.00
Recv: echo:Maximum Acceleration (mm/s2):
Recv: echo: M201 X9000 Y9000 Z100 E10000
Recv: echo:Acceleration: S=acceleration, T=retract acceleration
Recv: echo: M204 S3000.00 T3000.00
Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/
s), B=minimum segment time (ms), X=maximum xY jerk (mm/s), Z=maximum Z jerk (mm
/s)
Recv: echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
Recv: echo:PID settings:
Recv: echo: M301 P22.20 I1.25 D99.00
Recv: ok
Recv: ok
Recv: ok
Recv: ok
Recv: start
Recv: echo: External Reset
Recv: Marlin: 1.0.0 RC2
Recv: echo: Last Updated: Marlin-Mon, 5 Mar 2012 09:56:50 -0800 - f3095493b06d52
a33ae77a0b8c1f92a22633261a | Author: Build-Me-Marlin
Recv: echo: Free Memory: 5631 PlannerBufferBytes: 1232
Recv: echo:Using Default settings:
Recv: echo:Steps per unit:
Recv: echo: M92 X78.74 Y78.74 Z533.33 E865.89
Recv: echo:Maximum feedrates (mm/s):
Recv: echo: M203 X250.00 Y250.00 Z5.00 E45.00
Recv: echo:Maximum Acceleration (mm/s2):
Recv: echo: M201 X9000 Y9000 Z100 E10000
Recv: echo:Acceleration: S=acceleration, T=retract acceleration
Recv: echo: M204 S3000.00 T3000.00
Recv: echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/
s), B=minimum segment time (ms), X=maximum xY jerk (mm/s), Z=maximum Z jerk (mm
/s)
Recv: echo: M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
Recv: echo:PID settings:
Recv: echo: M301 P22.20 I1.25 D99.00
Recv: ok
Recv: ok
Recv: ok
Recv: ok
lastFile not found in preferences, so using default: None
layer_height not found in profile, so using default: 0.2
wall_thickness not found in profile, so using default: 0.8
solid_layer_thickness not found in profile, so using default: 0.6
fill_density not found in profile, so using default: 20
skirt_line_count not found in profile, so using default: 1
skirt_gap not found in profile, so using default: 6.0
print_speed not found in profile, so using default: 50
print_temperature not found in profile, so using default: 0
support not found in profile, so using default: None
filament_density not found in profile, so using default: 1.00
retraction_min_travel not found in profile, so using default: 5.0
retraction_speed not found in profile, so using default: 13.5
retraction_amount not found in profile, so using default: 0.0
retraction_extra not found in profile, so using default: 0.0
travel_speed not found in profile, so using default: 150
max_z_speed not found in profile, so using default: 1.0
bottom_layer_speed not found in profile, so using default: 25
cool_min_layer_time not found in profile, so using default: 10
model_scale not found in profile, so using default: 1.0
flip_x not found in profile, so using default: False
flip_y not found in profile, so using default: False
flip_z not found in profile, so using default: False
model_rotate_base not found in profile, so using default: 0
model_multiply_x not found in profile, so using default: 1
model_multiply_y not found in profile, so using default: 1

"Unknown M code:109" seen after slicing file

The exported file is saved as [...]
It took 28 seconds to export the file.
661496
Unknown M code:109
Extruded a total of: 717 mm of filament
Estimated print duration: 28.31 minutes


I do have "M109 S200" in my start.gcode.

Error message packaging Cura

"cp: README: No such file or directory"

I believe this is because README was renamed to README.md. The package completes, the README file just isn't copied. Not sure if you want a markdown file as part of the package so I didn't try to fix this one myself.

thin walls and numbers of outlines used (gaps between 2 perimeters)

https://picasaweb.google.com/lh/photo/W0brohD6QMSl3oDEXfNgQTIYJXjTqlQYmaNWFtjfw8o

I was getting random, and hard to explain thicknesses for thin walls, so I made a quick rake (ranging from 0.5mm to 3.0mm in 0.1mm steps), so see what each slicer is actually doing.

results are in the chart/link above. long story short, neither slic3r nor cura are doing a particular good job slicing thin walled objects, but it this chart may help to pick a certain wall thickness that will produce no gap in between.

Either slicer was set to 1.6mm walls or 10 perimeters, to ensure it's all walls.

in the long run, it would be great if the slicers would have some form of "gap avoidance" and/or at least to use infill or an extra line+combed jump.

you can download the STL at http://nypano.com/clients/UM/rake.stl

Serial connection fails

I have an Ultimaker with the newer electronics. I updated the firmware with the wizard, but now connecting fails during sanity checks:

Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in *bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 505, in run
self.__target(_self.__args, _self.__kwargs)
File "/home/drayko/RepRap/linux-SkeinPyPy-NewUI-Beta4/SkeinPyPy/newui/configWizard.py", line 175, in OnRun
self.comm = machineCom.MachineCom()
File "/home/drayko/RepRap/linux-SkeinPyPy-NewUI-Beta4/SkeinPyPy/newui/machineCom.py", line 110, in __init

self.serial = Serial(port, baudrate, timeout=5)
File "/usr/local/lib/python2.7/dist-packages/pyserial-2.6-py2.7.egg/serial/serialutil.py", line 261, in init
self.open()
File "/usr/local/lib/python2.7/dist-packages/pyserial-2.6-py2.7.egg/serial/serialposix.py", line 282, in open
self._reconfigurePort()
File "/usr/local/lib/python2.7/dist-packages/pyserial-2.6-py2.7.egg/serial/serialposix.py", line 417, in _reconfigurePort
set_special_baudrate(self, custom_baud)
File "/usr/local/lib/python2.7/dist-packages/pyserial-2.6-py2.7.egg/serial/serialposix.py", line 47, in set_special_baudrate
FCNTL.ioctl(port.fd, TERMIOS.TIOCGSERIAL, buf)
IOError: [Errno 22] Invalid argument

This is with both beta4 and latest from git, pyserial 2.5 and 2.6

Pronterface fails with the same error. Seems that pyserial doesn't like the baudrate argument, lower baudrates (in pronterface) seem to work (fails later).

Memory leak loading STL

I got the following message when I loaded an STL (http://www.thingiverse.com/thing:8757 though I don't think it matters):

objc[76925]: Object 0x7fd1530debe0 of class NSConcreteMapTable autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug

The message only occurs the first time an STL is loaded after SkeinPyPy is launched. I've tried one other STL and it caused the issue as well.

I'm running a build from my fork (currently identical to your fork as of a day or two ago).

I'm running OS X 10.7.3.

If you need the version of any dependencies let me know.

slicing error with bridge: complete layer is considered a bridge

I was slicing a battery/remote holder, with 2 horizontal holes in the side walls, and a larger slot for the power switch (19mm wide) across a 2mm thick wall.

settings:
0.1mm, 150mm/s
infill > loops > perimeter
bridge speed: 10%
bridge material: 200%

problem:
instead of just bridging the area/section that needs to be bridged, it bridged the complete layer, and due to my 200% extrusion rate, ruined the complete print: d'oh

bug solution: cura should only bridge where necessary, not everywhere, in addition to printing the perimeters/loops at the same slow speed as the bridge infill (right now, I think they are printed at full speed, which doesn't work at high speeds)

secondary issue:
This bridging technique (squiggly short lines like solid infill) is somewhat new to me, I always thought a bridge is more like long slow extrusions pulling the filament from A to B. with my print order above, the bridge infill has no loop or perimeter to hold on to.

Suggested bugfix:
override bridge areas to loop>perimeter>infill, making sure loop and perimeter are the same speed as bridge infill.

New Marlin fw incompatible?

Hi again;

I picked up Cura windows RC2 and giddily installed last night; noting one major change;

First run wizard: I upgraded the firmware in case there was any major changes. The old firmware shipped with RC1 was around 42kb, the new one is 80kb. With RC2 update, the first run wizard during sanity checks get to 'Disabling Step motors' then echoes, "the unit did not reply properly to the m084, check temperature wires" (or something along those lines). It will not continue through the heater/xyz checks. I downgraded to the firmware that came with RC1 and it calibrates fine in RC2 after that - so RC2 works fine, just the firmware packaged with it has something funky.

Win7 64
Cura RC2 (and 1)
UM with 2560 board

First run>
Update firmware (successful)
Run Sanity Checks (fail at disabling motors)

Extruder calibrate (fails) - known issue

Without calibration, I didn't attempt to print anything on the RC2 packaged firmware.

Incorrect message opening print window when no STL is loaded

If I open Cura with no STL loaded and click "Print GCode" I get a message stating "You need to slice the file to GCode before you can print it".

It would be more accurate to state that I first need to load a file and then slice it to GCode.

This is obviously minor, but I happened across it and thought it was worth filing.

Should the fan be stopped after print outside of end.gcode?

Since starting the fan has been moved out of start.gcode and into the expert preferences (and the gcode itself to Layer 0 after start.gcode is run) should stopping the fan after the print is complete likewise be moved out of the end.gcode? Perhaps a checkbox for stopping the fan after the print is complete or something?

This is extremely minor, but I thought I'd suggest it for consistency's sake.

dll missing error message

skeinpypy win32 B3: when I start the skeinpypy.bat, i get an error message: "python.exe - system error: the program can't start because MSVCR71.dll is missing from your computer. try reinstalling the program to fix this problem. OK" otherwise, it seems to run fine.

Mark actual Layer in Gcode

I have mentioned that there is some commentary in generated GCode i.e. ";TYPE:WALL-INNER". Would it be possible to mark the actual layer number i.e. "begin layer xx".

Thanks
Bito

G21 is set twice in start.gcode

SkeinPyPy_NewUI/skeinforge_application/alterations/start.gcode contains G21 twice. Is there a reason for this or can the second one be removed?

Bridge layers are over extruding

This is new in cura 507c932:
Bridge infill is overextruding material, by about 50% (best guess).
bridge speed is set to 25%, infill to 100% (out of 100mm/sec, 0.2mm, skin on)

is this a miscalculation between the bridge and the skin plugin (since I am now using both at the same time)?

The Start/End-GCode text entry window does not scroll

On my computer (OS X 10.7.3) I am not able to scroll the start/end GCode editing area down. It's as if the bottom of the editing area is being masked instead of resized when I resize the SkeinPyPy window such that the editing area can not display the entire text.

Here's an image showing the bottom end of the scroll bar being cut off by the bottom of the editing area: http://i1162.photobucket.com/albums/q531/lawrencejohnston/Github/SkeinPyPyNoScrolling.png

PrintRun gives incorrect filament used statistics

This may be a PrintRun issue, but since it occurs with SkeinPyPy generated GCode I thought I'd file it.

Whenever I print a file from PrintRun, when it's finished it prints "3.5 mm of filament used in this print" to the console. This is obviously wrong, since in the case of my last print the final value in the GCode file (before end.gcode) is E88.8039.

My wild guess is that it's taking the value from the "G1 F75 E3.5" in the start.gcode.

Add support for calculating filament cost to print statistics

I would be interested in a displayed estimated cost with the other stats on the print screen. You'd presumably need to be able to set how much you paid for your filament somewhere in the preferences or something.

I'm requesting this more because I find the information interesting than because I have a great need for it. As it is I end up doing it in my head for most prints based on an estimated cost.

Assertion slicing STL

I got an assertion slicing http://www.thingiverse.com/thing:8757

File /Users/ljohnston/Development/3dPrinting/Thingiverse/CalibrationPyramid-8757/Hollow_Pyramid.stl is being chain exported.
Carve procedure took 2 seconds.
Preface procedure took 2 seconds.
Inset procedure took 7 seconds.
Fill procedure took 13 seconds.
Multiply procedure took 1 second.
Speed procedure took 1 second.
Raft procedure took 1 second.
Skirt procedure took 0 seconds.
Comb procedure took 1 second.
Cool procedure took 1 second.
Dimension procedure took 1 second.
Alteration procedure took 0 seconds.
The exported file is saved as /Users/ljohnston/Development/3dPrinting/Thingiverse/CalibrationPyramid-8757/Hollow_Pyramid_export.gcode
It took 31 seconds to export the file.
Traceback (most recent call last):
File "/usr/local/lib/wxPython-2.9.3.1/lib/python2.7/site-packages/wx-2.9.3-osx_cocoa/wx/_core.py", line 16768, in
lambda event: event.callable(_event.args, *_event.kw) )
File "/Applications/SkeinPyPy/SkeinPyPy/newui/sliceProgessPanel.py", line 88, in OnSliceDone
self.sizer.Add(self.abortButton, 0)
File "/usr/local/lib/wxPython-2.9.3.1/lib/python2.7/site-packages/wx-2.9.3-osx_cocoa/wx/_core.py", line 14461, in Add
return core.Sizer_Add(_args, *_kwargs)
wx._core.PyAssertionError: C++ assertion "!sizer || m_containingSizer != sizer" failed at /BUILD/wxPython-src-2.9.3.1/src/common/wincmn.cpp(2282) in SetContainingSizer(): Adding a window to the same sizer twice?

It seems to be reproducible and occurs each time I slice the file.

Let me know what additional info you need and I'll get it for you.

Requesting Jitter

Hello again;

When printing multi-walled no-fill simple objects like a cylinder or cone, the layer ends are all lining up causing what amount to a massive gap in the print.
I'm not using retract because there isn't a sufficient jump to require the retract, but when it gets to the end of a layer, in my case it has to cross 2 finished layers to get to the inside of the next layer. That crossing coupled with bowden lag means I get a bump so large that it cleaves the hot plastic from the end of the extruder and leaves a nice wide gap. My understanding is jitter is supposed to help with this by moving the joint every layer.

Thoughts?

Unable to switch between model views on Mac.

The combo box for switching between mode views (e.g. Model – Normal, GCode, etc.) does not work on the Mac. You can select a different view from the combo box but the preview window does not change.

The "Show result" button for a slice does switch to GCode view, but then there's no way to switch back to viewing the STL or any other view.

This has been broken since you added the combo box but I just got around to filing it.

Also when you slice a file it does not automatically switch to the GCode view (a feature I think you added recently). It remains on the Model - Normal view until you click the "Show result" button.

FR: infill flow control

By infill suffers from high speed and too low infill, it becomes crumbly and disjointed, and generally doesn't give enough support, and certainly doesn't take up 25% of the volume... (150mm/s 0.1mm 0.5mm nozzle)

have a look at this:
https://picasaweb.google.com/lh/photo/WsXT564o6kUJutUKjYvLXjIYJXjTqlQYmaNWFtjfw8o?feat=directlink

left is the (super slow) and controlled netfabb infill, on the right side the disjointed and insufficient spp infill (slic3r has the same issues).

adding a simple infill multiplier would help a great deal (as I had requested originally when I made the comments about the beta1 GUI))

Cura - stl

A have a problem with loading a .stl into Cura RC2
The message is:
for arg in seq:
TypeError: 'bool' object is not iterable
?

add support for home.gcode (home plugin)

I use the home plugin to issue per layer gcode (to trigger a camera exposure per layer). The home plugin can be enabled so all it does is insert the home.gcode file at the beginning of the layer, so it wouldn't cause problems for people that don't have a home.gcode.

No error message when attempting to slice with no model loaded

If I don't have an STL loaded and click the "Slice to Gcode" button it actually attempts to slice the non-existent file and appears to succeed.

If you open the log window you get these messages:
File None is being chain exported.
Could not find plugin to handle None
Warning, the text was not recognized in getChainTextFromProcedures in skeinforge_craft for
None

Calibrated steps per e incorrect after the initial setup

If you go back to fix the calibrated length, it seems that the system doesn't recalibrate from scratch, but rather does a relative adjustment assuming that you had started from the default value. This works fine for the initial cal, but if you change it later, it will result in terrible calibration.

I am using Cura beta4, on 64bit windows 7. Also, I'd recommend adding a version check in help to make easier bug reporting.
Truly awesome software, thanks very much

Preview should switch to Model - Normal when model is loaded

What do you think about switching the preview window back to Model - Normal when a new model is loaded if it is currently on GCode? When a new model is loaded the GCode view is blank, so it would make sense to automatically change it to one where the model is visible.

Wizard extrudes much less than 100mm during test extrusion

On my machine the first run wizard extrudes more like 25mm of filament instead of 100mm (measured by removing the bowden cable from the extruder and starting the filament level with the top of the extruder, extruding the filament, and then measuring from the top of the extruded filament down to the top of the extruder).

Using PrintRun to extrude 100mm of filament works fine.

I'm using my branch, which should be equivalent to your branch at this point in time.

Crash after first run wizard

I just updated to the renamed Cura sources and attempted to run Cura.

I got through the first run wizard okay, but then I got a crash.

This is on OS X 10.7.3.

Here's the console text:
wizardDone not found in preferences, so using default: False
filament_diameter not found in profile, so using default: 2.89
steps_per_e not found in preferences, so using default: 0
startMode not found in preferences, so using default: Simple
Traceback (most recent call last):
File "/Applications/Cura/Cura/cura.py", line 59, in
main()
File "/Applications/Cura/Cura/cura.py", line 56, in main
mainWindow.main()
File "/Applications/Cura/Cura/gui/mainWindow.py", line 28, in main
simpleMode.simpleModeWindow()
File "/Applications/Cura/Cura/gui/simpleMode.py", line 23, in init
self.SetIcon(icon.getMainIcon())
File "/usr/local/lib/wxPython-2.9.3.1/lib/python2.7/site-packages/wx-2.9.3-osx_cocoa/wx/lib/embeddedimage.py", line 58, in GetIcon
icon.CopyFromBitmap(self.GetBitmap())
File "/usr/local/lib/wxPython-2.9.3.1/lib/python2.7/site-packages/wx-2.9.3-osx_cocoa/wx/_gdi.py", line 1314, in CopyFromBitmap
return gdi.Icon_CopyFromBitmap(_args, *_kwargs)
wx._core.PyAssertionError: C++ assertion "err == noErr" failed at /BUILD/wxPython-src-2.9.3.1/src/osx/core/bitmap.cpp(639) in GetIconRef(): Error when constructing icon ref

you have a couple bugs - easy to fix

So I found two problems with your configurator linked to the same problem.

After install, you have no preferences file, and the value for steps_per_e is thus 0

the configurator uses this value for a number of functions which then fail..

this value is to determine the new value of steps per E by figuring out a ratio where the 0 is multiplied, thus the output is always zero. it's also used in determining how much to extrude in the first place by setting the steps per mm to the same zero value, thus not extruding.

i suppose the fix is to add a default profile.ini file with a sane value populated..

reza

Raft

Greetings;

Loving what I'm seeing so far, but really need access to the Raft procedure in SF. Without a heated bed or a beefy raft to hold down, builds are having huge problems staying put.

If I recall the raft is already being called in the slicing process, but it doesn't output anything/just the skirt.

bridge settings

can you change the bridge settings to force the default order infill > perimeter?
can you change the bridge settings to honor the amount of outlines/perimeters/wall thickness (right now it just prints one outline)?

right now, the bridge settings use the same order as the profile, i.e. loop > perimeter > infill, but that doesn't work with a bridge, since the perimeter would be printer uselessly into midair, since no bridge infill the present where it could grab on.

Extra wall thickness for bottom/top does not work

Slicing http://www.thingiverse.com/thing:18479

0.05mm layers
Extra wall thickness for bottom/top set to 0.1mm

Following is the first several lines of GCode (including my start.gcode). Note that the first layer starts at Z0.05.

;TYPE:CUSTOM
G21 ;metric values
G90 ;absolute positioning
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G92 X0 Y0 Z0 E0 ;reset software position to front/left/z=0.0
G1 Z5.0 F400
M109 S205 ;wait for temperature to be reached
G1 Z15.0
G92 E0 ;zero the extruded length
G1 F75 E5
G1 E3.5
G92 E0 ;zero the extruded length again
G1 X10.0 Y30.0 F9000
G1 Z1.0 F400
G90 ;set positioning to absolute
G21 ;set units to millimeters
M113 S1.0
M108 S25.0
;LAYER:0
;TYPE:SKIRT
G1 X70.1736 Y89.5242 Z0.05 F9000.0
G1 X72.3313 Y105.027 F1500.0 E0.04772
G1 X86.7567 Y121.7753 E0.11512
...snip till end of skirt...
G1 X79.1684 Y88.0597 E2.75125
G1 X79.6675 Y88.1602 E2.7528
;TYPE:WALL-INNER
G1 X80.412 Y88.5218 F9000.0
G1 X82.7545 Y88.1415 F4500.0
G1 X82.8603 Y87.8726 F1500.0 E2.75369
G1 X83.0767 Y87.6317 E2.75467

ascii/unicode issue when accents in path

Hi,

We had an issue yesterday in Cura on Windows.

We were on a french system, and the download folder for STL was something like "c:..\Téléchargement\model.stl"

With this path, we had errors in main_window.py about ascii/unicode char.

It's just after we found the same error on Slic3r that I understood that it was something related to the path.

I'm not on a windows machine, so I can't give you the precise errors, but I can retrieve it tomorrow. And I'm not fluent enough in Python to patch Cura over this issue, and give a warning to the user.

Thanks,

Alex

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.