Degenerate triangles on some parts
jonnyleffe started this discussion in Bug Reporting

Hi, i just noticed there are some parts containing zero area triangles.
For example Angular Brick 1X1 seems to contain 2 null triangles (degenerate into a line).

I saw something like that in the past, exporting from sketchup for example. No holes but some degenerate triangles (bad triangulations, usually fixed with some manual triangulation, at least in the skup case).

Anyway, apart from minor rendering glitches, the main problem is in blender 2.8, with solid mode and shadows enabled:

https://imgur.com/a/GqHUIbB

That is how i actually discovered this 😄
I will report this to blender, when the general 2.8 bug tracker will be open, but i think it would be nice if you look into this and fix the geometry (atm can be fixed in blender by creating a degenerate triangle, selecting it, selecting similar area faces, and deleting).

5 replies · Page 1 of 1
Avatar of Scrubs
Administrator

Hello,
The source geometry loaded is different from the geometry used by the real time 3d engine and exported.
For part 4070, can you point me on the direction of the faulty triangle? I cannot find it - I do not have Blender 2.80 as this thing is currently unusable for what I do.

A fast check is:

  • Load the part in blender 2.79b
  • TAB (edit mode)
  • A (select all)
  • Mesh -> Clean up -> Degenerate Dissolve
    This will delete 2 faces; face count should go from 338 to 336
    If the part is rotated this may not work, at least on my tests (rotation + math errors = nearly zero area, but blender seems to check for absolute zero here)

To select them, the easy way i just found:

  • Enable "Mesh: 3D Print Toolbox" addon
  • TAB (edit mode)
  • Ctrl+TAB -> Face (face select mode)
  • On the left select the "3D Printing" tab
  • Press: "Checks: Degenerate" (here there is a threshold so it works better)
  • Press: "Output: Zero Faces: 2"

https://imgur.com/a/kWIh1LC

You can select them without the addon, but you need to create a degenerate face, select it, use select->select similar->area (it is more tedious)

I checked my export and it is the only problematic piece in my model.

I would suggest you to make an internal tool that check degenerates (with some threshold), to eventually identify other cases.
Also, simply deleting degenerates may not be always the optimal solution. Sometime it can create non connected edges (virtual holes, if you get what i mean).

Avatar of Scrubs
Administrator

Hi,
This has never been a problem in the past. I understand that it can happen with some pieces during the automatic conversion process by the real time engine on the client side. I won't write a tool for a very marginal problem but I could update the root mesh on a case by case basis.

Sure, do what you feel is appropriate.
I will let you know if i find other parts with degenerates.

PS: i did some mesh validations tools for a client years ago, so i'm abit picky about it 😃

Avatar of Scrubs
Administrator

Hehe. The good thing with Mecabricks is that everything is dynamic. I just need to upload the new file and that is fixed instantly for everybody.

Advertising
2 participants
Avatar of Scrubs

LEGO, the LEGO logo, the Minifigure, and the Brick and Knob configurations are trademarks of the LEGO Group of Companies. ©2024 The LEGO Group.

Mecabricks, the Mecabricks logo and all content not covered by The LEGO Group's copyright is, unless otherwise stated, ©2011-2024 Mecabricks.