Для хранения выражения MMA я бы предложил DumpSave
(двоичный, системно-зависимый), Save
или Put
, но если вы хотите использовать Export, я бы преобразовал в строку и экспортируйте это как текст .(Я использую ImportString
и ExpertString
ниже, так что мне не нужен файл, но он работает одинаково для Import
и Export
).ИМО, это твердо, как скала.
a = {{{0, 0, 0}, {1, 0, 0}, {1, 1, 0}}, {{0, 0, 1}, {1, 0, 1}, {1, 1, 1}}};
b = ToExpression@ImportString[ExportString[a // ToString, "Text"], "Text"]
(* ==>
{{{0, 0, 0}, {1, 0, 0}, {1, 1, 0}}, {{0, 0, 1}, {1, 0, 1}, {1, 1, 1}}}
*)
a == b
(* ==> True *)
Чтение списка полигонов должно работать так же:
b = ToExpression@ImportString["test.dat", "Text"]