Alessandro Ranellucci
08047c11eb
Minor fixes to make_skirt and make_brim
2014-06-13 20:18:34 +02:00
Alessandro Ranellucci
4d76d05bbb
Refactoring: better API for Print/Object steps with explicit dependencies
2014-06-13 20:05:18 +02:00
Y. Sapir
a168973bea
Call get_layer instead of layers->[] (more efficient now that layers() recreates the array).
2014-06-13 18:46:14 +03:00
Alessandro Ranellucci
8ee11b3239
Refactoring: keep height in Flow object and calculate spacing on demand
2014-06-12 01:00:13 +02:00
Alessandro Ranellucci
e158d1e612
Move bridge_flow_ratio to PrintRegionConfig
2014-06-11 22:10:33 +02:00
Alessandro Ranellucci
1674108bac
Don't apply pillars to raft layers
2014-06-11 21:58:35 +02:00
Alessandro Ranellucci
82e2dd4e62
Bugfix: wrong number of raft layers in some situations due to a numerical error
2014-06-11 21:58:28 +02:00
Alessandro Ranellucci
1f497c0f7c
Make support material generation idempotent
2014-06-11 18:02:51 +02:00
Alessandro Ranellucci
7ccfd2f024
More work on incremental slicing
2014-06-11 17:51:18 +02:00
Alessandro Ranellucci
d2ca4c1b13
Some initial work for incremental slicing
2014-06-11 00:15:02 +02:00
Alessandro Ranellucci
3f6360ee8f
Finish porting Print classes to XS
2014-06-10 16:01:57 +02:00
Alessandro Ranellucci
ba8148f4ad
Merge branch 'printcpp' of github.com:sapir/Slic3r into sapir-printcpp
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
lib/Slic3r/Print/Region.pm
2014-06-10 14:46:40 +02:00
Alessandro Ranellucci
e3e69251cb
New XY Size Compensation option. #581 #56
2014-06-10 13:28:57 +02:00
Alessandro Ranellucci
3599bd0bae
Distinct extrusion width for external perimeters
2014-06-09 21:22:15 +02:00
Alessandro Ranellucci
39b8ac80ee
Ignore holes in object footprint when generating raft
2014-05-29 14:54:47 +02:00
Alessandro Ranellucci
8290a006ed
Bugfix: a lot of extra support material was generated when using both raft layers and support material. #2030
2014-05-26 14:09:42 +02:00
Alessandro Ranellucci
4e5f7d74ff
Bugfix: wrong handling of large number of raft layers. #2041
2014-05-25 23:17:00 +02:00
Y. Sapir
8da0bded1d
Move Print object storage to C++. (along with its subobjects)
2014-05-24 23:50:29 +03:00
Alessandro Ranellucci
59f0e76da1
Distinct extrusion role for support material interface
2014-05-12 22:59:49 +02:00
Alessandro Ranellucci
47940a712d
Bugfix: previous brim and skirt were not cleared when disabled after first G-code export. #2024
2014-05-10 20:54:12 +02:00
Alessandro Ranellucci
6e207d3830
Merge branch 'sapir-modelcpp'
2014-05-08 11:13:21 +02:00
Alessandro Ranellucci
c37ef2f18b
New semantics for ExtrusionLoop objects. Early processing of perimeter overhangs for paralellizing such work and making G-code export lighter. Lots of refactoring. This should fix a number of minor bugs, including reversals of perimeter overhangs.
2014-05-08 11:07:37 +02:00
Alessandro Ranellucci
093d1cbe2f
Don't transfer ownership of Model to Print::Object
2014-05-07 01:11:49 +02:00
Alessandro Ranellucci
13af16ea24
Use Pointf for origin_translation and pass const refs whenever possible
2014-05-07 00:58:29 +02:00
Y. Sapir
05b2993769
Translate Model class' storage to C++.
...
Some code copied from xs-model branch.
Also:
* Generate ::Ref classes programatically.
* Add separate __REGISTER_CLASS macro
(for use where forward declaration won't work, i.e. typedefs)
2014-05-05 16:30:19 +03:00
Alessandro Ranellucci
5f88135074
Adjust XY distance of the contact loop
2014-05-02 10:49:14 +02:00
Alessandro Ranellucci
4311f30739
Fixed one typo in BridgeDetector and some improvements to support material
2014-05-01 19:11:53 +02:00
Alessandro Ranellucci
010b71e9d4
Improvements to avoid numerical issues in bridge detection and bridge exclusion
2014-04-30 15:16:15 +02:00
Alessandro Ranellucci
8ded268e7e
Take into account that $layerm->perimeters also contains ExtrusionPath objects. #1991
2014-04-30 10:47:31 +02:00
Alessandro Ranellucci
1667d1826d
Put continuous base flange under pillars support material
2014-04-30 01:51:19 +02:00
Alessandro Ranellucci
1d10cd3da6
Also remove bridged perimeters area from support material
2014-04-30 01:20:18 +02:00
Alessandro Ranellucci
3e3cc4171c
TODO about bridges and support material
2014-04-29 23:40:52 +02:00
Alessandro Ranellucci
ef2296dc8d
Make sure interface and base generation honor the gap between support material and object
2014-04-29 23:29:52 +02:00
Alessandro Ranellucci
98e40d3fe4
Store width and height in ExtrusionEntity objects for debugging purposes
2014-04-29 23:16:16 +02:00
Alessandro Ranellucci
a31b2e6ca2
Stricter implementation of the overhang detection. Includes unit tests
2014-04-29 19:58:58 +02:00
Alessandro Ranellucci
ce9cf4d964
Don't put supports under bridges and potential bridges
2014-04-26 17:19:50 +02:00
Alessandro Ranellucci
148c773319
Exclude support from bridged areas
2014-04-26 16:07:43 +02:00
Alessandro Ranellucci
9ee3868f92
Removed debugging line left
2014-04-25 20:05:08 +02:00
Alessandro Ranellucci
7ac0095018
Fix regression causing default extrusion width to be ignored. #1958
2014-04-25 19:39:27 +02:00
Alessandro Ranellucci
fe1691c151
New --cut feature
2014-04-25 10:20:30 +02:00
Alessandro Ranellucci
f6e99f1467
Bugfix: [filament_preset] was not replaced in filename when using Quick Slice. #1870
2014-04-19 12:10:15 +02:00
Alessandro Ranellucci
62e19469bc
Fixed regression in --infill-only-where-needed. Includes a minimal test suite for such feature. #1871
...
Conflicts:
t/fill.t
2014-04-18 21:48:32 +02:00
Alessandro Ranellucci
93a7d87fc6
Bugfix: pillars support material crashed when no overhangs were detected
2014-04-07 16:59:22 +02:00
Alessandro Ranellucci
20df1023a6
Fixed broken command line scaling. Regression test was in previous commit. #1889
2014-04-05 11:22:05 +02:00
Alessandro Ranellucci
d6d6a51e0d
Fix for incomplete extrusion on solid surfaces
2014-04-05 10:54:24 +02:00
Alessandro Ranellucci
45559f87f3
Save the vector used for aligning object volumes to origin and apply it to additional parts added from the object part panel in order to make them coincide
2014-04-02 20:23:26 +02:00
Alessandro Ranellucci
432a87e73d
New option for forcing the generation of interface shells. #1847
2014-03-25 01:11:28 +01:00
Alessandro Ranellucci
ea3266c6e9
Fix modifiers
2014-03-23 16:56:41 +01:00
Alessandro Ranellucci
fec41d6dfd
Update plater and print upon changing object parts and their settings
2014-03-23 16:45:55 +01:00
Alessandro Ranellucci
6a157c22c2
Fixed minor fatal error
2014-03-22 17:44:42 +01:00
Alessandro Ranellucci
7421a7bf63
Turn fill_density into percentage
2014-03-22 16:23:33 +01:00
Alessandro Ranellucci
e837183327
Fixed regression when using --infill-only-where-needed. Includes regression test. #1721
2014-02-16 12:48:07 +01:00
Alessandro Ranellucci
ffc891d885
Bugfix: when processing with fill_density = 0, top/bottom solid shells were missing regions thinner than 3 * extrusion width. Includes regression test. #1602
...
Conflicts:
lib/Slic3r/Print/Object.pm
t/fill.t
2014-02-07 02:07:21 +01:00
Alessandro Ranellucci
89d3dbaa5a
Bugfix: incorrect number of raft layers was generated when too few were requested. #1678
...
Conflicts:
lib/Slic3r/Print/Object.pm
2014-01-11 23:26:48 +01:00
Alessandro Ranellucci
ea173cf815
Bugfix: ambiguous semantics of the layers_count() method caused M73 to go beyond 100%. #1670
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
2014-01-11 17:40:09 +01:00
Alessandro Ranellucci
c8a48b4527
Implement modifier volumes and port _merge_loops() to XS
2014-01-07 15:40:38 +01:00
Alessandro Ranellucci
b17d06f9d1
Finished porting BoundingBox to XS
2014-01-07 12:48:09 +01:00
Alessandro Ranellucci
3e93a14912
New support material pattern: pillars!
2014-01-05 16:51:16 +01:00
Alessandro Ranellucci
07b9b12475
Make tests pass
2014-01-05 00:36:33 +01:00
Alessandro Ranellucci
a2cbb261cb
More work for refactoring Flow/Extruder
2014-01-03 20:02:00 +01:00
Alessandro Ranellucci
8ed738d3f7
More incomplete work for Flow/Extruder refactoring
2014-01-03 18:27:46 +01:00
Alessandro Ranellucci
52ce6e4a7b
Some initial work for refactoring Print->extruders
2014-01-03 10:44:36 +01:00
Alessandro Ranellucci
b9793b3f12
Moved first_layer_extrusion_width to PrintConfig
2014-01-03 00:34:30 +01:00
Alessandro Ranellucci
bfa2ee2770
Remove scale, rotate, duplicate, duplicate_grid from config (but leave them in CLI)
2014-01-02 18:01:21 +01:00
Alessandro Ranellucci
385e0e0974
Refactoring: new Slic3r::Print::Simple class for non-interactive slicing (used in CLI and Quick Slice)
2014-01-02 17:54:18 +01:00
Alessandro Ranellucci
5bf0942f45
Satisfy test suite and CLI
2014-01-02 17:24:23 +01:00
Alessandro Ranellucci
e2f1040a76
More work
2014-01-02 10:44:54 +01:00
Alessandro Ranellucci
0883d0f4eb
More work here and there
2014-01-01 17:29:15 +01:00
Alessandro Ranellucci
83326845dd
More incomplete work
2013-12-31 14:33:03 +01:00
Alessandro Ranellucci
beb1baa096
Incomplete work for refactoring regions and flows
2013-12-30 18:28:41 +01:00
Alessandro Ranellucci
1157a7f859
Remove package variable $Slic3r::Config
2013-12-24 11:29:31 +01:00
Alessandro Ranellucci
20f1f3d2b4
Fix regression preventing raft from being generated for the entire object footprint. #1614 #1567
2013-12-23 20:31:50 +01:00
Alessandro Ranellucci
1b9079ffbe
Merge branch 'xs-model'
2013-12-20 01:41:13 +01:00
Alessandro Ranellucci
a6a6a6888b
Ported Slic3r::Print::State to XS
2013-12-20 01:36:42 +01:00
Alessandro Ranellucci
d2295cdf70
New Slic3r::Print::State class
2013-12-19 18:54:24 +01:00
Alessandro Ranellucci
685e8e4dfa
More work for step-based slicing
2013-12-19 15:23:10 +01:00
Alessandro Ranellucci
38ea5f79d7
Merge branch 'xs-model'
2013-12-18 19:20:23 +01:00
Alessandro Ranellucci
15235699e4
Completed adapting plater behavior to new Print object API
2013-12-18 18:54:11 +01:00
Alessandro Ranellucci
916a0a0e58
Fix compilation and test suite
2013-12-18 16:34:31 +01:00
Alessandro Ranellucci
a12b1765d6
Fixed wrong commit f495136
. Thanks pdbogen for the report. #1623
2013-12-18 10:21:17 +01:00
Alessandro Ranellucci
0591eecab7
Lazy mesh generation so that we only keep it in model object
2013-12-18 00:13:41 +01:00
Alessandro Ranellucci
f4951367ea
Fixed fatal error about missing method thin_walls(). #1607 #1615
2013-12-17 16:17:15 +01:00
Alessandro Ranellucci
250608aa52
Move centering outside the Print object
2013-12-15 16:17:12 +01:00
Alessandro Ranellucci
2eff7c238e
Some initial work for stateful Print object
2013-12-13 14:02:01 +01:00
Alessandro Ranellucci
5470fbbebc
Make quick_slice() work with new model handling
2013-12-13 12:18:30 +01:00
Alessandro Ranellucci
0e8a0ef1ca
Refactoring. Use Model class for representing the plate in GUI
2013-12-12 20:19:33 +01:00
Alessandro Ranellucci
57fd6ad563
Removed dependency on ->object from Region.pm
2013-11-26 18:46:48 +01:00
Alessandro Ranellucci
0045f84ed2
Removed chained_path_points()
2013-11-23 21:42:01 +01:00
Alessandro Ranellucci
e75dbf37fa
Never scale TriangleMesh objects
2013-11-23 19:25:33 +01:00
Alessandro Ranellucci
a331f4d27a
Finished porting group() to XS
2013-11-23 18:15:59 +01:00
Alessandro Ranellucci
7475762a27
Remove residual uses of Boost for line clipping
2013-11-21 18:47:25 +01:00
Alessandro Ranellucci
c5f7318fc9
Removed debugging statement
2013-11-20 15:38:51 +01:00
Alessandro Ranellucci
50c0081d25
Update Clipper to 6.0.0
2013-11-20 11:35:58 +01:00
Alessandro Ranellucci
ab3e5b5a2c
No support when --support-material-interface-layers was set to 1. #1515
2013-11-14 18:13:57 +01:00
Alessandro Ranellucci
885ab5844e
Ported regular_points() to XS and renamed it to equally_spaced_points()
2013-11-11 20:59:58 +01:00
Alessandro Ranellucci
6bb425e88d
Minor fix about raft and support after previous commit
2013-11-11 20:50:22 +01:00
Alessandro Ranellucci
9f41f0279e
Some work to reduce recursive dependencies between classes
2013-11-11 20:37:06 +01:00
Alessandro Ranellucci
f491b7ba71
Fix t/support.t
2013-11-02 11:32:23 +01:00
Alessandro Ranellucci
3f7adfc07d
Fix raft_layers according to the new support material logic
2013-11-02 11:16:44 +01:00
Alessandro Ranellucci
ff25cc97fa
Explicitely clip support material with object slices (test case from #1397 )
2013-10-27 23:20:06 +01:00
Alessandro Ranellucci
a99d34a91a
Bad memory access in regular_points()
2013-10-27 20:55:55 +01:00
Alessandro Ranellucci
58d92ac36a
Support interface_layers == 0
2013-10-27 18:54:52 +01:00
Alessandro Ranellucci
0e3c9ebe52
Extend interface into base support when the latter is contained in a hole (for better interface anchoring) and fix contact loops when object is enclosed in a hole
2013-10-27 16:37:04 +01:00
Alessandro Ranellucci
4cba5111a3
Fix generation of contact loops
2013-10-27 15:22:44 +01:00
Alessandro Ranellucci
28e9682d0e
Several changes to support material, including a fix to prevent vertical overlapping and horizontal fusion of support and object
2013-10-27 10:19:26 +01:00
Alessandro Ranellucci
c08d4cc798
Fixed support unit tests and reduced dependency on $object
2013-10-26 17:56:59 +02:00
Alessandro Ranellucci
bdf825d078
Refactoring: split support material code into several methods
2013-10-26 17:20:54 +02:00
Mark Hindess
f523c095b1
Trivial fix for support-related undefined sub errors.
2013-09-24 09:54:23 +01:00
Alessandro Ranellucci
197cd8e68b
Typo
2013-09-19 16:09:47 +02:00
Alessandro Ranellucci
ed529b62f3
Fix threading issue with GUI. #1443 #1444
2013-09-19 16:00:47 +02:00
Alessandro Ranellucci
4fe0675380
Removed ZTable code
2013-09-17 23:55:38 +02:00
Alessandro Ranellucci
a7989e382c
Bugfix: enabling raft layers generated support for the whole model. Includes regression test. #1375
2013-09-17 23:51:30 +02:00
Alessandro Ranellucci
e8323fc339
Move support material code to its own class
2013-09-17 23:27:57 +02:00
Alessandro Ranellucci
6adce9f66b
Update support material code to use shared memory
2013-09-17 23:14:49 +02:00
Alessandro Ranellucci
ea0e136b45
Prevent superfluous extra perimeters added when a region has an acute angle
2013-09-17 20:18:54 +02:00
Alessandro Ranellucci
39449f9245
Revert a recent change made to shells generation, causing too much solid infill. Includes regression test. #1431
2013-09-17 19:24:16 +02:00
Alessandro Ranellucci
c7db2cb10f
Prune tiny shells to avoid random extra internal solid infill. #1431
2013-09-16 12:36:04 +02:00
Alessandro Ranellucci
a821eb7f3c
More work to avoid working with vertices outside XS
2013-09-11 11:55:08 +02:00
Alessandro Ranellucci
566d38a472
Replace TriangleMesh with the XS port
2013-09-10 00:40:46 +02:00
Alessandro Ranellucci
5e34a9cf21
Make Repair() idempotent and lowercase
2013-09-09 23:18:33 +02:00
Alessandro Ranellucci
1b9d2e2ef8
Use the XS slicing code
2013-09-09 18:21:10 +02:00
Alessandro Ranellucci
873762491b
Fix a bad access after recent change about ->p returning objects by reference
2013-09-09 17:10:54 +02:00
Alessandro Ranellucci
8607c559c7
Minor tidying
2013-09-07 00:42:56 +02:00
Alessandro Ranellucci
09684c67c2
Optimization: Remove useless calls to union()
2013-09-07 00:28:53 +02:00
Alessandro Ranellucci
10ab3bbb86
Fix Only infill where needed putting insufficient material. #1412
2013-09-07 00:02:58 +02:00
Alessandro Ranellucci
907ba55aab
Some minor fixes needed after the xsdata merge. #1421
2013-09-06 22:52:56 +02:00
Alessandro Ranellucci
f104659020
Optimization
2013-09-06 19:21:38 +02:00
Alessandro Ranellucci
e02ae0d18a
Return Surface objects by reference from SurfaceCollection objects and fix a bug in XS code causing some shell options to be ignored
2013-09-06 18:36:38 +02:00
Alessandro Ranellucci
cb677c45de
Don't grow horizontal shells having acute angles. #1387
2013-09-06 17:43:40 +02:00
Alessandro Ranellucci
67aefdccc7
Fixed --avoid-crossing-perimeters and --support-material after the xsdata merge
2013-09-04 00:10:53 +02:00
Alessandro Ranellucci
a49dc603cc
Many changes and fixes to remove leaks and return objects by reference
2013-09-03 19:26:58 +02:00
Alessandro Ranellucci
fb763b0187
Removed dependency on Math::Clipper
2013-08-27 01:26:44 +02:00
Alessandro Ranellucci
fe42427a54
Ported Polygon->is_valid() and ExPolygon->is_valid()
2013-08-26 23:27:51 +02:00
Alessandro Ranellucci
da0b85c0d9
Ported ExPolygon->contour and ExPolygon->holes
2013-08-26 23:09:18 +02:00
Alessandro Ranellucci
494ed5c5ad
Minor optimization (group offset_ex calls)
2013-08-26 22:54:06 +02:00
Alessandro Ranellucci
fc9cec9d81
Merge branch 'master' into xsdata
...
Conflicts:
lib/Slic3r/Layer/Region.pm
lib/Slic3r/Print/Object.pm
2013-08-25 19:59:42 +02:00
Alessandro Ranellucci
026e0c06e4
Ability to customize how materials are mapped to extruders. #1020
2013-08-25 19:52:32 +02:00
Alessandro Ranellucci
3d6fb1b05c
New feature: ability to override specific settings for individual objects in the plater. #344
2013-08-25 14:37:50 +02:00
Alessandro Ranellucci
fa07c512b4
Merge branch 'master' into xsdata
...
Conflicts:
lib/Slic3r/Layer/Region.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
2013-08-16 09:09:56 +02:00
Alessandro Ranellucci
2b36778dc1
Fix a situation where extra perimeters prevented top shell to be fully propagated. #1387
2013-08-13 09:45:33 +02:00
Alessandro Ranellucci
f1922ce7b3
Fix regression causing lack of contact infill
2013-08-12 19:19:22 +02:00
Alessandro Ranellucci
e5fe04ea7a
Make sure teeth are not too tight
2013-08-12 19:10:40 +02:00
Alessandro Ranellucci
9513fa7600
Enforce some horizontal margin between object and interface/support (contact not affected)
2013-08-12 18:55:11 +02:00
Alessandro Ranellucci
ca7d4163d7
Remove jitter and overlaps in interface infill
2013-08-12 18:45:03 +02:00
Alessandro Ranellucci
7062d028d2
Bugfix: top layers were not detected correctly, causing overlap of support material and object in some situations where there were contact regions having the same Z as some top regions
2013-08-12 18:12:53 +02:00
Alessandro Ranellucci
8d413eda44
Refactoring: generate interface and support in different cycles
2013-08-11 19:25:51 +02:00
Alessandro Ranellucci
5f07d39509
Reapply perimeter only to support
2013-08-10 21:30:50 +02:00
Alessandro Ranellucci
5380b6cb33
Incomplete work to improve support material by avoiding thin columns and making sure everything is supported correctly
2013-08-10 19:39:35 +02:00
Alessandro Ranellucci
abb5d1256f
Added some debugging code
2013-08-09 21:27:57 +02:00
Alessandro Ranellucci
5d80c26b29
Adjust collision detection for brim and include support islands inside the only_retract_when_crossing_perimeters logic
2013-08-09 15:04:14 +02:00