Bsurfaces Broken: Reorder splines, local view bug, misc errors. #39664
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
9 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#39664
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?
{F84384}System Information
Windows 7
Intel Core2 Extreme 3GHz
8GB RAM
NVIDIA GeForce 8800 GTS 512
Blender Version
Broken: 2.70
Short description of error
Bsurfaces addon unexpected behaviour bug:
'Add surface' to bezier curves results in unexpected behaviour. Surface is created in an irregular sequence.
'Reorder Splines' completely fails to have any effect on the result of the curves order mentioned above.
Exact steps for others to reproduce the error
Enable the Bsurfaces addon.
In object mode I created five bezier curves, joined them, then shift selected a single faced object.
In edit mode, go to Tool Shelf, Bsurfaces, click 'add surface'.
Results depend on input before clicking 'add surface':
If the curves were joined in the same sequential order (that is, the order they were selected before hitting ctrl J) that they were created (bottom curve created first, up to the top curve last), the 'add surface' works as predicted with a continuous smooth mesh created along the curves.
If the curves were joined in a more random order the 'add surface' results in a mesh created in an undesired way (doubles back on itself).
If the curves were joined in the opposite sequential order (top curve to bottom curve, instead of the bottom curve to the top curve), then you get a seemingly random, undesired result (doubles back on itself as if they were selected in a different order). Repeated tests displayed the same undesired result, so not technically random.
Desired result:
The mesh should be created from each curve to the next, nearest curve, irrelevant of the order in which they were joined together or originally created.
Or at the very least it should depend on either the order they were created or the order they were joined together, not both of those being identical.
Related broken tool:
Using 'reorder splines' does not make a difference. It should act as a workaround, should a mesh be created from curves in the wrong order, but it had no effect.
Tested repeatedly and it appears that 'reorder splines' just does not work.
Please note that testing was only done using Bezier curves and curves generated from pre-existing edgeloops, converted to curves. I did not test the Grease Pencil method, which is more commonly used. It may work as intended, so you may need to compare that method.
See attached file with separate curves, with duplicated sets of curves joined in different orders, and the 'add surface' result.
Changed status to: 'Open'
Added subscriber: @ChrisLee
#42805 was marked as duplicate of this issue
#45589 was marked as duplicate of this issue
#39666 was marked as duplicate of this issue
#45573 was marked as duplicate of this issue
The attached file was accidentally put at the start of the description, before 'System Information'.
You may want to move that to the bottom of the description text.
Also, I was advised that eclectiel was no longer active on blenderartists.org:
http://blenderartists.org/forum/showthread.php?225190-Bsurfaces-v1-5&p=2620848&viewfull=1#post2620848
Will he still see this bug report?
Thank you,
Chris Lee
Can somebody else step up to have a look at Bsurfaces bugs?
Added subscriber: @quantumanomaly
I experienced this bug today. Seems it is still a problem in 2.72 (95182d1)
OS X 10.8.5
ATI Radeon HD 4850 512 MB
See the Quick Guide, "strokes reorder" section for an explanation of how the feature is supposed to behave.
https://app.box.com/s/5ygw6vkzxkag9dh53uuv
Since it's unclear if anyone intends to fix this any time soon, I'm going to post a workaround I found for the time being.
It takes a bit more time than the Grease Pencil, but it's not too bad, and at least it makes curve re-ordering possible.
Here is an animated GIF tutorial that summarizes the process:
http://cc4.co/YSRA
And here is a written guide in more detail:
(1) If your curve object is made up of multiple paths, Separate (P key in Edit Mode) out each into its own curve object.
If making curves you think you might want to reorder later, just make them as separate curve objects from the start.
(2) Once you have the shape you want built out of curves, add bezier curve objects (such as bezier circles) in a sequential stack. Make sure you can tell visually which comes before which because these are your ordering objects.
(3) Join (Ctrl J in Object Mode) the curve object of your structure you desire to be first to the ordering curve object you made first. The joined object takes its origin point and order from the last one that was selected. Repeat for other curve objects, joining each structure curve into its corresponding ordering curve.
(4) Select all curve objects and join them into one. (They retain their order in relation to each other.) Then in Edit Mode delete the unwanted geometry that came from the ordering curves (stack of bezier circles for example).
(5) Now do the rest as you normally would use BSurfaces. Save your .blend file since BSurfaces is not integrated into Blender's undo history and your curve object you worked so hard on will be permanently destroyed in the process of generating your BSurfaces mesh. In Object Mode Add>Mesh>Plane. Select this plane, then Shift-select your curve object, Tab into Mesh Edit Mode and click "Add Surface" from the BSurfaces panel.
Nice workaround Seth.
Smart thinking!
Added subscribers: @BrendonMurphy, @Sergey, @zanqdo, @Supamon, @jorditorres, @mont29
Bsurfaces addon unexpected behaviour bug, when using curves for 'add surface'. 'Reorder splines' appears to be broken.to Bsurfaces Broken: Reorder splines, local view bug, misc errors.hi, action will need to be taken on this. With no maintainer, this popular tool needs an interested party to step up & supply some fixes. I will have to start disabling broken features soon which may limit the future usability of this addon.
Hi,
In my expirience, if it serves, I ovserved is something related to the LOCAL VIEW. Other addons also have similar problems with local view.
Added subscriber: @JoshuaLeung
I would call @JoshuaLeung to have a look if possible. This looks like a GP change affecting bsurfaces.
mesh_bsurfaces.py
Uploading initial attempted fix file. @ line 3488
this may fix reorder splines when converted from grease pencil drawn on mesh object. I'm unsure of this fix & need to test furthur. I'm not sure if my fix simply bypasses reorder splines, or actually works.
reorder splines does not work when converted from grease pencil drawn on curve object/s.
I could really use some help here.
Thanks.
disabled reorder splines button in ui. commit:
f78b58128b
is there an operator in blender to correctly reorder splines & grease pencil strokes?
After spending a few hours tracking things down, I've finally gotten to the bottom of the bug in #45573 (it's simpler to reproduce that case).
The problem seems to come down to the
call in the "sp_idx" loop. Simply changing this to
makes the problems go away, as now the unordered_splines dict will not be empty.
The cause is probably that a confirmation popup was added to the separate operator at some point, so now the invoke fails, as it cannot get user input to confirm.
EDIT: It should be https://developer.blender.org/diffusion/BA/browse/master/mesh_bsurfaces.py;f78b58128b4c22e92d2e6ec1f2cc21a68fbabc56$3468
commit fix by @JoshuaLeung
870571b107
A step closer to resolving issues with this addon.
Added subscriber: @RemigiuszFiedler
Added subscriber: @AleksandarPPA
This is still active problem ? I am trying to reorder splines and it doesnt work in 2.76 ........
If its solved how do i fix it ? Can u all give step by step explanataion ? I have to edit script ? How do i do it ?
Changed status from 'Open' to: 'Archived'
hi, Archiving this mixed report. For Specific Bsurfaces issues, please create a new report & check the issue is not reported already. Please provide simple test file & follow report guidelines.
Hi Brendon and others ! FOUND SOLUTION (sort of)
for any1 who gets this kind of errors ur solution is in version of Bsurfaces so download latest ofc and clean up your blender every file and reinstall fresh one and when u load old projects UNCHECK "LOAD UI" seems that blender "remembers" some things from old projects and then u get these errors from old bsurfaces or ... whatever... :)