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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <mail@jlucke.com>2018-10-03 11:20:16 +0300
committerJacques Lucke <mail@jlucke.com>2018-10-03 11:20:16 +0300
commit2d21eb79ad48485bc7b3385d6df5c2c25fd88ee0 (patch)
tree57d18e1020c8acc2d46110bd43c0721dc30b7d76 /release/scripts
parent1c3411ac899d1ae8dfd790249a53054698bdd1e8 (diff)
Units: Support for fixed units
Users can select the main unit they want to use now. Previously the displayed unit always depended on the magnitude of the value. The old behavior can be restored by switching to the "Adaptive" mode for length, mass and time units. Meters, kilograms and seconds are the default units for new and old scenes. The selected unit is also the default unit for user input. E.g. if cm is selected, whenever the user inputs a unitless number into a field of type length, it will be interpreted as cm. Reviewer: brecht Differential: https://developer.blender.org/D3740
Diffstat (limited to 'release/scripts')
-rw-r--r--release/scripts/presets/units_length/centimeters.py5
-rw-r--r--release/scripts/presets/units_length/feet.py5
-rw-r--r--release/scripts/presets/units_length/inches.py5
-rw-r--r--release/scripts/presets/units_length/kilometers.py5
-rw-r--r--release/scripts/presets/units_length/meters.py5
-rw-r--r--release/scripts/presets/units_length/miles.py5
-rw-r--r--release/scripts/presets/units_length/millimeters.py5
-rw-r--r--release/scripts/startup/bl_operators/presets.py19
-rw-r--r--release/scripts/startup/bl_ui/properties_scene.py28
9 files changed, 10 insertions, 72 deletions
diff --git a/release/scripts/presets/units_length/centimeters.py b/release/scripts/presets/units_length/centimeters.py
deleted file mode 100644
index 80d5c3e8890..00000000000
--- a/release/scripts/presets/units_length/centimeters.py
+++ /dev/null
@@ -1,5 +0,0 @@
-import bpy
-scene = bpy.context.scene
-
-scene.unit_settings.system = 'METRIC'
-scene.unit_settings.scale_length = 0.01
diff --git a/release/scripts/presets/units_length/feet.py b/release/scripts/presets/units_length/feet.py
deleted file mode 100644
index 015cb810c4d..00000000000
--- a/release/scripts/presets/units_length/feet.py
+++ /dev/null
@@ -1,5 +0,0 @@
-import bpy
-scene = bpy.context.scene
-
-scene.unit_settings.system = 'IMPERIAL'
-scene.unit_settings.scale_length = 0.3048
diff --git a/release/scripts/presets/units_length/inches.py b/release/scripts/presets/units_length/inches.py
deleted file mode 100644
index 7bdc96329ec..00000000000
--- a/release/scripts/presets/units_length/inches.py
+++ /dev/null
@@ -1,5 +0,0 @@
-import bpy
-scene = bpy.context.scene
-
-scene.unit_settings.system = 'IMPERIAL'
-scene.unit_settings.scale_length = 0.0254
diff --git a/release/scripts/presets/units_length/kilometers.py b/release/scripts/presets/units_length/kilometers.py
deleted file mode 100644
index d2a80e56aaa..00000000000
--- a/release/scripts/presets/units_length/kilometers.py
+++ /dev/null
@@ -1,5 +0,0 @@
-import bpy
-scene = bpy.context.scene
-
-scene.unit_settings.system = 'METRIC'
-scene.unit_settings.scale_length = 1000.0
diff --git a/release/scripts/presets/units_length/meters.py b/release/scripts/presets/units_length/meters.py
deleted file mode 100644
index 831f1f26071..00000000000
--- a/release/scripts/presets/units_length/meters.py
+++ /dev/null
@@ -1,5 +0,0 @@
-import bpy
-scene = bpy.context.scene
-
-scene.unit_settings.system = 'METRIC'
-scene.unit_settings.scale_length = 1.0
diff --git a/release/scripts/presets/units_length/miles.py b/release/scripts/presets/units_length/miles.py
deleted file mode 100644
index 59c1e2b36a9..00000000000
--- a/release/scripts/presets/units_length/miles.py
+++ /dev/null
@@ -1,5 +0,0 @@
-import bpy
-scene = bpy.context.scene
-
-scene.unit_settings.system = 'IMPERIAL'
-scene.unit_settings.scale_length = 1609.344
diff --git a/release/scripts/presets/units_length/millimeters.py b/release/scripts/presets/units_length/millimeters.py
deleted file mode 100644
index b89918f8b1b..00000000000
--- a/release/scripts/presets/units_length/millimeters.py
+++ /dev/null
@@ -1,5 +0,0 @@
-import bpy
-scene = bpy.context.scene
-
-scene.unit_settings.system = 'METRIC'
-scene.unit_settings.scale_length = 0.001
diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py
index 5dae38a129f..9cc1591494a 100644
--- a/release/scripts/startup/bl_operators/presets.py
+++ b/release/scripts/startup/bl_operators/presets.py
@@ -652,24 +652,6 @@ class WM_MT_operator_presets(Menu):
preset_operator = "script.execute_preset"
-class AddPresetUnitsLength(AddPresetBase, Operator):
- """Add or remove length units preset"""
- bl_idname = "scene.units_length_preset_add"
- bl_label = "Add Length Units Preset"
- preset_menu = "SCENE_PT_units_length_presets"
-
- preset_defines = [
- "scene = bpy.context.scene"
- ]
-
- preset_values = [
- "scene.unit_settings.system",
- "scene.unit_settings.scale_length",
- ]
-
- preset_subdir = "units_length"
-
-
class AddPresetGpencilBrush(AddPresetBase, Operator):
"""Add or remove grease pencil brush preset"""
bl_idname = "scene.gpencil_brush_preset_add"
@@ -764,7 +746,6 @@ classes = (
AddPresetTrackingCamera,
AddPresetTrackingSettings,
AddPresetTrackingTrackColor,
- AddPresetUnitsLength,
AddPresetGpencilBrush,
AddPresetGpencilMaterial,
ExecutePreset,
diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py
index 8e3bfd63726..2cabefe905e 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -33,14 +33,6 @@ from .properties_physics_common import (
)
-class SCENE_PT_units_length_presets(PresetMenu):
- """Unit of measure for properties that use length values"""
- bl_label = "Unit Presets"
- preset_subdir = "units_length"
- preset_operator = "script.execute_preset"
- preset_add_operator = "scene.units_length_preset_add"
-
-
class SCENE_UL_keying_set_paths(UIList):
def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index):
# assert(isinstance(item, bpy.types.KeyingSetPath)
@@ -84,9 +76,6 @@ class SCENE_PT_unit(SceneButtonsPanel, Panel):
bl_label = "Units"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
- def draw_header_preset(self, context):
- SCENE_PT_units_length_presets.draw_panel_header(self.layout)
-
def draw(self, context):
layout = self.layout
@@ -95,17 +84,21 @@ class SCENE_PT_unit(SceneButtonsPanel, Panel):
layout.use_property_split = True
layout.use_property_decorate = False
- flow = layout.grid_flow(row_major=True, columns=0, even_columns=False, even_rows=False, align=True)
-
- col = flow.column()
- col.prop(unit, "system")
- col.prop(unit, "system_rotation")
+ layout.prop(unit, "system")
- col = flow.column()
+ col = layout.column()
col.enabled = unit.system != 'NONE'
col.prop(unit, "scale_length")
col.prop(unit, "use_separate")
+ col = layout.column()
+ col.prop(unit, "system_rotation", text="Rotation")
+ subcol = col.column()
+ subcol.enabled = unit.system != 'NONE'
+ subcol.prop(unit, "length_unit", text="Length")
+ subcol.prop(unit, "mass_unit", text="Mass")
+ subcol.prop(unit, "time_unit", text="Time")
+
class SceneKeyingSetsPanel:
@@ -607,7 +600,6 @@ class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, Panel):
classes = (
- SCENE_PT_units_length_presets,
SCENE_UL_keying_set_paths,
SCENE_PT_scene,
SCENE_PT_unit,