-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrhinoMaterialtoCSVCreator.py
57 lines (51 loc) · 2.07 KB
/
rhinoMaterialtoCSVCreator.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import Rhino
import rhinoscriptsyntax as rs
import scriptcontext as sc
import System.Drawing
import csv
import os
file_to_open = 'F:/CDG/01_Templates/Rhino/Admin/RevitMaterialLibrary/CSV-Rhino-Material-Creator/RhinoSimpleMaterialAudit.csv'
header = ['Name', 'Colour', 'DiffuseMapPath', 'BumpMapPath', 'TransparencyMapPath']
matName = []
matCol = []
matDiffPath = []
matTransPath = []
matBumpPath = []
mats = sc.doc.Materials
for material in mats:
matTitle = Rhino.DocObjects.Material.Name.GetValue(material)
if matTitle is not None:
#Get Material Name
matName.append(matTitle)
#Get Material Diffuse Colour
matDiff = Rhino.DocObjects.Material.DiffuseColor.GetValue(material)
matDiffCol = System.Drawing.ColorTranslator.ToString(matDiff)
matCol.append(matDiffCol)
#Get Material Diffuse Bitmap Path
matTexBitmap = Rhino.DocObjects.Material.GetBitmapTexture(material)
if matTexBitmap is None:
matDiffPath.append('')
else:
matTexBitmapPath = Rhino.DocObjects.Texture.FileName.GetValue(matTexBitmap)
matDiffPath.append(matTexBitmapPath)
#Get Material Bump Bitmap Path
matTexBump = Rhino.DocObjects.Material.GetBumpTexture(material)
if matTexBump is None:
matBumpPath.append('')
else:
matTexBumpPath = Rhino.DocObjects.Texture.FileName.GetValue(matTexBump)
matBumpPath.append(matTexBumpPath)
#Get Material Diffuse Transparency Path
matTexTrans = Rhino.DocObjects.Material.GetTransparencyTexture(material)
if matTexTrans is None:
matTransPath.append('')
else:
matTexTransPath = Rhino.DocObjects.Texture.FileName.GetValue(matTexTrans)
matTransPath.append(matTexTransPath)
with open(file_to_open, 'wb') as csv_file:
csv_writer = csv.writer(csv_file)
csv_writer.writerow(header)
for i, j in enumerate(matName):
row = (matName[i], matCol[i], matDiffPath[i], matBumpPath[i], matTransPath[i])
print(row)
csv_writer.writerow(row)