Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if attr.MaterialIndex != -1:
matname = material_name(model.Materials[attr.MaterialIndex])
layeruuid = rhinolayer.Id
rhinomatname = rhinolayer.Name + "+" + str(layeruuid)
if matname:
rhinomat = materials[matname]
else:
rhinomat = materials[rhinomatname]
layer = layerids[str(layeruuid)][1]
# concatenate all meshes from all (brep) faces,
# adjust vertex indices for faces accordingly
# first get all render meshes
if og.ObjectType==r3d.ObjectType.Extrusion:
msh = [og.GetMesh(r3d.MeshType.Any)]
elif og.ObjectType==r3d.ObjectType.Mesh:
msh = [og]
elif og.ObjectType==r3d.ObjectType.Brep:
msh = [og.Faces[f].GetMesh(r3d.MeshType.Any) for f in range(len(og.Faces)) if type(og.Faces[f])!=list]
else:
continue
fidx=0
faces = []
vertices = []
# now add all faces and vertices to the main lists
for m in msh:
if not m: continue
faces.extend([list(map(lambda x: x + fidx, m.Faces[f])) for f in range(len(m.Faces))])
fidx = fidx + len(m.Vertices)
vertices.extend([(m.Vertices[v].X, m.Vertices[v].Y, m.Vertices[v].Z) for v in range(len(m.Vertices))])
# done, now add object to blender