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

Strokes: Cannot create I strip when edges are connected and vert count is off #1420

Open
jlampel opened this issue Jan 15, 2025 · 1 comment
Labels
bug tool: strokes v4 Applies to RF version 4x
Milestone

Comments

@jlampel
Copy link
Member

jlampel commented Jan 15, 2025

If two edges are part of the same connected mesh island, then it is impossible to create an I strip between them unless they are the same number of verts away from the bridge that connects them.

For example, given this scenario:

Screenshot 2025-01-15 at 3 34 07 PM

You can create an I strip to the matching vert on the other side:

Screenshot 2025-01-15 at 3 36 05 PM

But if you try to draw to any other vert you will get a bad result:

Screenshot 2025-01-15 at 3 36 42 PM

However, if you break the two sides apart, the strip to that same vert will work fine:

Screenshot 2025-01-15 at 3 38 24 PM

This is an issue because the connection could be way on the other side of the mesh:

Screenshot 2025-01-15 at 3 41 05 PM Screenshot 2025-01-15 at 3 41 36 PM

When this happens, no redo panel appears and there is no strip type reported. Instead, we get the following error in the console:

RFOperator_Stroke_Insert.execute: Caught Exception bpy_struct: item.attr = val: RETOPOFLOW_OT_strokes_insert.cut_count expected an int type, not NoneType
____________________________________________________________________________________________________
Exception Info
- Time: 2025-01-15 15:45:02.602676
- Count: 113
- Hash: cfc6b04d6e0ce6f1c8351ca228d6ab9e
- Info:
  - EXCEPTION (<class 'TypeError'>): bpy_struct: item.attr = val: RETOPOFLOW_OT_strokes_insert.cut_count expected an int type, not NoneType
  -     /Applications/Blender.app/Contents/Resources/4.3/scripts/modules/bpy_types.py
  - 000 0946:__setattr__() return setattr(properties, attr, value)
  -     /Users/jonathanlampel/Library/Application Support/Blender/4.3/scripts/addons/retopoflow/retopoflow/rftool_strokes/strokes.py
  - 001 0217:execute() self.cut_count = logic.cut_count
@jlampel jlampel added bug tool: strokes v4 Applies to RF version 4x labels Jan 15, 2025
@jlampel jlampel added this to the v4.0 milestone Jan 15, 2025
@jlampel
Copy link
Member Author

jlampel commented Jan 15, 2025

Actually I also just noticed that it breaks in the following case where the verts do match up. I can draw from the top selected vert to the other side:

Screenshot 2025-01-15 at 3 52 45 PM Screenshot 2025-01-15 at 3 53 38 PM

But not from the middle or bottom vert:

Screenshot 2025-01-15 at 3 53 50 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug tool: strokes v4 Applies to RF version 4x
Projects
None yet
Development

No branches or pull requests

1 participant