[Bf-extensions-cvs] [9f7b301a] master: Print3D: PEP8 cleanup
Mikhail Rachinskiy
noreply at git.blender.org
Wed Sep 18 15:14:32 CEST 2019
Commit: 9f7b301a9b0ac97de56854dec81d7be5f8900e12
Author: Mikhail Rachinskiy
Date: Wed Sep 18 17:14:08 2019 +0400
Branches: master
https://developer.blender.org/rBA9f7b301a9b0ac97de56854dec81d7be5f8900e12
Print3D: PEP8 cleanup
===================================================================
M object_print3d_utils/__init__.py
M object_print3d_utils/export.py
M object_print3d_utils/mesh_helpers.py
M object_print3d_utils/operators.py
M object_print3d_utils/ui.py
===================================================================
diff --git a/object_print3d_utils/__init__.py b/object_print3d_utils/__init__.py
index 6bf2a8a7..b342bdfe 100644
--- a/object_print3d_utils/__init__.py
+++ b/object_print3d_utils/__init__.py
@@ -22,13 +22,13 @@ bl_info = {
"name": "3D Print Toolbox",
"author": "Campbell Barton",
"blender": (2, 80, 0),
- "location": "3D View > Toolbox",
+ "location": "3D View > Sidebar",
"description": "Utilities for 3D printing",
- "wiki_url": "https://wiki.blender.org/index.php/Extensions:2.6/Py/"
- "Scripts/Modeling/PrintToolbox",
+ # TODO
+ # "wiki_url": "",
"support": 'OFFICIAL',
"category": "Mesh",
- }
+}
if "bpy" in locals():
@@ -40,22 +40,19 @@ else:
import math
import bpy
+ from bpy.types import PropertyGroup
from bpy.props import (
- StringProperty,
- BoolProperty,
- FloatProperty,
- EnumProperty,
- PointerProperty,
- )
- from bpy.types import (
- AddonPreferences,
- PropertyGroup,
- )
+ StringProperty,
+ BoolProperty,
+ FloatProperty,
+ EnumProperty,
+ PointerProperty,
+ )
from . import (
- ui,
- operators,
- )
+ ui,
+ operators,
+ )
class Print3D_Scene_Props(PropertyGroup):
@@ -122,12 +119,13 @@ class Print3D_Scene_Props(PropertyGroup):
classes = (
+ Print3D_Scene_Props,
+
ui.VIEW3D_PT_Print3D_Object,
ui.VIEW3D_PT_Print3D_Mesh,
operators.MESH_OT_Print3D_Info_Volume,
operators.MESH_OT_Print3D_Info_Area,
-
operators.MESH_OT_Print3D_Check_Degenerate,
operators.MESH_OT_Print3D_Check_Distorted,
operators.MESH_OT_Print3D_Check_Solid,
@@ -136,20 +134,14 @@ classes = (
operators.MESH_OT_Print3D_Check_Sharp,
operators.MESH_OT_Print3D_Check_Overhang,
operators.MESH_OT_Print3D_Check_All,
-
operators.MESH_OT_Print3D_Clean_Isolated,
operators.MESH_OT_Print3D_Clean_Distorted,
# operators.MESH_OT_Print3D_Clean_Thin,
operators.MESH_OT_Print3D_Clean_Non_Manifold,
-
operators.MESH_OT_Print3D_Select_Report,
-
operators.MESH_OT_Print3D_Scale_To_Volume,
operators.MESH_OT_Print3D_Scale_To_Bounds,
-
operators.MESH_OT_Print3D_Export,
-
- Print3D_Scene_Props,
)
diff --git a/object_print3d_utils/export.py b/object_print3d_utils/export.py
index 9a9afb3a..5e9b71c0 100644
--- a/object_print3d_utils/export.py
+++ b/object_print3d_utils/export.py
@@ -65,7 +65,6 @@ def write_mesh(context, info, report_cb):
path_mode = 'COPY' if print_3d.use_export_texture else 'AUTO'
context_override = context.copy()
-
obj_tmp = None
# PLY can only export single mesh objects!
@@ -90,6 +89,7 @@ def write_mesh(context, info, report_cb):
name = os.path.splitext(name)[0]
else:
name = "untitled"
+
# add object name
name += "-%s" % bpy.path.clean_name(obj.name)
@@ -118,55 +118,55 @@ def write_mesh(context, info, report_cb):
addon_ensure("io_mesh_stl")
filepath = bpy.path.ensure_ext(filepath, ".stl")
ret = bpy.ops.export_mesh.stl(
- context_override,
- filepath=filepath,
- ascii=False,
- use_mesh_modifiers=True,
- use_selection=True,
- global_scale=global_scale,
- )
+ context_override,
+ filepath=filepath,
+ ascii=False,
+ use_mesh_modifiers=True,
+ use_selection=True,
+ global_scale=global_scale,
+ )
elif export_format == 'PLY':
addon_ensure("io_mesh_ply")
filepath = bpy.path.ensure_ext(filepath, ".ply")
ret = bpy.ops.export_mesh.ply(
- context_override,
- filepath=filepath,
- use_mesh_modifiers=True,
- global_scale=global_scale,
- )
+ context_override,
+ filepath=filepath,
+ use_mesh_modifiers=True,
+ global_scale=global_scale,
+ )
elif export_format == 'X3D':
addon_ensure("io_scene_x3d")
filepath = bpy.path.ensure_ext(filepath, ".x3d")
ret = bpy.ops.export_scene.x3d(
- context_override,
- filepath=filepath,
- use_mesh_modifiers=True,
- use_selection=True,
- path_mode=path_mode,
- global_scale=global_scale,
- )
+ context_override,
+ filepath=filepath,
+ use_mesh_modifiers=True,
+ use_selection=True,
+ path_mode=path_mode,
+ global_scale=global_scale,
+ )
elif export_format == 'WRL':
addon_ensure("io_scene_vrml2")
filepath = bpy.path.ensure_ext(filepath, ".wrl")
ret = bpy.ops.export_scene.vrml2(
- context_override,
- filepath=filepath,
- use_mesh_modifiers=True,
- use_selection=True,
- path_mode=path_mode,
- global_scale=global_scale,
- )
+ context_override,
+ filepath=filepath,
+ use_mesh_modifiers=True,
+ use_selection=True,
+ path_mode=path_mode,
+ global_scale=global_scale,
+ )
elif export_format == 'OBJ':
addon_ensure("io_scene_obj")
filepath = bpy.path.ensure_ext(filepath, ".obj")
ret = bpy.ops.export_scene.obj(
- context_override,
- filepath=filepath,
- use_mesh_modifiers=True,
- use_selection=True,
- path_mode=path_mode,
- global_scale=global_scale,
- )
+ context_override,
+ filepath=filepath,
+ use_mesh_modifiers=True,
+ use_selection=True,
+ path_mode=path_mode,
+ global_scale=global_scale,
+ )
else:
assert 0
@@ -186,6 +186,7 @@ def write_mesh(context, info, report_cb):
# restore context
for ob in context_backup["selected_objects"]:
ob.select_set(True)
+
layer.objects.active = context_backup["active_object"]
if 'FINISHED' in ret:
diff --git a/object_print3d_utils/mesh_helpers.py b/object_print3d_utils/mesh_helpers.py
index cda8c005..d585d125 100644
--- a/object_print3d_utils/mesh_helpers.py
+++ b/object_print3d_utils/mesh_helpers.py
@@ -24,9 +24,7 @@ import bmesh
def bmesh_copy_from_object(obj, transform=True, triangulate=True, apply_modifiers=False):
- """
- Returns a transformed, triangulated copy of the mesh
- """
+ """Returns a transformed, triangulated copy of the mesh"""
assert obj.type == 'MESH'
@@ -61,47 +59,39 @@ def bmesh_copy_from_object(obj, transform=True, triangulate=True, apply_modifier
def bmesh_from_object(obj):
- """
- Object/Edit Mode get mesh, use bmesh_to_object() to write back.
- """
+ """Object/Edit Mode get mesh, use bmesh_to_object() to write back."""
me = obj.data
- is_editmode = (obj.mode == 'EDIT')
- if is_editmode:
+
+ if obj.mode == 'EDIT':
bm = bmesh.from_edit_mesh(me)
else:
bm = bmesh.new()
bm.from_mesh(me)
+
return bm
def bmesh_to_object(obj, bm):
- """
- Object/Edit Mode update the object.
- """
+ """Object/Edit Mode update the object."""
me = obj.data
- is_editmode = (obj.mode == 'EDIT')
- if is_editmode:
+
+ if obj.mode == 'EDIT':
bmesh.update_edit_mesh(me, True)
else:
bm.to_mesh(me)
+
# grr... cause an update
if me.vertices:
me.vertices[0].co[0] = me.vertices[0].co[0]
def bmesh_calc_area(bm):
- """
- Calculate the surface area.
- """
+ """Calculate the surface area."""
return sum(f.calc_area() for f in bm.faces)
def bmesh_check_self_intersect_object(obj):
- """
- Check if any faces self intersect
-
- returns an array of edge index values.
- """
+ """Check if any faces self intersect returns an array of edge index values."""
import array
import mathutils
@@ -147,6 +137,7 @@ def bmesh_check_thick_object(obj, thickness):
# Triangulate
bm = bmesh_copy_from_object(obj, transform=True, triangulate=False)
+
# map original faces to their index.
face_index_map_org = {f: i for i, f in enumerate(bm.faces)}
ret = bmesh.ops.triangulate(bm, faces=bm.faces)
@@ -166,27 +157,14 @@ def bmesh_check_thick_object(obj, thickness):
bm.to_mesh(me_tmp)
# bm.free() # delay free
obj_tmp = bpy.data.objects.new(name=me_tmp.name, object_data=me_tmp)
- # base = scene.objects.link(obj_tmp)
scene_collection.objects.link(obj_tmp)
- # Add new object to local view layer
- # XXX28
- '''
- v3d = None
- if context.space_data and context.space_data.type == 'VIEW_3D':
- v3d = context.space_data
-
- if v3d and v3d.local_view:
- base.layers_from_view(context.space_data)
- '''
-
layer.update()
ray_cast = obj_tmp.ray_cast
EPS_BIAS = 0.0001
faces_error = set()
-
bm_faces_new = bm.faces[:]
for f in bm_faces_new:
@@ -209,8 +187,7 @@ def bmesh_check_thick_object(obj, thickness):
f_org_index = face_index_map_org[f_org]
faces_error.add(f_org_index)
- # finished with bm
- bm.free()
+ bm.free() # finished with bm
scene_collection.objects.unlink(obj_tmp)
bpy.data.objects.remove(obj_tmp)
@@ -222,9 +199,7 @@ def bmesh_check_thick_object(obj, thickness):
def object_merge(context, objects):
- """
- Caller must remove.
- """
+ """Caller must remove."""
import bpy
@@ -279,10 +254,6 @@ def object_merge(context, objects):
bpy.ops.object.join(fake_context)
del base_new, obj_new
- # remove object and its mesh, join does this
- # scene_collection.objects.unlink(obj_new)
- # bpy.data.objects.remove(obj_new)
-
obj_eval.to_mesh_clear()
layer.update()
@@ -29
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list