Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-04-15 21:21:17 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-04-15 21:21:17 +0400
commite88ccb06cc638467174f8b2e0ad3af1828db2c68 (patch)
treeabb90f6cdfd7f294e3d45fadb633a736eaf9ad82 /object_print3d_utils
parent81507f54080373b9f23f212e23e3ea6299490140 (diff)
option to apply scale on export. also add global scale options for exporters. OBJ/X3D/VRML/PLY/STL
Diffstat (limited to 'object_print3d_utils')
-rw-r--r--object_print3d_utils/__init__.py5
-rw-r--r--object_print3d_utils/export.py9
-rw-r--r--object_print3d_utils/ui.py6
3 files changed, 17 insertions, 3 deletions
diff --git a/object_print3d_utils/__init__.py b/object_print3d_utils/__init__.py
index ad080d1e..2e0dbb7d 100644
--- a/object_print3d_utils/__init__.py
+++ b/object_print3d_utils/__init__.py
@@ -71,6 +71,11 @@ class Print3DSettings(PropertyGroup):
description="Copies textures on export to the output path",
default=False,
)
+ use_apply_scale = BoolProperty(
+ name="Apply Scale",
+ description="Applies scene scale setting on export",
+ default=False,
+ )
export_path = StringProperty(
name="Export Directory",
description="Path to directory where the files are created",
diff --git a/object_print3d_utils/export.py b/object_print3d_utils/export.py
index 4c582f8a..d0eeca3f 100644
--- a/object_print3d_utils/export.py
+++ b/object_print3d_utils/export.py
@@ -51,13 +51,15 @@ def image_copy_guess(filepath, objects):
def write_mesh(context, info, report_cb):
scene = context.scene
+ unit = scene.unit_settings
print_3d = scene.print_3d
obj_base = scene.object_bases.active
obj = obj_base.object
export_format = print_3d.export_format
- path_mode = 'COPY' if print_3d.use_export_texture else 'AUTO'
+ global_scale = unit.scale_length if (unit.system != 'NONE' and print_3d.use_apply_scale) else 1.0
+ path_mode = 'COPY' if print_3d.use_export_texture else 'AUTO'
context_override = context.copy()
@@ -120,6 +122,7 @@ def write_mesh(context, info, report_cb):
filepath=filepath,
ascii=False,
use_mesh_modifiers=True,
+ global_scale=global_scale,
)
elif export_format == 'PLY':
addon_ensure("io_mesh_ply")
@@ -128,6 +131,7 @@ def write_mesh(context, info, report_cb):
context_override,
filepath=filepath,
use_mesh_modifiers=True,
+ global_scale=global_scale,
)
elif export_format == 'X3D':
addon_ensure("io_scene_x3d")
@@ -138,6 +142,7 @@ def write_mesh(context, info, report_cb):
use_mesh_modifiers=True,
use_selection=True,
path_mode=path_mode,
+ global_scale=global_scale,
)
elif export_format == 'WRL':
addon_ensure("io_scene_vrml2")
@@ -148,6 +153,7 @@ def write_mesh(context, info, report_cb):
use_mesh_modifiers=True,
use_selection=True,
path_mode=path_mode,
+ global_scale=global_scale,
)
elif export_format == 'OBJ':
addon_ensure("io_scene_obj")
@@ -158,6 +164,7 @@ def write_mesh(context, info, report_cb):
use_mesh_modifiers=True,
use_selection=True,
path_mode=path_mode,
+ global_scale=global_scale,
)
else:
assert(0)
diff --git a/object_print3d_utils/ui.py b/object_print3d_utils/ui.py
index 25a72c93..9a141dd7 100644
--- a/object_print3d_utils/ui.py
+++ b/object_print3d_utils/ui.py
@@ -109,10 +109,12 @@ class Print3DToolBar:
# col.operator("mesh.print3d_clean_thin", text="Wall Thickness")
col = layout.column()
- col.label("Export Directory:")
+ rowsub = col.row(align=True)
+ rowsub.label("Export Path:")
+ rowsub.prop(print_3d, "use_apply_scale", text="", icon='MAN_SCALE')
+ rowsub.prop(print_3d, "use_export_texture", text="", icon='FILE_IMAGE')
rowsub = col.row()
rowsub.prop(print_3d, "export_path", text="")
- rowsub.prop(print_3d, "use_export_texture", text="", icon='FILE_IMAGE')
rowsub = col.row(align=True)
rowsub.prop(print_3d, "export_format", text="")