Commit Graph

4578 Commits

Author SHA1 Message Date
bubnikv
bb36e78428 Further CMake integration, split the xs CMakeFiles.txt to
FindAlienWx.cmake and FindPerlEmbed.cmake for easier Perl integration.
2017-08-17 13:30:46 +02:00
bubnikv
5673205d2e Initial implementation of a CMake build system for the Slic3r XS module.
Based on https://github.com/CReimer/Slic3r/tree/makefile_pr
Big thanks to @CReimer for his huge effort.
2017-08-16 19:05:08 +02:00
bubnikv
507f2ff45e Comprimed the previous pull request. 2017-08-14 12:56:09 +02:00
redPrint7
fdc7036fe3 Update WipeTowerPrusaMM.cpp (#464)
Resolves compile error on Win XP / Win 7 with native toolchain MinGW32-w64 on perl 5.26 or Citrusperl 5.24.
2017-08-14 12:54:19 +02:00
bubnikv
a2b876e261 Fixing a crash on pressing +/- with no object active.
https://github.com/prusa3d/Slic3r/issues/467
2017-08-14 12:50:35 +02:00
bubnikv
3b54b68b59 Merged new methods for handling menus with icons,
merged "Use submenus for listing options in dropdown menu." #3905
thanks @alexrj
Adapted the "Use submenus" code to sort the menus in the same order
as they appear in the parameter tabs.
2017-08-04 16:28:01 +02:00
bubnikv
632bf56f29 merged save_window_pos / restore_window_pos from @alexrj Slic3r. 2017-08-04 15:54:12 +02:00
Alessandro Ranellucci
38e713c23c Remember object settings dialog size and position. #3943 2017-08-04 15:45:10 +02:00
bubnikv
8d5e5519f2 Fix of compilation on Windows 32bit: Include windows.h for the declaration
of MultiByteToWideChar.
2017-08-03 19:49:41 +02:00
bubnikv
ed46cfa19d Simplified the code base by requiring wxWidgets >= 3.0 2017-08-03 17:47:18 +02:00
bubnikv
1385018724 Unicode handling:
Removed the Perl dependencies on Encode, Encode::Locale and Unicode::Normalize.
Added dependency on boost::locale.
Added encode_path, decode_path, normalize_utf8 functions to Slic3r.xs

Slic3r.xs has been made mostly utf8 safe by using the boost::nowide library,
thanks to @alexrj for the idea.

Simplified the encode_path / decode_path stuff:
wxWidgets are unicode already, so there is no need to decode_path() from it.
Perl / win32 interfacing is non-unicode, so decode_path() is executed
on ARGV just at the beginning of the perl scripts.
2017-08-03 17:31:31 +02:00
bubnikv
31085fb1d7 Ported some ModelObject methods from Perl to C++.
Added some utility functions to TriangleMesh, thanks to @alexrj
Some porting to C++ based on work by @alexrj.
2017-08-02 16:05:18 +02:00
bubnikv
777023c7a8 Ported PrintObject::prepare_infill & combine_infill from Perl to C++. 2017-08-02 14:24:32 +02:00
bubnikv
933d5b261a Fix of a "Scale to Size" dialog, where a bed size is shown scaled. 2017-08-01 14:42:59 +02:00
bubnikv
71f99423c5 New feature: Bridging angle override through a bridge_angle config
variable. When set to zero, the usual automatic bridge detection applies.
The bridging angle override may be set at the Infill->Advanced settings,
or through a modifier mesh.
2017-07-31 16:23:52 +02:00
bubnikv
75c72bc59b Fix of "MM incorrect extruder temperature"
https://github.com/prusa3d/Slic3r/issues/443

Change of the PlaceholderParser:
All vector configuration values stored into the PlaceholderParser
are expected to be addressed by the extruder ID, therefore
if a vector configuration value is addressed without an index,
a current extruder ID is used.

Also a small fix of fan handling: The fan speed is set to zero
at the start of the G-code if the cooling for the initial extruder
is disabled.
2017-07-31 15:42:55 +02:00
bubnikv
7181f5d163 PrusaControl file format: Added multi-material support. 2017-07-28 15:48:49 +02:00
bubnikv
812a2c7cbd Further implementation of FillRectilinear3. 2017-07-28 15:47:59 +02:00
bubnikv
137aab9631 Fixed compilation on Linux 2017-07-27 13:21:48 +02:00
bubnikv
a6ea01a23f Moved some math macros (sqr, lerp, clamp) to libslic3r.h
Added UNUSED macro to libslic3r.h, used it to reduce some compile warnings.

Split the Int128 class from Clipper library to a separate file,
extended Int128 with intrinsic types wherever possible for performance,
added new geometric predicates.

Added a draft of new FillRectilinear3, which should reduce overfill near the perimeters in the future.
2017-07-27 10:39:43 +02:00
bubnikv
3b51f64411 Fixing https://github.com/prusa3d/Slic3r/issues/432
Slic3r GUI not starting, error when using --gui (on linux)

Implements https://github.com/prusa3d/Slic3r/issues/407
Shortcuts: Movement in 3D Space
Assignment of the camera shortcuts is clear from the menu accelerators.

Implements https://github.com/prusa3d/Slic3r/issues/406
Shortcuts: Rotate +/- 45 degrees
l/r keys rotate the object

Also changed the accelerators for adding / removing duplicates from
Ctrl++/- to plain +/-, from Ctrl-Del to plain Del,
and added an 's' key accelerator for uniform scaling.
2017-07-21 16:29:40 +02:00
bubnikv
969e3f4a80 Fixed "Fill angle of any number other than an Integer does not work"
https://github.com/prusa3d/Slic3r/issues/427
Also enabled floating point rotation angle for supports.
2017-07-20 13:38:10 +02:00
bubnikv
7103fa78ff Reverted back width of the tree control on the Tab panels.
Fixes https://github.com/prusa3d/Slic3r/issues/428
2017-07-20 13:09:02 +02:00
bubnikv
afd5d9eff3 Fixed issues with undefined filament color preview values. 2017-07-20 13:02:12 +02:00
bubnikv
6bb773d0dd Prusa MM Wipe Tower, Improvements of the 1st layer:
Thiner priming line along the wipe tower,
relatively thick infill at the 1st layer to improve adhesion.
2017-07-20 12:58:51 +02:00
bubnikv
aaefb76888 Fixed test cases after change of the "sane" extrusion widths.
Changed the default perimeter / infill overlap to 25%.
2017-07-20 11:03:54 +02:00
bubnikv
ac672d9dc5 Changed the default "sane" extrusion width parameters to
1x nozzle_dmr for support and top infill,
and 1.125x nozzle_dmr for the rest.
This corresponds roughly to the default values tuned for the Prusa MK2
for normal prints.
2017-07-19 16:06:29 +02:00
bubnikv
2f2c0ddc99 Refactored Fill / Flow for readability.
Added an "overlap" member variable to fill classes in the preparation
for futher move of the "infill / perimeter" overlap to the Fill class.
Moved the orientation predicates from Fill to Geometry.
2017-07-19 15:53:43 +02:00
bubnikv
9c1b1829cf PerimeterGenerator - a bit of refactoring for readability. 2017-07-19 15:42:49 +02:00
bubnikv
81823fe7df Reduced the content of Geometry.pm, removed unused Perl subroutines.
Reduced the use Slic3r::Geometry and use Slic3r::Geometry::Clipper
clauses to only reference used subroutines.
2017-07-19 10:45:39 +02:00
bubnikv
2c82a327dd Fix of "Wipe Tower ... only supported ... .4 nozzle" error when slicing
a non .4mm nozzle single extruder (Stock MK2S) print
https://github.com/prusa3d/Slic3r/issues/426

The constraint for the "Wipe Tower" checkbox has been raised, so
one will get this error message only if the printer settings has more
than one extruder configured, as the wipe tower does not get generated
for a single extruder print.
2017-07-17 09:07:18 +02:00
bubnikv
ed73f0b6ef Fix of "Modifier meshes don't work for speed modifications"
https://github.com/prusa3d/Slic3r/issues/298
2017-07-14 17:30:54 +02:00
bubnikv
40a882d01e Experimental feature, which may make the Clipper offsets run faster
due to avoiding the 128bit multiply operations:
A filtered predicate is tried to calculate SlopesEqual()
to minimize the invocation of 128bit multiply operations.
2017-07-13 15:52:19 +02:00
bubnikv
bd93d2f334 Fix of "Cooling fan problem Slic3r 1.35.5.16 "
https://github.com/prusa3d/Slic3r/issues/418
This is a regression of the cooling buffer changes done for multi-material
(supporting different cooling settings for different filaments)
2017-07-13 12:11:00 +02:00
bubnikv
c9325338a8 Fixed "upscaled objects cannot be cut above original height"
https://github.com/prusa3d/Slic3r/issues/419
2017-07-12 23:28:11 +02:00
bubnikv
3a813aaef6 Implemented "Suggestion for Preview View Change"
https://github.com/prusa3d/Slic3r/issues/415

Use left / right keys to switch between the low / high layer scroll bars
on the 3d preview screen.
2017-07-11 18:21:25 +02:00
bubnikv
6f28818f87 Fix of
"Unicode char like for example "ł" crush app when used in profile name"
https://github.com/prusa3d/Slic3r/issues/388

The Prusa3D binary builds are missing the UTF8 libraries.
To avoid having to bundle them, the case sensitive regexes testing
file suffixes were replaced with explicit enumeration of lower / upper
case letters. While crude, it avoids triggering the UTF8 library.
2017-07-11 17:15:34 +02:00
bubnikv
32213ce679 Implements loading of multi-part objects as a bunch of STLs
for a multi-material printer.
Also only a single pop-up dialog is open when loading multiple files.
2017-07-11 13:55:55 +02:00
bubnikv
a7153c67e6 Changed layout of the Tab page to accomodate a wider profile selection
combo box.
https://github.com/prusa3d/Slic3r/issues/194
https://github.com/prusa3d/Slic3r/issues/377
2017-07-11 12:02:44 +02:00
bubnikv
c159165780 A bit of clean-up in GCode.cpp 2017-07-11 11:42:55 +02:00
bubnikv
c52c31a855 A bit of clean-up in FillRectilinear2.cpp 2017-07-11 11:42:21 +02:00
bubnikv
c7d16699a4 When setting an override extruder in the Object Settings dialog,
don't apply this extruder to supports. This did not make sense
as the new "don't change tool (0)" extruder choice fits well for non-soluble
and the soluble supports should not be overriden as well.
2017-07-11 11:41:23 +02:00
bubnikv
41f50b246c Inlined Surface::any_internal_contains / any_bottom_contains 2017-07-10 13:15:36 +02:00
bubnikv
7c1350d007 Fixed "Too much support generated for buildplate only supports"
https://github.com/prusa3d/Slic3r/issues/359
2017-07-07 18:06:41 +02:00
bubnikv
774c69e3c6 Fix of "Problem with larger brim overlapping "
https://github.com/prusa3d/Slic3r/issues/373
2017-07-07 16:40:23 +02:00
bubnikv
434f538919 Fix of soluble interface / non-soluble support:
The non-soluble support with "don't care" extruder will preferably
be printed with a non-soluble extruder, if possible without a tool change.
2017-07-07 13:22:00 +02:00
bubnikv
abcd746774 Fix of
Overhang threshold not utilized after 1.34.1
https://github.com/prusa3d/Slic3r/issues/360

"Overhang threshold" and "Enforce support" don't work
https://github.com/prusa3d/Slic3r/issues/273
2017-07-07 10:45:39 +02:00
bubnikv
e78839d2fc Fixed a regression after porting GCode generator to C++
Not lifting extruder after printing complete individual objects
https://github.com/prusa3d/Slic3r/issues/400
2017-07-05 11:58:00 +02:00
bubnikv
0ad4e9d51f Refactored the cooling buffer: Removed ElapsedTime. 2017-06-30 20:01:32 +02:00
bubnikv
bf9027ff2d Fix of a cooling buffer over multiple extruders. 2017-06-30 19:07:14 +02:00