Guest User

Untitled

a guest
Jun 23rd, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.90 KB | None | 0 0
  1. def SVGGetMaterial(color, context):
  2.     """
  3.    Get material for specified color
  4.    """
  5.  
  6.     materials = context['materials']
  7.     rgb_re = re.compile('^\s*rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,(\d+)\s*\)\s*$')
  8.  
  9.     if color in materials:
  10.         return materials[color]
  11.  
  12.     diff = None
  13.     if color.startswith('#'):
  14.         color = color[1:]
  15.  
  16.         if len(color) == 3:
  17.             color = color[0] * 2 + color[1] * 2 + color[2] * 2
  18.  
  19.         diff = (int(color[0:2], 16), int(color[2:4], 16), int(color[4:6], 16))
  20.     elif color in svg_colors.SVGColors:
  21.         diff = svg_colors.SVGColors[color]
  22.     elif rgb_re.match(color):
  23.         c = rgb_re.findall(color)[0]
  24.         diff = (float(c[0]), float(c[1]), float(c[2]))
  25.     else:
  26.         return None
  27.  
  28.     mat = bpy.data.materials.new(name='SVGMat')
  29.     mat.diffuse_color = ([x / 255.0 for x in diff])
  30.  
  31.     materials[color] = mat
  32.  
  33.     return mat
Add Comment
Please, Sign In to add comment