Wrong fill in imported SVGs #53280
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
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender-addons#53280
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
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?
System Information
Macbook Air 2015, Mac OS Sierra
Blender Version
2.79
Short description of error
When I import an SVG with a complex path, the fill shows up wrong in Blender.
Exact steps for others to reproduce the error
All files here: https://drive.google.com/open?id=1rrv7fqc-mGk7lwQTVJfHFYnJc3ZBDMOY
To see the problem with fill, just open the blender file (untitled.blend).untitled.blend
This file was created by simply importing this SVG:
The SVG is supposed to look like this:
But when imported to Blender, some parts of the graphic are covered with black (this is the problem):
What's even more weird, changing the resolution ("Preview U") setting changes the fill in unpredictable ways (go through the screenshots in the Google Drive folder ).
Btw. I've also seen the same bug with many other SVGs, so this one is not an isolated case.
Changed status to: 'Open'
Added subscriber: @Mikolaj-Dadela
Added subscriber: @Sergey
Changed status from 'Open' to: 'Archived'
Thanks for the report, but it's a limitation of our rather simplistic SVG importer: it creates single Curve object per and tessellation happens on that curve. The tessellation is not friendly (and can not be reliable enough) if curve have self-intersections, which is an exact reason of things failing here.
You need to split object into multiple paths in either software you used to create that SVG or in Blender after the import.
What's the difference between "bug" and "limitation"? To me, this very limitation is a bug, as the feature claims to import SVGs, and the imported thing looks quite different from the original thing.
I often work with complex shapes similar to this one, and I haven't figured a way to get them exported form Inkscape in a way so that it imports correctly in Blender. I'm trying to extrude this shape and add some bevel on top. This all seems to be available directly from the curve settings.
What I have in my SVG prepared for export is a single SVG that happens to be pretty complex, but it nevertheless shows up correctly in all viewers I could try. What's problematic for blender, I guess, is that this contains many sub-paths that are meant to act as holes in the shape. When I use "path -> break apart" feature in inkscape, and fill the parts with different colors, it shows up clearly:
When I import the separate shapes to Blender, they are just that -- separate shapes, so fill and bevel still doesn't work correctly. I can extrude the (empty) curves to create the sides of the mesh that I need, but it's really hard to get the fill right afterwards. That's why the broken SVG import is a big issue to me.
Limitation: the functionality is not implemented at all, code is working as it's expected within a given limitations.
Bug: functionality is there, but does not work as it is designed to.