У меня есть такая функция:
def hay(i):
product = test[i]
if product not in ka: # dont create shape if already existent
#print("### Create shape",i, product.is_a(), product.Name, product.GlobalId)
if product.Representation is not None:
try:
shape = ifcopenshell.geom.create_shape(sa, product).geometry # shape is a shape tuple with access on data, geometry and styles
except:
#print(ifcopenshell.get_log)
shape = None
if shape is not None:
shapes_to_display1.append([i, shape])
print('shapes_to_display[%d]'%i)
print(shape)
else:
print("Product already has a shape")
return shapes_to_display1
Когда я применяю функцию карты библиотеки пафоса, как показано ниже:
pool = ProcessPool(nodes=4)
res= pool.map(hay, range(len(products)))
Я получаю переменную res который по какой-то причине является 3D-массивом. Тем не менее, когда я делаю печать в функции, я получаю
shapes_to_display[21]
class<'TopoDS_Shape'; Type:Compound; id:995442545>
shapes_to_display[0]
class<'TopoDS_Shape'; Type:Compound; id:995508017>
shapes_to_display[7]
class<'TopoDS_Shape'; Type:Compound; id:995915217>
shapes_to_display[14]
class<'TopoDS_Shape'; Type:Compound; id:995915041>
, что я и хочу. Я хочу, чтобы мой массив был 2D, как показано здесь.
Если я попытаюсь
for r in res:
print(r[:][0])
, я получу:
[0, class<'TopoDS_Shape'; Type:Compound; id:1813291361>]
[0, class<'TopoDS_Shape'; Type:Compound; id:1813291361>]
[0, class<'TopoDS_Shape'; Type:Compound; id:1813291361>]
[0, class<'TopoDS_Shape'; Type:Compound; id:1813291361>]
[0, class<'TopoDS_Shape'; Type:Compound; id:1813291361>]
[0, class<'TopoDS_Shape'; Type:Compound; id:1813291361>]
[0, class<'TopoDS_Shape'; Type:Compound; id:1813291361>]
[7, class<'TopoDS_Shape'; Type:Compound; id:1812116593>]
[7, class<'TopoDS_Shape'; Type:Compound; id:1812116593>]
[7, class<'TopoDS_Shape'; Type:Compound; id:1812116593>]
[7, class<'TopoDS_Shape'; Type:Compound; id:1812116593>]
[7, class<'TopoDS_Shape'; Type:Compound; id:1812116593>]
[7, class<'TopoDS_Shape'; Type:Compound; id:1812116593>]
[7, class<'TopoDS_Shape'; Type:Compound; id:1812116593>]
[14, class<'TopoDS_Shape'; Type:Compound; id:1812470737>]
[14, class<'TopoDS_Shape'; Type:Compound; id:1812470737>]
[14, class<'TopoDS_Shape'; Type:Compound; id:1812470737>]
[14, class<'TopoDS_Shape'; Type:Compound; id:1812470737>]
[14, class<'TopoDS_Shape'; Type:Compound; id:1812470737>]
[14, class<'TopoDS_Shape'; Type:Compound; id:1812470737>]
[14, class<'TopoDS_Shape'; Type:Compound; id:1812470737>]
Любая помощь будет принята с благодарностью. Заранее спасибо