Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RC2+ Program crash when using raft with modified Shape-Box with height 0.5mm #5652

Closed
brettvitaz opened this issue Dec 31, 2020 · 4 comments
Closed

Comments

@brettvitaz
Copy link

Version

Version 2.3.0-rc2+

Operating system type + version

MacOS Big Sur (11.1)

3D printer brand / version + firmware version (if known)

Ender 3 / Prusa MK3S+

Behavior

Program crashes when using a raft with the Shape-Box

Steps needed to reproduce the problem

  • Add shape "Shape-Box"
  • Resize to 25x25x0.5
  • Add 1 layer raft
  • Slice

Expected Results

  • Sliced stubby box with raft

Actual Results

  • Program crashes

Project File (.3MF) where problem occurs

Shape-Box with Raft.3mf.zip

@lukasmatena
Copy link
Collaborator

Reproduced, thanks.

For reference: In version 2.2.0, slicing is stopped by the 'Empty layers detected' error, so there is some problem there as well, it probably just stops before the crash. The error was turned into a warning in 2.3.0.

lukasmatena added a commit that referenced this issue Jan 2, 2021
The problem is that PrintObject support generator is only run when m_layers.size() > 1, so one-layer object will skip it.
It apparently never worked, after recent refactoring (probably 8bfc986) it started to crash in GCode generator.
This commit fixes the crash, but not the problem. The raft is still not generated (like in all versions since 2.0.0 at least).
@lukasmatena
Copy link
Collaborator

The problem is that raft is only generated when ((m_config.support_material || m_config.raft_layers > 0) && m_layers.size() > 1) (PrintObject.cpp:420). In this case there is just one object layer, so the last condition is false and the raft layer(s) is then missing. This scenario (one-layer object + raft) apparently never worked (I tried in 2.0.0, 2.1.0 and 2.2.0). It just did not crash.

Given how close the 2.3.0 final is, we will probably just hotfix the crash itself (so we get the behaviour from previous versions) and leave the problem itself to be solved later. I'm not sure why the condition wants two or more object layers, there may be a reason. The hotfix is currently in branch lm_230_rc2_fixes (b1a98bd) to be reviewed.

lukasmatena added a commit that referenced this issue Jan 4, 2021
The problem is that PrintObject support generator is only run when m_layers.size() > 1, so one-layer object will skip it.
It apparently never worked, after recent refactoring (probably 8bfc986) it started to crash in GCode generator.
This commit fixes the crash, but not the problem. The raft is still not generated (like in all versions since 2.0.0 at least).
@lukasmatena
Copy link
Collaborator

The crash should be fixed in master by 837070a for 2.3.0 final release. The raft is still not generated (same as in previous versions) but it does not crash now. I'll leave the issue open for now.

@bubnikv
Copy link
Collaborator

bubnikv commented Feb 25, 2021

Fixed with 43c05d3

@bubnikv bubnikv closed this as completed Feb 25, 2021
bubnikv added a commit that referenced this issue Feb 25, 2021
…#5652

Reworked skirt generator to only generate skirt at non-empty layers
(layers that actually extruder object or support) and to respect minimum
layer height. Skirt generator stops at the first layer where those both
conditions cannot be met.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants