3D curve - bevel profile not deformed at corners to cope with 'shrinking' effect (works OK with 2D curves). #47230

Closed
opened 2016-01-24 21:00:23 +01:00 by daniel · 21 comments

System Information
windows xp, windows 7

Blender Version
Broken: (example: 2.76b f337ea)
Worked: (2.63a r46461)

Short description of error
when you bevel curve in 3D type it does not carry the same profile along the lenght as it should.
in 2.63a version it works better than in the newer ones but is also far from correct and acceptable working. when the curve turn in angle different than 90 degree the starting profile changes but should stay the same.nothing helps.none of changing settings. curve points etc
Exact steps for others to reproduce the error
open the attached file in 2.63a version and in 2.76b and look at the curve at the right which is 3D type. they look different, in 2.63a correct.
curve_bevel.blend

**System Information** windows xp, windows 7 **Blender Version** Broken: (example: 2.76b f337ea) Worked: (2.63a r46461) **Short description of error** when you bevel curve in 3D type it does not carry the same profile along the lenght as it should. in 2.63a version it works better than in the newer ones but is also far from correct and acceptable working. when the curve turn in angle different than 90 degree the starting profile changes but should stay the same.nothing helps.none of changing settings. curve points etc **Exact steps for others to reproduce the error** open the attached file in 2.63a version and in 2.76b and look at the curve at the right which is 3D type. they look different, in 2.63a correct. [curve_bevel.blend](https://archive.blender.org/developer/F277089/curve_bevel.blend)
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @midan-3

Added subscriber: @midan-3

Added subscriber: @ignatz

Added subscriber: @ignatz

I downloaded the above file and played around with it.

I would have to agree that there is something seriously wrong with the projection of a curve along a curve.

It seems to work well enough in the 2D mode, but once in 3D mode the profile form is corrupted where the curve takes an angle or bend.

It is also worth noting that while testing this out I tried subdividing the curve while in edit mode to add extra points. I then moved these points off of the original plane of the curve (in Y) while in the shape 3D setting. Again, the profile was compromised at every bend or curve. The odd behaviour, however, was if one then toggled into the shape 2D setting. At that moment, all of my editing of the positions of the points (in Y) of the curve were lost. All points of the curve were simply mapped back into a single plane, the Y offset information and/or rotation of the angles of the arms of the points being trashed. Pressing the shape 3D button at the point did not restore the missing point information (although a simple UNDO would do so. This is pretty questionable behaviour.

It is perhaps best if some talented programmer put eyes on this function. It would be a real plus for the model-building, especially for those who want to do mechanical or architectural work.

I downloaded the above file and played around with it. I would have to agree that there is something seriously wrong with the projection of a curve along a curve. It seems to work well enough in the 2D mode, but once in 3D mode the profile form is corrupted where the curve takes an angle or bend. It is also worth noting that while testing this out I tried subdividing the curve while in edit mode to add extra points. I then moved these points off of the original plane of the curve (in Y) while in the **shape 3D** setting. Again, the profile was compromised at every bend or curve. The odd behaviour, however, was if one then toggled into the **shape 2D** setting. At that moment, all of my editing of the positions of the points (in Y) of the curve were lost. All points of the curve were simply mapped back into a single plane, the Y offset information and/or rotation of the angles of the arms of the points being trashed. Pressing the **shape 3D** button at the point did not restore the missing point information (although a simple **UNDO** would do so. This is pretty questionable behaviour. It is perhaps best if some talented programmer put eyes on this function. It would be a real plus for the model-building, especially for those who want to do mechanical or architectural work.

Added subscribers: @Sergey, @mont29

Added subscribers: @Sergey, @mont29

Can confirm the issue, kinda unsure whether this is real bug or known limitation though, @Sergey should know?

@ignatz I wonder why you’d expect from a 2D curve to keep 3D coordinates…

Can confirm the issue, kinda unsure whether this is real bug or known limitation though, @Sergey should know? @ignatz I wonder why you’d expect from a 2D curve to keep 3D coordinates…
Bastien Montagne changed title from curve 3D type bevel issue to 3D curve - bevel profile not deformed at corners to cope with 'shrinking' effect (works OK with 2D curves). 2016-01-29 12:43:18 +01:00

I do not feel that the new title of this bug "bevel profile not deformed at corners to cope with 'shrinking' effect", actually describes the problem correctly.

The bevel profile should not 'shrink' at the corners. The truth of the matter is that the original profile should be projected onto the plane that exactly divides the two legs of the curve in 3D space.

I have attempted to demonstrate this with the attached blend file and associated images.

In the first image (pipes_01.jpg) at 'A' you have the behaviour of in blender of using a curve circle as a bevel object along a curve. It easy to see that where the curve takes a turn the profile is not correct. The profile of the circle along the curve is compromised and most definitely shrunk. But this should not be.

At 'B' in the same image I have attempted to show the series of straight tube sections that one would expect to recieve form the 3D bevel object function.

At 'C'and'D' I have attempted to actually distill the desired corner profiles out my assemby of tubes. This is something which I could only achieve in a very crude way. Blender does not give me the tools with which to achieve this desired result.

The second image (pipes_02.jpg) shows the desired corner profiles (1, 2 & 3) more clearly.

mock-up 3D projection.blend pipes_01.jpg pipes_02.jpg

I do not feel that the new title of this bug "bevel profile not deformed at corners to cope with 'shrinking' effect", actually describes the problem correctly. The bevel profile should not 'shrink' at the corners. The truth of the matter is that the original profile should be projected onto the plane that exactly divides the two legs of the curve in 3D space. I have attempted to demonstrate this with the attached blend file and associated images. In the first image (**pipes_01.jpg**) at **'A'** you have the behaviour of in blender of using a curve circle as a bevel object along a curve. It easy to see that where the curve takes a turn the profile is not correct. The profile of the circle along the curve is compromised and most definitely shrunk. But this should not be. At **'B'** in the same image I have attempted to show the series of straight tube sections that one would expect to recieve form the 3D bevel object function. At **'C'**and**'D'** I have attempted to actually distill the desired corner profiles out my assemby of tubes. This is something which I could only achieve in a very crude way. Blender does not give me the tools with which to achieve this desired result. The second image (**pipes_02.jpg**) shows the desired corner profiles (1, 2 & 3) more clearly. [mock-up 3D projection.blend](https://archive.blender.org/developer/F278700/mock-up_3D_projection.blend) ![pipes_01.jpg](https://archive.blender.org/developer/F278701/pipes_01.jpg) ![pipes_02.jpg](https://archive.blender.org/developer/F278703/pipes_02.jpg)

Have to point this out, too.

I know it is not usually done to confuse an issue by mixing more than one buggy function into a single report.

However, since I was curious about the performance of 3D curve as a bevel object on a curve I also decided to put eyes on the Follow Curve modifier.

I find that the Follow Curve modifier evidently also uses the same incorrect code routine. It might be worth it to examine that at the same time.

If you examine the attached file and images (especially 'follow_curve modifier 02.jpg') you will see that the mesh tube which is folloing the curve is becoming stretched and squeezed without reason. The Z-axis of the mesh profile is continuously altering its rotation with respect to the axis of the curve it is following. This is not good.

This is such an important model-building funtion that it really should be made to work correctly.

follow curve modifier problem.blend follow_curve modifier 01.jpg follow_curve modifier 02.jpg

Have to point this out, too. I know it is not usually done to confuse an issue by mixing more than one buggy function into a single report. However, since I was curious about the performance of **3D curve as a bevel object** on a curve I also decided to put eyes on the **Follow Curve modifier**. I find that the Follow Curve modifier evidently also uses the same incorrect code routine. It might be worth it to examine that at the same time. If you examine the attached file and images (especially 'follow_curve modifier 02.jpg') you will see that the mesh tube which is folloing the curve is becoming stretched and squeezed without reason. The Z-axis of the mesh profile is continuously altering its rotation with respect to the axis of the curve it is following. This is not good. This is such an important model-building funtion that it really should be made to work correctly. [follow curve modifier problem.blend](https://archive.blender.org/developer/F278865/follow_curve_modifier_problem.blend) ![follow_curve modifier 01.jpg](https://archive.blender.org/developer/F278866/follow_curve_modifier_01.jpg) ![follow_curve modifier 02.jpg](https://archive.blender.org/developer/F278868/follow_curve_modifier_02.jpg)
Author

I would like to spot that this is very old issue and very important and basic in modelling(but unuseful in this form right now). Please devs to make the thing works as expected

I would like to spot that this is very old issue and very important and basic in modelling(but unuseful in this form right now). Please devs to make the thing works as expected

I politely suggest viewing the linked video for examples of how this very necessary feature is employed within the Sketchup program.

https://www.youtube.com/watch?v=oX6bn0Q0pIM

Obviously, the function is different within Blender, but the modeling application of the function is what is important.

You will notice all sorts of ways that the curve following along a curve is used to create architectural elements.

We cannot effectively do the same sorts of things given the limitations of the current code.

I politely suggest viewing the linked video for examples of how this very necessary feature is employed within the Sketchup program. https://www.youtube.com/watch?v=oX6bn0Q0pIM Obviously, the function is different within Blender, but the modeling application of the function is what is important. You will notice all sorts of ways that the curve following along a curve is used to create architectural elements. We cannot effectively do the same sorts of things given the limitations of the current code.

Added subscriber: @ideasman42

Added subscriber: @ideasman42

Think this is intentional, but checking on commits between 2.68a-2.69 (bisected down to 4941cafa09)

Think this is intentional, but checking on commits between 2.68a-2.69 (bisected down to 4941cafa09)
Sergey Sharybin was assigned by Campbell Barton 2016-02-02 07:32:38 +01:00

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'

I can see why old behavior would be preferrable in certain cases, but as #36007 shows it's not always the case.

Surely some option could be added to support both cases, but then it all becomes to be quite tricky to work on splines: global option might be not granular enough, default value of that option is also another story. While curves in blender are really requiring some major refresh will consider this a TODO.

So thanks for the report, but closing it now.

I can see why old behavior would be preferrable in certain cases, but as #36007 shows it's not always the case. Surely some option could be added to support both cases, but then it all becomes to be quite tricky to work on splines: global option might be not granular enough, default value of that option is also another story. While curves in blender are really requiring some major refresh will consider this a TODO. So thanks for the report, but closing it now.

Added subscriber: @MarlonBoettger

Added subscriber: @MarlonBoettger

It would be great if this could be fixed, it's annoying how curves compress the bevel at a sharp bend.

It would be great if this could be fixed, it's annoying how curves compress the bevel at a sharp bend.

Added subscriber: @8axter

Added subscriber: @8axter

I would also love to see this finally working. Extruding along a curve is one of the most basic features. It works flawlessly in Sketchup, MAx, Maya.... Why wouldn't we deserve it in Blender? I tried all trick I found online and none of them makes my 3D curves to have the same thickness. They always get tapered + twisted i sharp corners.

I would also love to see this finally working. Extruding along a curve is one of the most basic features. It works flawlessly in Sketchup, MAx, Maya.... Why wouldn't we deserve it in Blender? I tried all trick I found online and none of them makes my 3D curves to have the same thickness. They always get tapered + twisted i sharp corners.

Added subscriber: @Pablo_Caracena

Added subscriber: @Pablo_Caracena

Hi, thanks for developing Blender!

I just made this account to say that this seems to me like a necessary feature for any 3D software.

While you can fix it manually, it's very tedious and is something you can do easily in most other modeling softwares.

I think devs should give some priority to this feature, it's been almost 5 years.

Hi, thanks for developing Blender! I just made this account to say that this seems to me like a necessary feature for any 3D software. While you can fix it manually, it's very tedious and is something you can do easily in most other modeling softwares. I think devs should give some priority to this feature, it's been almost 5 years.

Please keep this issue open

EDIT:
Currently there is a related PR open regarding this issue: #108700
This fixes the issue ONLY IN GEOMETRY NODES as stated HERE by bruno.chartier
you can download the Blender patch version with this feature HERE

Please keep this issue open EDIT: Currently there is a related PR open regarding this issue: #108700 This fixes the issue ONLY IN GEOMETRY NODES as stated [HERE](https://blender.community/c/rightclickselect/BPcbbc/) by bruno.chartier you can download the Blender patch version with this feature [HERE](https://builder.blender.org/download/patch/PR108700/)
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
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
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#47230
No description provided.