diff options
author | Antonioya <blendergit@gmail.com> | 2019-01-27 19:34:37 +0300 |
---|---|---|
committer | Antonioya <blendergit@gmail.com> | 2019-01-27 21:17:52 +0300 |
commit | 00fe1f9d27ef81d535c4ebfea11e7793a41fe373 (patch) | |
tree | caf550d252e478ac29140b781f4d5133bb7c57a3 /archimesh/achm_curtain_maker.py | |
parent | 117b36e1b5ade3d81dfacbb4da5377ca3aabc92d (diff) |
Archimesh: Conversion to 2.80
Adapt the script to new Blender version
Task T60910
Diffstat (limited to 'archimesh/achm_curtain_maker.py')
-rw-r--r-- | archimesh/achm_curtain_maker.py | 91 |
1 files changed, 46 insertions, 45 deletions
diff --git a/archimesh/achm_curtain_maker.py b/archimesh/achm_curtain_maker.py index f8d005f2..29740556 100644 --- a/archimesh/achm_curtain_maker.py +++ b/archimesh/achm_curtain_maker.py @@ -28,6 +28,7 @@ import bpy from copy import copy from math import cos, sin, radians from bpy.types import Operator +from bpy.props import BoolProperty, IntProperty, FloatProperty from .achm_tools import * @@ -35,62 +36,62 @@ from .achm_tools import * # Define UI class # Japanese curtains # ------------------------------------------------------------------ -class AchmJapan(Operator): +class ARCHIMESH_OT_Japan(Operator): bl_idname = "mesh.archimesh_japan" bl_label = "Japanese curtains" bl_description = "Japanese curtains Generator" - bl_category = 'Archimesh' + bl_category = 'View' bl_options = {'REGISTER', 'UNDO'} - width: bpy.props.FloatProperty( + width: FloatProperty( name='Width', min=0.30, max=4, default=1, precision=3, description='Total width', ) - height: bpy.props.FloatProperty( + height: FloatProperty( name='Height', min=0.20, max=50, default=1.8, precision=3, description='Total height', ) - num: bpy.props.IntProperty( + num: IntProperty( name='Rails', min=2, max=5, default=2, description='Number total of rails', ) - palnum: bpy.props.IntProperty( + palnum: IntProperty( name='Panels', min=1, max=2, default=1, description='Panels by rail', ) - open01: bpy.props.FloatProperty( + open01: FloatProperty( name='Position 01', min=0, max=1, default=0, precision=3, description='Position of the panel', ) - open02: bpy.props.FloatProperty( + open02: FloatProperty( name='Position 02', min=0, max=1, default=0, precision=3, description='Position of the panel', ) - open03: bpy.props.FloatProperty( + open03: FloatProperty( name='Position 03', min=0, max=1, default=0, precision=3, description='Position of the panel', ) - open04: bpy.props.FloatProperty( + open04: FloatProperty( name='Position 04', min=0, max=1, default=0, precision=3, description='Position of the panel', ) - open05: bpy.props.FloatProperty( + open05: FloatProperty( name='Position 05', min=0, max=1, default=0, precision=3, description='Position of the panel', ) # Materials - crt_mat: bpy.props.BoolProperty( + crt_mat: BoolProperty( name="Create default Cycles materials", description="Create default materials for Cycles render", default=True, @@ -134,11 +135,11 @@ class AchmJapan(Operator): row.prop(self, 'open05', slider=True) box = layout.box() - if not context.scene.render.engine == 'CYCLES': + if not context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: box.enabled = False box.prop(self, 'crt_mat') if self.crt_mat: - box.label("* Remember to verify fabric texture folder") + box.label(text="* Remember to verify fabric texture folder") else: row = layout.row() row.label(text="Warning: Operator does not work in local view mode", icon='ERROR') @@ -163,7 +164,7 @@ class AchmJapan(Operator): def create_japan_mesh(self): # deactivate others for o in bpy.data.objects: - if o.select is True: + if o.select_get() is True: o.select_set(False) bpy.ops.object.select_all(False) # Create units @@ -176,26 +177,26 @@ def create_japan_mesh(self): # Define UI class # Roller curtains # ------------------------------------------------------------------ -class AchmRoller(Operator): +class ARCHIMESH_OT_Roller(Operator): bl_idname = "mesh.archimesh_roller" bl_label = "Roller curtains" bl_description = "Roller_curtains Generator" - bl_category = 'Archimesh' + bl_category = 'View' bl_options = {'REGISTER', 'UNDO'} - width: bpy.props.FloatProperty( + width: FloatProperty( name='Width', min=0.30, max=4, default=1, precision=3, description='Total width', ) - height: bpy.props.FloatProperty( + height: FloatProperty( name='Height', min=0.01, max=50, default=1.7, precision=3, description='Total height', ) # Materials - crt_mat: bpy.props.BoolProperty( + crt_mat: BoolProperty( name="Create default Cycles materials", description="Create default materials for Cycles render", default=True, @@ -220,11 +221,11 @@ class AchmRoller(Operator): row.prop(self, 'height') box = layout.box() - if not context.scene.render.engine == 'CYCLES': + if not context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: box.enabled = False box.prop(self, 'crt_mat') if self.crt_mat: - box.label("* Remember to verify fabric texture folder") + box.label(text="* Remember to verify fabric texture folder") else: row = layout.row() row.label(text="Warning: Operator does not work in local view mode", icon='ERROR') @@ -249,7 +250,7 @@ class AchmRoller(Operator): def create_roller_mesh(self): # deactivate others for o in bpy.data.objects: - if o.select is True: + if o.select_get() is True: o.select_set(False) bpy.ops.object.select_all(False) generate_roller(self) @@ -356,7 +357,7 @@ def generate_japan(self): posz = -0.008 x = 1 fabricmat = None - if self.crt_mat and bpy.context.scene.render.engine == 'CYCLES': + if self.crt_mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: fabricmat = create_fabric_material("Fabric_material", False, 0.653, 0.485, 0.265, 0.653, 0.485, 0.265) @@ -396,7 +397,7 @@ def generate_japan(self): mycurve2.location.y = -0.01 mycurve2.location.z = 0.005 - if self.crt_mat and bpy.context.scene.render.engine == 'CYCLES': + if self.crt_mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: mat = create_diffuse_material("String_material", False, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.01) set_material(mycurve1, mat) @@ -409,11 +410,11 @@ def generate_japan(self): # deactivate others for o in bpy.data.objects: - if o.select is True: + if o.select_get() is True: o.select_set(False) myrail.select_set(True) - bpy.context.scene.objects.active = myrail + bpy.context.view_layer.objects.active = myrail return @@ -482,7 +483,7 @@ def create_japan_rail(objname, sx, ways, px, py, pz, mat): myobject.location[0] = px myobject.location[1] = py myobject.location[2] = pz - bpy.context.scene.objects.link(myobject) + bpy.context.collection.objects.link(myobject) mymesh.from_pydata(myvertex, [], myfaces) mymesh.update(calc_edges=True) @@ -490,7 +491,7 @@ def create_japan_rail(objname, sx, ways, px, py, pz, mat): # --------------------------------- # Materials # --------------------------------- - if mat and bpy.context.scene.render.engine == 'CYCLES': + if mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: # External mat = create_diffuse_material(objname + "_material", False, 0.8, 0.8, 0.8, 0.6, 0.6, 0.6, 0.15) set_material(myobject, mat) @@ -529,7 +530,7 @@ def create_japan_support(objname, sx, px, py, pz, mat): myobject.location[0] = px myobject.location[1] = py myobject.location[2] = pz - bpy.context.scene.objects.link(myobject) + bpy.context.collection.objects.link(myobject) mymesh.from_pydata(myvertex, [], myfaces) mymesh.update(calc_edges=True) @@ -537,7 +538,7 @@ def create_japan_support(objname, sx, px, py, pz, mat): # --------------------------------- # Materials # --------------------------------- - if mat and bpy.context.scene.render.engine == 'CYCLES': + if mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: # External mat = create_diffuse_material(objname + "_material", False, 0.8, 0.8, 0.8, 0.6, 0.6, 0.6, 0.15) set_material(myobject, mat) @@ -570,7 +571,7 @@ def create_japan_panel(objname, sx, sz, px, py, pz, mat, fabricmat): myobject.location[0] = px myobject.location[1] = py myobject.location[2] = pz - bpy.context.scene.objects.link(myobject) + bpy.context.collection.objects.link(myobject) mymesh.from_pydata(myvertex, [], myfaces) mymesh.update(calc_edges=True) @@ -578,7 +579,7 @@ def create_japan_panel(objname, sx, sz, px, py, pz, mat, fabricmat): # --------------------------------- # Materials # --------------------------------- - if mat and bpy.context.scene.render.engine == 'CYCLES': + if mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: unwrap_mesh(myobject, True) # remap UV to use all texture for uv_loop in myobject.data.uv_layers.active.data: @@ -603,7 +604,7 @@ def create_bezier(objname, points, origin, depth=0.001, fill='FULL'): myobject = bpy.data.objects.new(objname, curvedata) myobject.location = origin - bpy.context.scene.objects.link(myobject) + bpy.context.collection.objects.link(myobject) polyline = curvedata.splines.new('BEZIER') polyline.bezier_points.add(len(points) - 1) @@ -631,7 +632,7 @@ def generate_roller(self): # Roller Top # ------------------ fabricsolid = None - if self.crt_mat and bpy.context.scene.render.engine == 'CYCLES': + if self.crt_mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: fabricsolid = create_diffuse_material("Fabric_solid_material", False, 0.653, 0.485, 0.265) myroller = create_roller_rail("Roller", @@ -647,7 +648,7 @@ def generate_roller(self): # Sides # -------------------------------------------------------------------------------- plastic = None - if self.crt_mat and bpy.context.scene.render.engine == 'CYCLES': + if self.crt_mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: plastic = create_diffuse_material("Plastic_roller_material", False, 0.653, 0.485, 0.265, 0.653, 0.485, 0.265, 0.2) @@ -669,7 +670,7 @@ def generate_roller(self): # Panel # -------------------------------------------------------------------------------- fabricmat = None - if self.crt_mat and bpy.context.scene.render.engine == 'CYCLES': + if self.crt_mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: fabricmat = create_fabric_material("Fabric_translucent_material", False, 0.653, 0.485, 0.265, 0.653, 0.485, 0.265) @@ -707,17 +708,17 @@ def generate_roller(self): mycurve.location.x = self.width + 0.015 mycurve.location.y = 0 mycurve.location.z = -0.38 - if self.crt_mat and bpy.context.scene.render.engine == 'CYCLES': + if self.crt_mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: mat = create_diffuse_material("String_material", False, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.01) set_material(mycurve, mat) # deactivate others for o in bpy.data.objects: - if o.select is True: + if o.select_get() is True: o.select_set(False) myroller.select_set(True) - bpy.context.scene.objects.active = myroller + bpy.context.view_layer.objects.active = myroller return @@ -771,7 +772,7 @@ def create_roller_rail(objname, width, radio, px, py, pz, mat, mymaterial): mymesh = bpy.data.meshes.new(objname) myroll = bpy.data.objects.new(objname, mymesh) - bpy.context.scene.objects.link(myroll) + bpy.context.collection.objects.link(myroll) mymesh.from_pydata(myvertex, [], myfaces) mymesh.update(calc_edges=True) @@ -781,7 +782,7 @@ def create_roller_rail(objname, width, radio, px, py, pz, mat, mymaterial): myroll.location.z = pz # Materials - if mat and bpy.context.scene.render.engine == 'CYCLES': + if mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: set_material(myroll, mymaterial) # Smooth @@ -811,7 +812,7 @@ def create_roller_sides(myroller, side, px, py, pz, mat, plastic): mymesh = bpy.data.meshes.new("Side." + side) myside = bpy.data.objects.new("Side." + side, mymesh) - bpy.context.scene.objects.link(myside) + bpy.context.collection.objects.link(myside) mymesh.from_pydata(myvertex, [], myfaces) mymesh.update(calc_edges=True) # Position @@ -825,7 +826,7 @@ def create_roller_sides(myroller, side, px, py, pz, mat, plastic): myside.parent = myroller # Materials - if mat and bpy.context.scene.render.engine == 'CYCLES': + if mat and bpy.context.scene.render.engine in {'CYCLES', 'BLENDER_EEVEE'}: set_material(myside, plastic) # Smooth @@ -1103,7 +1104,7 @@ def roller_side(): # myObject: Curve object # -------------------------------------------------------------------- def set_curve_cycle(myobject): - bpy.context.scene.objects.active = myobject + bpy.context.view_layer.objects.active = myobject # go edit mode bpy.ops.object.mode_set(mode='EDIT') # select all faces |