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

FIX: check bounds for fill->min_spacing causing fill_density<100 to abort #4524

Merged
merged 8 commits into from
Sep 1, 2018

Conversation

ElectroQuanta
Copy link
Contributor

Fill->min_spacing was being initialized to 0, due to the infill_extrusion_widthbeing set to 0 in the config file.

  • As such, I defined a lower bound value to be positive (>0), in spite thinking that this should be at least the size of nozzle_diameter.
  • Now, I don't get any exceptions as discussed here.

Tests

For convenience, I had the result of some tests:

  • Infill_extrusion_width = 0.5:
    imagem
  • Infill_extrusion_width = 0.1:
    imagem
  • Infill_extrusion_width = 2.1:
    imagem
  • Infill_extrusion_width = 0.01: Was taking too long.

This lasts two values highlight the importance of convenient bounding, but for now, I will leave as it is, as it suits my needs.

Copy link
Member

@lordofhyphens lordofhyphens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revert this change.

Copy link
Member

@lordofhyphens lordofhyphens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will take a closer look over this tomorrow and (probably) commit it. I apologize for not getting to it from now.

@ElectroQuanta
Copy link
Contributor Author

No need to apologize :)

Like I said, I commited to the wrong branch, as time-stamping is used for my debugging and cross-referencing. Nonetheless, I guess it would not harm, if it could be added upstream (maybe as transversal feature).

With that said, I wouldn't know why that raised the red flag, because the travis output below:

src/libslic3r/SLAPrint.cpp: In member function ‘std::string Slic3r::SLAPrint::get_time() const’:
src/libslic3r/SLAPrint.cpp:356:10: error: ‘put_time’ is not a member of ‘std’
    ts << std::put_time(std::localtime(&t), "%c %Z");
          ^
At global scope:

mentions wrong scope, but it complies to my compiler settings. From the same travis output, I see that gcc 4.9 is being used, causing it to fail.

I could rewrite to a more portable/compatible version, but like I said it was just for my debugging :)

Sorry for any inconvenience :) Always learning :)

@lordofhyphens
Copy link
Member

I've made some changes to your PR to instead set a relatively sane value for the config width.

You'll still get credit for the merge (and spotting the issue in the c++ CLI toolchain). I made a similar fix on the perl side a few months ago (that I just remembered when I saw your PR).

The root cause here is that the config code assumes that the infill width gets calculated as per flow (which doesn't exist here).

I think we will want, going forward, to refactor Flow so that the auto logic behaves appropriately for SLA/DLP/. I use a LCD mask on my own printer.

@lordofhyphens lordofhyphens merged commit f337fdc into slic3r:master Sep 1, 2018
@ElectroQuanta
Copy link
Contributor Author

Yeah, I also thought that proper bounding was the way to go :)
I just didn't know the proper way to bound it :)

The way I see it (and I could be wrong), but if the fill_spacingis less than nozzle_diameteryou'll get overlapping on the filling, and thus, the bounding suggested would not suffice :)

But, like you said, if the problem is upstream (Flow) and you already identified the need to refactor it, for me it's good, because like I said, it suits my needs for now :)

And thanks, for further investigating the issue :)

@lordofhyphens
Copy link
Member

In that code path, nozzle_width doesn't exist ;)

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

Successfully merging this pull request may close these issues.

2 participants