Cura: Cubic Subdivision pattern slightly rotated by default

Created on 30 Apr 2020  路  12Comments  路  Source: Ultimaker/Cura

This is a follow-up from #7541

Application version
4.5.0

Platform
Windows 10 x64
nVidia Geforce 1080 Ti

Printer
Ender 3 Pro

Reproduction steps

  1. Place a cube on the bed which is aligned with the X/Y axes
  2. Slice using Cubic Subdivision

Screenshot(s)

Actual results
The pattern is very subtly rotated by a degree or two

Expected results
The horizontal lines are properly horizontal

FixeSolved Bug

All 12 comments

Here's something that isn't right, in SubDivCube::precomputeOctree(), the variable infill_angle is given type AngleRadians but initialised with 45 which looks like degrees. Later on, infill_angle is passed to the PointMatrix constructor which looks like it expects a value in degrees. So I would have thought that infill_angle should be of type AngleDegrees rather than AngleRadians. However, with that change, the line orientation is different but still not what I expected. Setting infill_angle to 0, however, has the desired effect.

Using AngleDegrees infill_angle = 0;

Screenshot_2020-04-30_17-10-12

Using AngleDegrees infill_angle = 45;

Screenshot_2020-04-30_17-11-22

Using AngleRadians infill_angle = 45;

Screenshot_2020-04-30_17-11-54

Awesome, thank you @smartavionics

So I would have thought that infill_angle should be of type AngleDegrees rather than AngleRadians. However, with that change, the line orientation is different but still not what I expected.

The 45 degree one? It looks right to me

image

By jove, Sir! I think you could be right, I was looking at the wrong line, methinks.

So, perhaps just changing that one line in the source to declare infill_angle to be of type AngleDegrees will be sufficient to fix the jaunty orientation that it has at the moment. Let's leave that to the UM devs to ponder...

In the absence of adding support for allowing us to pick rotation angle via the UI, could we please have the infill_angle set to 0?
Now that #7541 is implemented and the pattern is centered on the mesh, using 45 degrees will still tend to yield a non-symmetrical infill

Oh, and @smartavionics, any chance of one of your custom builds set like this while I wait for the proper release? Windows x64

Sure, I can make a build using:

AngleDegrees infill_angle = 0;

I'll do it tomorrow, I'm too tired to do it now.

Oh and those two commits that went into master too
Much appreciated

45 radians ~2,578.31掳. If you take out the full loops (7 of) than you're left with ~58.31掳. Given the offset angle of the pattern at 60掳, that would make for the line going lower-left to upper-right being what has taken that value, indeed putting the entire pattern off by ~1.69掳, which matches up with @evilC's rough estimate. So there's almost certainly a superfluous conversion going on there.

Regarding symmetry, rotating by 30掳 may give the results you're looking for.

Hi @evilC , a Windows-64 build that features these changes (including rotation) should be available to download in about 30 mins. Have fun!

@smartavionics Thank you, I can confirm that in your version, everything works exactly as I desire :)

The PR's from @smartavionics regarding this issue have been merged, so this will be resolved in the next Cura release (i.e., v4.7).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

konvoj picture konvoj  路  3Comments

StanislavJochman picture StanislavJochman  路  3Comments

dstulken picture dstulken  路  3Comments

jornada812 picture jornada812  路  3Comments

muhammadelmogy picture muhammadelmogy  路  3Comments