3D print Toolbox Intersections gives error #37583
Labels
No Label
Interest
Animation & Rigging
Interest
Blender Cloud
Interest
Collada
Interest
Core
Interest
Documentation
Interest
Eevee & Viewport
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
Import and Export
Interest
Modeling
Interest
Modifiers
Interest
Nodes & Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds, Tests & Devices
Interest
Python API
Interest
Rendering & Cycles
Interest
Sculpt, Paint & Texture
Interest
Translations
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Meta
Good First Issue
Meta
Papercut
Module
Add-ons (BF-Blender)
Module
Add-ons (Community)
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#37583
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Blender Version
Broken: Blender 2.69 ac021a4 Build Bot Official
Short description of error
Intersections check breaks on Ngons
Also I found that Intersections falsely triggered on particular models (blend file attached)
Exact steps for others to reproduce the error
Enable the Mesh: 3D Print Toolbox addon.
Open attached blend file, and press intersections button (falsely triggered)
intersect.blend
Create a Cylinder primitive and press the Intersections button. (gives eror)
Updated steps for others to reproduce the error
Changed status to: 'Open'
Added subscriber: @MikhailRachinskiy
#38241 was marked as duplicate of this issue
#39037 was marked as duplicate of this issue
Added subscribers: @(Deleted), @ideasman42
@dalai_testing, The Python exception looks like its caused by recent changes to triangulate (since 2.69 release), looks like mapping isn't stored correctly anymore.
I'll check on the incorrect intersections in
intersect.blend
Removed subscriber: @(Deleted)
Simpler way to reproduce the problem:
@ideasman42 can you land me a hand here?
Check the file: tri-print.blend (open it, run the script in the Text Editor and check the console).
The code basically returns:
0 <BMFace(0x10716b218), index=0, totverts=5>
0 <BMFace(0x10716b218), index=0, totverts=3>
1 <BMFace(0x10716b250), index=1, totverts=3>
2 <BMFace(0x10716b288), index=2, totverts=3>
Which means that the original stored face pointer is still valid, but the value stored in face_map_index_org changes somehow. That's what is producing the crash. But I'm a bit clueless on what can be causing that.
@ideasman42 I added a workaround here: http://developer.blender.org/D47
I mean, D47 is a workaround (I shouldn't have pasted the entire link, only the number is fine)
Apparently the problem is that bmesh_face_swap_data and BM_face_kill are mangling the variables of f and f_new in bmesh_polygon.c.
Basically bpy_bm_generic_invalidate is being called for f_new, but &BPy_BMGeneric is the same for both f and f_new, so f ends up with an invalid BPy_BMGeneric->bm (even though BPy_BMGeneric->f is valid).
See the backtrace I get up to bpy_bm_generic_invalidate is called:
http://www.pasteall.org/47617
I tried a soft kill face solution - D50 just for testing, and although the original face no longer shows as 'dead', we still get a Key not found error. We could solve that in the addon if we stored str(f) instead of f as key, but if we do that we may as well do as in D47 and spare Blender core from being patched.
Added subscriber: @dfelinto
@dfelinto,
Simply not-swapping customdata seems to work.
adding this line at the end of
bmesh_face_swap_data
:SWAP(void *, f_a->head.data, f_b->head.data);
This issue was referenced by blender/blender-addons-contrib@3b24eaad9a
This issue was referenced by blender/blender@3b24eaad9a
Changed status from 'Open' to: 'Resolved'
Closed by commit blender/blender@3b24eaad9a.
Hey Campbell,
intersections are good with Ngons now, but they are still falsely triggered with attached model.
Could you please look in to it?
@MikhailRachinskiy, sure but in future prefer to open a new report (since this is a different issue).
Changed status from 'Resolved' to: 'Open'
Added subscriber: @Sergey
@ideasman42, will you look into this?
Hey guys!
In the meantime I have found what triggers false intersections, it's geometry distance from the origin, yep.
As soon as you move geometry closer to the origin, intersections wont be triggered anymore.
To reproduce it, you need to:
Guys?
◀ Merged tasks: #38241.
Added subscriber: @mont29
◀ Merged tasks: #39037.
Changed status from 'Open' to: 'Resolved'
Closed by commit blender/blender-addons-contrib@3b24eaad9a.
Why this task marked as resolved while issue is still appears?
Changed status from 'Resolved' to: 'Open'
We had a bit of an accident mentioned there: http://lists.blender.org/pipermail/bf-committers/2014-May/043538.html Some of the re-opened tasks might be closed now unfortunately.
Re-opening it again. Sorry for the confusion.
Please fix this bug before 2.71 release, it's crucial for 3D printing.
This seems to be fixed here. Which version did you use to check it? Get a fresh copy of Blender from builder.blender.org
Buildbot win64 90db85a, May 22 2014 - bug is still appears.
#38241 gives a prettty good description and blend file to test this out, but it has been marked as a duplicate to this task.
Changed status from 'Open' to: 'Resolved'
Closing this task then, leave #38241.