Commit Graph

273 Commits

Author SHA1 Message Date
Joseph Lenox
e2b56c4462 Repair the generic mesh so it can be exported. 2017-02-21 16:29:57 +01:00
Joseph Lenox
4f428fae40 Added UI options to make a slab, defaulting to the model object's bounding box * 1.5 2017-02-21 16:29:42 +01:00
Joseph Lenox
6aecae3121 UI: fixed naming sphere is not a cylinder. 2017-02-21 16:29:32 +01:00
Joseph Lenox
2971235299 UI code to generate a generic sphere. 2017-02-21 16:29:21 +01:00
Joseph Lenox
716dc2e650 Made cube and cylinder static functions of the package, not some specific TriangleMesh object. 2017-02-21 16:11:52 +01:00
Joseph Lenox
26b6e4c619 Disable sliders if a volume is not selected. 2017-02-21 16:11:41 +01:00
Joseph Lenox
2eea139731 UI now changes its options based on the object type selected. 2017-02-21 16:11:22 +01:00
Joseph Lenox
3ee32ef153 Menu now works to select cylinders (reusing the gui options) 2017-02-21 16:11:09 +01:00
Joseph Lenox
b91b98b21e Added prototype make_cylinder() 2017-02-21 16:10:38 +01:00
Joseph Lenox
107c89d37b Removed commented code. 2017-02-21 16:04:45 +01:00
Joseph Lenox
a0548898f3 Added a cancel button, and rewrote initial option code to reuse OptionGroup. 2017-02-21 16:04:02 +01:00
Joseph Lenox
3109a9bc1f Update main plater view after moving mesh 2017-02-21 16:03:46 +01:00
Joseph Lenox
33f489bba9 Anonymous object supports. Initial implementation provides for a box of arbitrary size. 2017-02-21 16:03:19 +01:00
Joseph Lenox
e93cc13698 Permit sliding modifer meshes around in the Settings dialog. 2017-02-21 16:02:56 +01:00
bubnikv
88e34ff5de Store / retrieve layer height profile from the AMF file.
Reset the layer height profile when changing a print profile to an incompatible one.
Reset button on the layer height bar.
Fixed an update issue on zooming by a scroll wheel.
Fixed an issue when loading an AMF file: Object names are now retained.
2017-02-09 14:56:13 +01:00
bubnikv
e386a2bf72 Documentation of the UI config update functions,
documented missing AMF support for the variable layer thickness.
2017-02-07 18:28:53 +01:00
bubnikv
c2ddf537c6 Fixed a newly introduced bug in the multi material UI dialog. 2017-01-31 11:38:07 +01:00
bubnikv
e016c4e423 New extrusion class: ExtrusionMultiPath
This is similar to an ExtrusionLoop, but it is open.
It may contain multiple chained paths with differing parameters.
This allows one to have a hierarchy of paths, where the ExtrusionEntityCollection
will be chained by the G-code generator, but ExtrusionMultiPath will not.
2017-01-19 13:35:55 +01:00
bubnikv
46b44fc141 User interface of the variable layer thickness. Certainly not finished yet,
but sufficient for evaluation of the prints.
2016-12-12 18:02:24 +01:00
bubnikv
695c92fb00 CLIPPER_OFFSET_SCALE was made a power of two, the scaling functions
inside ClipperUtils are now using bit shifts instead of multiplication
by doubles, which makes the scaling precise.

Removed the scale parameter from all offset functions.

Modified the safety offset to calculate offset per polygon instead
of over all polygons at once. The old way was not safe and very slow,
sometimes this meant a kiss of death for supports for example.
2016-11-28 17:33:17 +01:00
bubnikv
7f1704b2ac Disabled live preview by default as it is not stable and/or the calculation takes too long for interactive usage. 2016-11-13 23:35:56 +01:00
bubnikv
f4ee87ba24 Fixed https://github.com/prusa3d/Slic3r/issues/27 2016-11-11 12:00:40 +01:00
bubnikv
e15b5f4587 Fix of https://github.com/prusa3d/Slic3r/issues/16
Crashes while switching in preview through layers with arrow keys

Also added a check box to visualize a single layer only
in the 3D path view. The check box may be toggled with a 'S' key.

Added shift+U / shift+D buttons in the 3D path view to show a single
layer only.
2016-11-08 17:13:16 +01:00
bubnikv
b8590180d8 Fix of https://github.com/prusa3d/Slic3r/issues/20
Slicing preview incorrect in terms of visible solid layers
2016-11-08 15:33:13 +01:00
bubnikv
ae2bae137a Added a low layer slider into the 3D preview window.
This is to limit the preview to a span of layers.
2016-10-03 17:01:29 +02:00
bubnikv
403329db49 Misc bugfixes. 2016-09-26 13:58:47 +02:00
bubnikv
a506030082 Draft of a 3D toolpaths preview. 2016-09-26 12:38:29 +02:00
bubnikv
4c67230436 Documented the purpose of various perl modules. 2016-09-14 11:22:41 +02:00
bubnikv
9fcc8fe9ae Meged with release_candidate_1_3 2016-09-12 11:29:39 +02:00
bubnikv
ef0d22be30 2D platter rendering fixed on Windows, and the background color fixed
on Linux/GTK.
2016-06-03 15:23:03 +02:00
bubnikv
62b440ff6c Fixes a performance issues on Windows, where the cut is being
refreshed many times for a single move of the Z plane.

Fixes a problem on Windows, where the new wxWidgets always returned
Cancel, even if the window was closed with the "Cut" button.

Improved performance if the live preview is disabled or not needed,
because both top and bottom parts shall be displayed.
2016-06-03 10:35:39 +02:00
bubnikv
ab9e3b718c Support multi sampled anti-aliasing with wxWidgets 3.0.3. 2016-05-27 23:38:45 +02:00
Vojtech Bubnik
d022493297 Merge remote-tracking branch 'upstream/master' 2016-05-03 22:05:31 +02:00
bubnikv
3ba625da22 Revert incorrect checkins. 2016-04-11 17:34:15 +02:00
bubnikv
7da68c91a5 Vojtech likes to use Sublime on Windows to get the wheels rolling. 2016-04-11 17:05:58 +02:00
Alessandro Ranellucci
f006e66549 Refactored calls to Wx::Bitmap->new 2016-04-09 19:10:57 +02:00
Alessandro Ranellucci
412a862677 Fixed dragging in 3D plater having some glitches with multipart objects 2016-03-19 22:31:07 +01:00
Alessandro Ranellucci
f7e97f7e9b Refactor cutting logic, don't slice in 3DScene 2015-12-19 23:15:37 +01:00
Alessandro Ranellucci
025a508de2 Ignore cut result if user didn't click the cut button 2015-12-19 20:41:47 +01:00
Alessandro Ranellucci
70e8db8a0a Minor code cleanup here and there 2015-12-19 20:27:04 +01:00
Alessandro Ranellucci
c73378744f Prevent flickering 2015-12-15 17:10:10 +01:00
Alessandro Ranellucci
7ecfe195f7 Live preview in the cut dialog 2015-12-14 00:15:26 +01:00
Alessandro Ranellucci
c16cdb9d85 Preserve the current layer when refreshing the 3D preview 2015-12-05 23:22:50 +01:00
Alessandro Ranellucci
a8091e41a0 Fix a minor glitch with scrollbars in OverrideSettingsPanel 2015-12-05 23:14:13 +01:00
Alessandro Ranellucci
c65c9d876e Bugfix: zooming in empty layers preview (because of disabled background processing) crashed 2015-07-04 15:26:11 +02:00
Alessandro Ranellucci
e84ead5291 Bugfix: changing range-based layer heigths didn't trigger background processing. #2958 2015-07-04 15:26:04 +02:00
Alessandro Ranellucci
455a1062ef Fix minor rendering glitch in 2D toolpaths preview 2015-06-17 00:34:05 +02:00
Alessandro Ranellucci
42ae8347df Zoom around mouse location in 2D toolpaths preview 2015-05-24 23:29:53 +02:00
Alessandro Ranellucci
c64308a5e7 Render brim and skirt in 3D toolpaths preview. #2649 2015-05-18 00:49:16 +02:00
Alessandro Ranellucci
36ba2eb5d6 Improved zoom/pan for toolpaths preview 2015-05-17 21:29:57 +02:00
Alessandro Ranellucci
80b169aa75 Pan & zoom for toolpaths preview 2015-05-16 00:33:22 +02:00
Alessandro Ranellucci
d998d97754 Bugfix: crash on Windows when deleting the first object part. #2774 2015-05-05 01:12:16 +02:00
Alessandro Ranellucci
901716adc8 Bugfix: the object parts editor is opened in invalid status until user clicks on a tree list item. #2762 2015-03-30 20:27:18 +02:00
Alessandro Ranellucci
3fd182a8f5 Fix object Z alignment after cut + rotate lower part. #2724 2015-03-09 18:37:58 +01:00
Alessandro Ranellucci
25cddfe446 Bugfix: layers view was not resized when inactive. #2608 2015-03-09 15:30:19 +01:00
Alessandro Ranellucci
722e94513c Refactoring: removed the non-idempotent init_extruders() step. Also, infill_extruder was not limited to the available number of extruders when slicing from the plater, and support material extruder was considered also when support material was disabled 2015-03-06 09:56:58 +01:00
Alessandro Ranellucci
69ea88473d Workaround for the Clipper issue causing extra points in grid segments 2015-02-22 17:09:08 +01:00
Alessandro Ranellucci
5021c9605b Revert "Merge pull request #2681 from robstarling/u/robstar/circular-bedshape-drawing-fix2"
This reverts commit 13885a36ec, reversing
changes made to 7198607420.
2015-02-22 15:01:33 +01:00
Rob Starling
6719afadec Bugfix: correctly draw circular beds in the 2D plater
Wx::DrawLine wasn't happy with a polyline, so we pass the sequence of points to Wx::DrawLines
2015-02-21 14:08:52 -08:00
Alessandro Ranellucci
9abcd5816c Little test for mixing objects and toolpaths 2015-01-25 15:36:20 +01:00
Alessandro Ranellucci
43f57ba2cb Optimization: don't reload 3D toolpaths each time the preview tab is selected 2015-01-25 10:59:39 +01:00
Alessandro Ranellucci
38d8b1d268 Update bed shape in 3D preview as well 2015-01-25 00:29:51 +01:00
Alessandro Ranellucci
b782351fd3 Enable arrows in 3D preview and rename preview tabs 2015-01-18 20:55:44 +01:00
Alessandro Ranellucci
428f831886 Scroll 3D preview layers with a slider 2015-01-18 20:48:54 +01:00
Alessandro Ranellucci
f2818ddbe0 Live 3D toolpaths preview. 2015-01-18 19:36:47 +01:00
Alessandro Ranellucci
56853319d1 Restore correct Z alignment after cut 2015-01-14 23:26:28 +01:00
Alessandro Ranellucci
2a7f1a8c19 Only show a single instance in settings and cut dialogs 2015-01-14 23:24:01 +01:00
Alessandro Ranellucci
3ee0fc5b1c Ability to select object parts by clicking in the 3D view in the object editor 2015-01-13 20:55:19 +01:00
Alessandro Ranellucci
d46d5c955b One more refactoring in 3DScene (select group/drag group) 2015-01-13 20:55:19 +01:00
Alessandro Ranellucci
9c8f8f8ded Refactoring: make Slic3r::GUI::3DScene::Base model-independent 2015-01-13 20:55:19 +01:00
Alessandro Ranellucci
fb08588007 Renamed PreviewCanvas to 3DScene 2015-01-09 01:30:04 +01:00
Alessandro Ranellucci
0a62d658d9 Removed ObjectPreviewDialog not used anymore 2015-01-09 01:27:35 +01:00
Alessandro Ranellucci
4c7d9dfef5 Memory optimization in PreviewCanvas: don't keep additional meshes in memory when not needed 2015-01-09 01:18:47 +01:00
Alessandro Ranellucci
2f255620c6 Fix toolpath preview after recent change of semantics of LayerRegion::perimeters 2015-01-08 15:41:17 +01:00
Alessandro Ranellucci
eba19aaba4 Fixed Object part editor because it wasn't updated with the new PreviewCanvas API. #2455 2014-12-28 00:16:15 +01:00
Alessandro Ranellucci
4c3fa999f5 Only draw the slices in toolpath preview for the current selected layer 2014-12-25 19:35:51 +01:00
Alessandro Ranellucci
9dd228df01 Enable the GLU tesselator on MSW if we have a recent OpenGL module 2014-12-24 11:49:27 +01:00
Alessandro Ranellucci
ea40c4d1b0 Fixed rendering of multiple interlaced layers in toolpaths preview 2014-12-24 01:34:35 +01:00
Alessandro Ranellucci
faed500520 Refresh slider when reloading print in toolpath preview canvas 2014-12-22 18:56:16 +01:00
Alessandro Ranellucci
38ecce0ce9 Disable the GLU tesselator on MSW 2014-12-17 14:41:58 +01:00
Alessandro Ranellucci
34a49086e5 Added code for potential antialiasing 2014-12-17 14:28:25 +01:00
Alessandro Ranellucci
fcfb3b98bc 3D object positioning 2014-12-16 01:12:56 +01:00
Alessandro Ranellucci
a34cd24fa1 Overlay object slices in toolpaths preview 2014-12-15 12:42:11 +01:00
Alessandro Ranellucci
74b3be3c06 Refactoring in 3D interactive code. Highlight all copies of an object when hovering 2014-12-14 00:54:35 +01:00
Alessandro Ranellucci
d1f58cbed5 Objects can be selected in 3D preview now. Double click and right click work as well 2014-12-13 20:41:03 +01:00
Alessandro Ranellucci
360dee862b Keep model objects aligned to Z = 0 in plater 2014-12-12 22:43:56 +01:00
Alessandro Ranellucci
baf070a36d Bugfix: workaround for MSW wxWidgets not drawing the slider 2014-12-12 12:34:40 +01:00
Alessandro Ranellucci
04bcb410a9 Minor GUI improvements to toolpaths preview 2014-12-01 00:10:32 +01:00
Alessandro Ranellucci
98c67007d5 Finished bb103122065cddf8f8ea63f5e4fce954142c4d4c 2014-12-01 00:00:12 +01:00
Alessandro Ranellucci
e8f242ee3f Move toolpaths preview to the plater dialog 2014-12-01 00:00:11 +01:00
Alessandro Ranellucci
049859e5b1 Fixed minor regression in plater 2D canvas 2014-11-22 19:42:35 +01:00
Alessandro Ranellucci
875035c09e Minor improvement to plater: select/drag uppermost object when user clicks on overlapping objects 2014-11-13 00:16:41 +01:00
Alessandro Ranellucci
334086d605 Bugfix: skirt and brim were not recalculated when objects where just moved in plater 2014-11-12 23:28:42 +01:00
Alessandro Ranellucci
73b3c06361 Ported more things to XS 2014-09-21 10:51:36 +02:00
Alessandro Ranellucci
380dd8adfc Ported some methods to XS 2014-08-03 18:41:09 +02:00
Alessandro Ranellucci
3e2799a4ee Bugfix: unexpected result when cutting a scaled object 2014-08-03 10:51:01 +02:00
Alessandro Ranellucci
f462af20f9 Visual preview for bed shape dialog 2014-08-03 00:20:55 +02:00
Alessandro Ranellucci
7aaf27c0c7 Put skirt outside brim to avoid conflicts. #2157 2014-07-24 23:43:19 +02:00
Alessandro Ranellucci
86bad17abb Display skirt and brim in toolpaths preview. Also take support material margin into account when sizing the window. #2169 2014-07-24 18:32:07 +02:00
Alessandro Ranellucci
983cf09ee5 Display bed shape in 3D plater 2014-07-15 21:58:03 +02:00
Alessandro Ranellucci
4617188790 Round print center coordinates to integer in 2D plater canvas 2014-07-13 12:36:37 +02:00
Alessandro Ranellucci
da4d6cbabb 3D preview of plater 2014-07-13 12:10:34 +02:00
Alessandro Ranellucci
b8a629f0b6 Select last appended part in object parts panel 2014-07-12 11:46:03 +02:00
Alessandro Ranellucci
aacc01a56f Store object and volume names in the new 'name' property instead of relying on material id 2014-07-12 11:20:57 +02:00
Alessandro Ranellucci
f82a8475a1 Use AMF object and volume metadata for handling per-object and per-volume settings 2014-07-11 20:09:01 +02:00
Alessandro Ranellucci
2ca0d4627a Refresh 2D plater canvas when window is resized (did not update on GTK) 2014-07-04 12:13:39 +02:00
Alessandro Ranellucci
b926079fd5 Enlarge the Z slider in the cut dialog 2014-07-04 12:04:42 +02:00
Alessandro Ranellucci
f0a57a83fd Proper handling of interlaced layers in toolpaths preview 2014-07-04 01:04:07 +02:00
Alessandro Ranellucci
2632b2b30e Include support material in toolpaths preview 2014-07-04 01:04:07 +02:00
Alessandro Ranellucci
16281cc0c3 Fix toolpaths preview when objects have distinct layer heights 2014-07-04 01:04:07 +02:00
Alessandro Ranellucci
907de1011f Toolpaths preview 2014-07-03 09:24:19 +02:00
Alessandro Ranellucci
d9dc2fda00 Fixed regression causing variable layer heights to be ignored. #2136
Conflicts:

	xs/xsp/my.map
2014-07-01 19:49:15 +02:00
Alessandro Ranellucci
710568b989 Initialize controls status when loading cut window 2014-07-01 18:22:19 +02:00
Alessandro Ranellucci
a06fad9e13 Enable/disable GUI controls according to the others in order to guide the user through option dependency 2014-07-01 18:18:23 +02:00
Alessandro Ranellucci
04b67f0cb0 Refactored OptionsGroup class for cleaner OOP model and cleaner event model 2014-07-01 16:42:12 +02:00
Alessandro Ranellucci
b9e8fbacb7 Put the Default Extruder option in a less confusing position 2014-06-19 20:07:16 +02:00
Alessandro Ranellucci
928335f186 Removed print_center option (but left --print-center from CLI) 2014-06-16 23:58:45 +02:00
Alessandro Ranellucci
4d8ecccc5e Add support for circular bed 2014-06-16 23:36:31 +02:00
Alessandro Ranellucci
998a4225de Finished implementation of bed_shape in plater 2014-06-16 15:18:39 +02:00
Alessandro Ranellucci
7a20c4d52a More incomplete work for using bed_shape in plater 2014-06-16 14:05:22 +02:00
Alessandro Ranellucci
87383250de Fix regression in cut 2014-06-14 22:36:49 +02:00
Alessandro Ranellucci
182c5eb809 Show contextual menu when right-clicking on a plater object 2014-06-14 21:36:28 +02:00
Alessandro Ranellucci
ec7bb40da9 Rotation around X and Y axes from plater 2014-06-14 20:52:21 +02:00
Alessandro Ranellucci
3d8c8fa46e Import wxTheApp 2014-06-14 19:59:59 +02:00
Alessandro Ranellucci
ddac2d1570 Merged SkeinPanel into MainFrame 2014-06-14 19:54:18 +02:00
Alessandro Ranellucci
defe0a4279 Move 2D canvas to a distinct class for better isolation 2014-05-28 12:29:43 +02:00
Alessandro Ranellucci
ad99b2a0fd Fixed one more regression introduced with Model refactoring. Includes regression test 2014-05-15 16:37:18 +02:00
Alessandro Ranellucci
baefefc50d One method call not changed after Model refactoring 2014-05-12 22:42:50 +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
2a2ba15665 Use a slider for the cutting GUI 2014-04-25 18:36:08 +02:00
Alessandro Ranellucci
8db4913b04 New option for rotating the lower part resulting from the cut so that the flat surface lies on the print bed 2014-04-25 17:50:03 +02:00
Alessandro Ranellucci
4f17c2b7d1 First working implementation of a GUI for cutting 2014-04-25 17:14:39 +02:00
Alessandro Ranellucci
882a98ed44 Initial work for a GUI for the cut feature 2014-04-25 14:54:08 +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
071097d3f1 Fix extruder assignment and tests 2014-03-27 00:01:33 +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
67ef3f1799 Assign a default extruder for newly added parts too 2014-03-23 15:25:26 +01:00
Alessandro Ranellucci
d75417601e Make the override panel prettier and prevent the default extruder setting from being deleted since it can't be readded manually 2014-03-23 15:18:08 +01:00
Alessandro Ranellucci
bf8c388568 Use a popup menu for part settings 2014-03-23 13:46:05 +01:00
Alessandro Ranellucci
f71ac8cd65 Merge the Object Settings tab into the Parts tab 2014-03-22 17:41:14 +01:00
Alessandro Ranellucci
30aa255bb5 Correctly disable and reset the override settings panel 2014-03-21 22:15:33 +01:00
Alessandro Ranellucci
bf352de224 Replaced icon for modifier meshes and fixed delete button not being disabled when no part was selected 2014-03-21 22:06:47 +01:00
Alessandro Ranellucci
878deb8183 Write material config to AMF files. Remove the old Materials tab. Update custom settings when a part is selected 2014-02-15 00:36:52 +01:00
Alessandro Ranellucci
691db31da0 Some incomplete work for per-region config 2014-02-14 22:26:00 +01:00
Alessandro Ranellucci
2e7b29fbdd Minor layout changes to the Parts editor 2014-02-14 22:25:59 +01:00
Alessandro Ranellucci
bf307371f4 Use a plain list instead of a tree to display object parts 2014-02-14 22:25:59 +01:00
Alessandro Ranellucci
94cb298eec Make OpenGL optional for the new parts dialog. #1731 2014-02-11 01:09:10 +01:00
Alessandro Ranellucci
42519174cd New erase() method for DynamicConfig objects 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
b5b8fb606f Basic functionality of the Parts tab is complete 2014-01-22 21:15:19 +01:00
Alessandro Ranellucci
7387e60706 More incomplete work 2014-01-22 21:15:19 +01:00