Draw tool draws a 3D curve even though the curve data is 2D #95954

Open
opened 2022-02-22 12:42:07 +01:00 by jl · 17 comments

System Information
Operating system: Linux
Graphics card: intel 520

Blender Version
Broken: (example: 2.80, edbf15d3c0, master, 2018-11-28, as found on the splash screen)
Worked: unknown (new comer to blender)

Short description of error
when drawing a bezier spline using "Draw" in BezierCuve->edit mode in 2D , I get a 3D object with 2 surfaces not in the same plane

blender2dbezier4.png blender2dbezier1.png blender2dbezier2.png blender2dbezier3.png

Exact steps for others to reproduce the error

  • (optional) delete all objects
  • Add a Bezier Curve
  • Go to Edit Mode
  • In Object Data Properties make the curve 2D and optionally with Fill Mode Both
  • Put the view in orthographic
  • Zoom to the center and rotate the view to a sharp angle so you can see the horizon
  • Select the Draw Tool and draw a stroke that starts at the bottom and goes to the top of the view.
    The resulting curve will be 3D instead of 2D

Original Steps from the report:

Tool Settings :
3d cursor is set to "orientation : geometry" (both using the shift+rightClick or 3d cursor tool)
shift+A is set to create object at 3d cursor location

  • I select with 3D cursor a face
  • shift+A -> curves -> bezier
  • select vertices -> x (erase default curve)
  • select Draw tool
  • Object Data Property -> Shape -> 2D
  • draw something

expected : the 2D curve should be constrained into XY plane of 3D cursor (as when doing shift+A -> Mesh -> plane)

what I get : at best a surface that is "twisted" in 3D, at worst a set of bezier splines linked together and not in same plane (as 2D would make me expect)

additional remarks :

  • that's too bad that 3d cursor default orientation is View and not object, for a new comer it's really really tricky to understand that and that it's normal that the drawing isn't correctly oriented (it is but in view space, and a view is permanently changing so there is no reproducible behavior)
    eula.blend
**System Information** Operating system: Linux Graphics card: intel 520 **Blender Version** Broken: (example: 2.80, edbf15d3c044, master, 2018-11-28, as found on the splash screen) Worked: unknown (new comer to blender) **Short description of error** when drawing a bezier spline using "Draw" in BezierCuve->edit mode in 2D , I get a 3D object with 2 surfaces not in the same plane |![blender2dbezier4.png](https://archive.blender.org/developer/F12882619/blender2dbezier4.png)|![blender2dbezier1.png](https://archive.blender.org/developer/F12882620/blender2dbezier1.png)|![blender2dbezier2.png](https://archive.blender.org/developer/F12882621/blender2dbezier2.png)|![blender2dbezier3.png](https://archive.blender.org/developer/F12882622/blender2dbezier3.png)| | -- | -- | -- | -- | **Exact steps for others to reproduce the error** - (optional) delete all objects - Add a Bezier Curve - Go to Edit Mode - In `Object Data Properties` make the curve `2D` and optionally with `Fill Mode` `Both` - Put the view in orthographic - Zoom to the center and rotate the view to a sharp angle so you can see the horizon - Select the Draw Tool and draw a stroke that starts at the bottom and goes to the top of the view. The resulting curve will be 3D instead of 2D --- **Original Steps from the report:** Tool Settings : 3d cursor is set to "orientation : geometry" (both using the shift+rightClick or 3d cursor tool) shift+A is set to create object at 3d cursor location - I select with 3D cursor a face - shift+A -> curves -> bezier - select vertices -> x (erase default curve) - select Draw tool - Object Data Property -> Shape -> 2D - draw something expected : the 2D curve should be constrained into XY plane of 3D cursor (as when doing shift+A -> Mesh -> plane) what I get : at best a surface that is "twisted" in 3D, at worst a set of bezier splines linked together and not in same plane (as 2D would make me expect) additional remarks : - that's too bad that 3d cursor default orientation is View and not object, for a new comer it's really really tricky to understand that and that it's normal that the drawing isn't correctly oriented (it is but in view space, and a view is permanently changing so there is no reproducible behavior) [eula.blend](https://archive.blender.org/developer/F12882618/eula.blend)
Author

Added subscriber: @WoL

Added subscriber: @WoL

#95955 was marked as duplicate of this issue

#95955 was marked as duplicate of this issue
Member

Added subscriber: @OmarEmaraDev

Added subscriber: @OmarEmaraDev
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

Aren't 2D curves locally constrained to the XY plane and thus can't arbitrary aligned with a surface when drawing?
The provided files doesn't seem to be related to the issue. Can you upload the correct file or simplify the file to only contain the objects related to the issue in question?
You should also test on a more recent version of Blender as 2.80 is no longer maintained.

Aren't 2D curves locally constrained to the XY plane and thus can't arbitrary aligned with a surface when drawing? The provided files doesn't seem to be related to the issue. Can you upload the correct file or simplify the file to only contain the objects related to the issue in question? You should also test on a more recent version of Blender as 2.80 is no longer maintained.
Author

sorry I thought I filled the version, I use blender 3.0.1

for my knowledge how can I constrain a locally a curve to a plane?

the produced curves aren't in any plane, in the screenshots I provided, the 2nd one it what i see when drawing the 2d curve, the 3rd one is what is got after hiding the other object that is used as reference and rotating the view, the last one is what I see I go into side view of the "2d" spline (if it was 2d, I would only get a line....

here is a simplified blend file, with 2 2d bezier curves drawn using the method given{F12883971}

here is another screenshot with the reference object, 3d cursor and the "2d spline", viewpoint is perpendicular to the 3d cursor XY plane (the drawing plane) 2dspline.png

sorry I thought I filled the version, I use blender 3.0.1 for my knowledge how can I constrain a locally a curve to a plane? the produced curves aren't in any plane, in the screenshots I provided, the 2nd one it what i see when drawing the 2d curve, the 3rd one is what is got after hiding the other object that is used as reference and rotating the view, the last one is what I see I go into side view of the "2d" spline (if it was 2d, I would only get a line.... here is a simplified blend file, with 2 2d bezier curves drawn using the method given{[F12883971](https://archive.blender.org/developer/F12883971/eula-2dspline_error.blend)} here is another screenshot with the reference object, 3d cursor and the "2d spline", viewpoint is perpendicular to the 3d cursor XY plane (the drawing plane) ![2dspline.png](https://archive.blender.org/developer/F12883995/2dspline.png)
Member

Changed status from 'Needs User Info' to: 'Needs Triage'

Changed status from 'Needs User Info' to: 'Needs Triage'
Member

It is weird because I can't create 2D curves that are not on the XY plan myself. The documentation also specify that, so it is unclear to me how that's possible https://docs.blender.org/manual/en/2.79/modeling/curves/properties/data.html#shape.
Investigating.

It is weird because I can't create 2D curves that are not on the XY plan myself. The documentation also specify that, so it is unclear to me how that's possible https://docs.blender.org/manual/en/2.79/modeling/curves/properties/data.html#shape. Investigating.
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

I can see the problem in the file you provided, but that curve seems to be corrupted. Are you able to reproduce the issue from scratch on version 3.0+?

I can see the problem in the file you provided, but that curve seems to be corrupted. Are you able to reproduce the issue from scratch on version 3.0+?
Author

I closed blender,
restarted from scratch using blend file provided in intial report,

  1. moved the 3d cursor using 3d cursor tool, seems that the setting "orientation : object" was lost... (how can I set it so that it's the default?)
  2. shift+a->bezier, x->vertices, select draw tool, (again how can I set the default of bezier curves to be "2d, filled both sides"?)
  3. drawn again, seems that the 3 tries I've done are drawn into 3d cursor XY plane.... O_o

but I can't be sure... how can I set up "front/left/right/back" views to be in 3d cursor's space (front = 3d cursor XY plane and so on...) ?
same how can I set the view to be "centered on 3d cursor" so that rotating rotate around 3d cursor? '/' center on object's center-point but I don't find it convenient

so, it seems that the bezier draw tool in 2d filled works now as expected and I don't know how I ended with have it missbehave, maybe should give a try with the simplified blend file?

I closed blender, restarted from scratch using blend file provided in intial report, 1. moved the 3d cursor using 3d cursor tool, seems that the setting "orientation : object" was lost... (how can I set it so that it's the default?) 2. shift+a->bezier, x->vertices, select draw tool, (again how can I set the default of bezier curves to be "2d, filled both sides"?) 3. drawn again, seems that the 3 tries I've done are drawn into 3d cursor XY plane.... O_o but I can't be sure... how can I set up "front/left/right/back" views to be in 3d cursor's space (front = 3d cursor XY plane and so on...) ? same how can I set the view to be "centered on 3d cursor" so that rotating rotate around 3d cursor? '/' center on object's center-point but I don't find it convenient so, it seems that the bezier draw tool in 2d filled works now as expected and I don't know how I ended with have it missbehave, maybe should give a try with the simplified blend file?
Member

2D curves in Blender can only exist in the local XY plan of the curve object, I am not sure how you ended up with a 2D curve that is not flat, but even moving a vertex in that curve you provided projects it on the XY plan.
It could be that the curve is corrupt somehow. If we can't replicate that from scratch, I am afraid there isn't much we can do. Can you do that now?

2D curves in Blender can only exist in the local XY plan of the curve object, I am not sure how you ended up with a 2D curve that is not flat, but even moving a vertex in that curve you provided projects it on the XY plan. It could be that the curve is corrupt somehow. If we can't replicate that from scratch, I am afraid there isn't much we can do. Can you do that now?
Author

yes it can be reproduced from scratch

  1. download the eula-2dspline error.blend I provided
  2. remove all the bezier spline
  3. move the 3d cursor to some flat surface with 3dcursor's Z pointing at normal
  4. shift+a -> curves -> bezier
  5. x->vertices
  6. change to 2d spline, fill both front and back
  7. draw something with angles

this created EACH TIME a kind of union of 2 2d spline... i tried on the "star looking" surfaces or on some surface between the 2....

yes it can be reproduced from scratch 1. download the [eula-2dspline error.blend](https://archive.blender.org/developer/F12883971/eula-2dspline_error.blend) I provided 2. remove all the bezier spline 3. move the 3d cursor to some flat surface with 3dcursor's Z pointing at normal 4. shift+a -> curves -> bezier 5. x->vertices 6. change to 2d spline, fill both front and back 7. draw something with angles this created EACH TIME a kind of union of 2 2d spline... i tried on the "star looking" surfaces or on some surface between the 2....
Member

Changed status from 'Needs User Info' to: 'Needs Triage'

Changed status from 'Needs User Info' to: 'Needs Triage'

Added subscriber: @mano-wii

Added subscriber: @mano-wii

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'

I was able to reproduce the problem from scratch using much simpler steps. I'll edit the description of the report...

I was able to reproduce the problem from scratch using much simpler steps. I'll edit the description of the report...
Germano Cavalcante changed title from draw 2d bezier not in plane to Draw tool draws a 3D curve even though the curve data is 2D 2022-02-28 21:24:11 +01:00
Philipp Oeser removed the
Interest
Modeling
label 2023-02-09 15:27:57 +01:00
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
5 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#95954
No description provided.