X3D VRML2 importer throws ZeroDivisionError when trying to import a certain KiCad file #71424

Closed
opened 2019-11-08 13:35:33 +01:00 by Fabian Maurer · 8 comments

Blender Version
Broken:
2.8 release
2.8.2 alpha (23e1fb365b65)

Short description of error
VRML2 (.wrl) import fails with ZeroDivisionError
It divides by zero inside import_x3d.py (for me in line 2047), because a bit earlier x_min and x_max are the same.

C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py:1270: DeprecationWarning: 'U' mode is deprecated
  filehandle = open(path, 'rU', encoding='utf-8', errors='surrogateescape')
Traceback (most recent call last):
  File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\__init__.py", line 78, in execute
    return import_x3d.load(context, **keywords)
  File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 3633, in load
    global_matrix=global_matrix,
  File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 3529, in load_web3d
    importShape(bpycollection, node, ancestry, global_matrix)
  File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 3148, in importShape
    bpydata = geom_fn(geom, ancestry)
  File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 2048, in importMesh_IndexedFaceSet
    loops = [co for f in faces
  File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 2050, in <listcomp>
    for co in generatePointCoords(points[v])]
  File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 2047, in generatePointCoords
    return (pt[s_axis] - s_min) / ds, (pt[t_axis] - t_min) / dt
ZeroDivisionError: float division by zero

Exact steps for others to reproduce the error

**Blender Version** Broken: 2.8 release 2.8.2 alpha (23e1fb365b65) **Short description of error** VRML2 (.wrl) import fails with ZeroDivisionError It divides by zero inside import_x3d.py (for me in line 2047), because a bit earlier x_min and x_max are the same. ``` C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py:1270: DeprecationWarning: 'U' mode is deprecated filehandle = open(path, 'rU', encoding='utf-8', errors='surrogateescape') Traceback (most recent call last): File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\__init__.py", line 78, in execute return import_x3d.load(context, **keywords) File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 3633, in load global_matrix=global_matrix, File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 3529, in load_web3d importShape(bpycollection, node, ancestry, global_matrix) File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 3148, in importShape bpydata = geom_fn(geom, ancestry) File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 2048, in importMesh_IndexedFaceSet loops = [co for f in faces File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 2050, in <listcomp> for co in generatePointCoords(points[v])] File "C:\Germano\Dev\BlenderDev\blender\release\scripts\addons\io_scene_x3d\import_x3d.py", line 2047, in generatePointCoords return (pt[s_axis] - s_min) / ds, (pt[t_axis] - t_min) / dt ZeroDivisionError: float division by zero ``` **Exact steps for others to reproduce the error** - Import the file into blender. (from [kicad-packages3D ](https://github.com/KiCad/kicad-packages3D/blob/master/Connector_USB.3dshapes/USB_Micro-B_Molex_47346-0001.wrl)). [USB_Micro-B_Molex_47346-0001.wrl](https://archive.blender.org/developer/F7988620/USB_Micro-B_Molex_47346-0001.wrl)
Author

Added subscriber: @FabianMaurerRedheads

Added subscriber: @FabianMaurerRedheads

Added subscribers: @mont29, @mano-wii

Added subscribers: @mont29, @mano-wii

I can confirm.
@mont29, you are one of the maintainers of this addon.
Do you mind taking a look?

I can confirm. @mont29, you are one of the maintainers of this addon. Do you mind taking a look?

@mano-wii that add-on is not officially maintained anymore by blender…

@mano-wii that add-on is not officially maintained anymore by blender…

Removed subscriber: @mont29

Removed subscriber: @mont29
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Reconfirmed, still an issue, setting back to normal priority since we support X3D by default.
(still need to check internals, might be invalid geometry or Addon not supporting totally flat objects?)

Reconfirmed, still an issue, setting back to normal priority since we support X3D by default. (still need to check internals, might be invalid geometry or Addon not supporting totally flat objects?)
Philipp Oeser changed title from Blender VRML2 importer throws ZeroDivisionError when trying to import a certain KiCad file to X3D VRML2 importer throws ZeroDivisionError when trying to import a certain KiCad file 2020-02-14 14:37:35 +01:00

Closed as duplicate of #76303

Closed as duplicate of #76303
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 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-addons#71424
No description provided.