Goodbye Universal Analytics

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae.

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae.

Sed auctor augue id tellus lacinia, nec ultricies est fermentum.

Praesent nec orci at nulla consequat congue ut non arcu. Fusce aliquet turpis at orci bibendum, non convallis justo tempor.

Vivamus vitae arcu vel velit efficitur vestibulum vel in purus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Vivamus vitae arcu vel velit efficitur vestibulum vel in purus.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas euismod sapien eu arcu convallis, vitae vestibulum ipsum maximus.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Cras sit amet velit id nulla tempus dictum sit amet eu nisi. Cras sit amet velit id nulla tempus dictum sit amet eu nisi. Donec eu felis at libero consequat sagittis a et urna.

Maecenas euismod sapien eu arcu convallis, vitae vestibulum ipsum maximus. Vivamus vitae arcu vel velit efficitur vestibulum vel in purus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Maecenas euismod sapien eu arcu convallis, vitae vestibulum ipsum maximus.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Donec eu felis at libero consequat sagittis a et urna.

Integer rutrum ante et nunc venenatis, id ultricies risus ultricies.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae.

Maecenas euismod sapien eu arcu convallis, vitae vestibulum ipsum maximus. Praesent nec orci at nulla consequat congue ut non arcu. Sed auctor augue id tellus lacinia, nec ultricies est fermentum.

Maecenas euismod sapien eu arcu convallis, vitae vestibulum ipsum maximus. Praesent nec orci at nulla consequat congue ut non arcu.

Heading 1

Heading 2

Heading 3

Heading 4

Heading 5
Heading 6
dog receiving pat

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

code looks like this

import bpy

#get all scene objects
objs = [i for i in bpy.data.scenes[0].objects if i.type == 'MESH']

for i in objs:
    #check for objects that have one material
    if len(i.material_slots)==1:
        dupmat = i.material_slots[0].name
        print(dupmat)
        #check for duplicate names
        if ".0" in dupmat:
            matName = dupmat[:-4]
            if matName in [i.name for i in bpy.data.materials]:
                mat = bpy.data.materials[dupmat[:-4]]
                i.material_slots[0].material = mat
    
    #check for objects that have more than one material
    elif len(i.material_slots)>1:
        for x,y in enumerate(i.material_slots):
            dupmat = i.material_slots[x].name
            print(dupmat)
            if ".0" in dupmat:
                matName = dupmat[:-4]
                if matName in [i.name for i in bpy.data.materials]:
                    mat = bpy.data.materials[dupmat[:-4]]
                    i.material_slots[x].material = mat

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Block quote

Ordered list

  1. Item 1
  2. Item 2
  3. Item 3

Unordered list

  • Item A
  • Item B
  • Item C

Text link

Bold text

Emphasis

Superscript

Subscript