Формат файла Archicad PLN

Практическое руководство по содержимому PLN и работе нашего модуля чтения в браузере. Технические сведения получены исследованием измеренных файлов-образцов Archicad и проверкой декодированных записей и геометрии.

Бесплатный локальный просмотр. Без установки, загрузки на сервер и учётной записи.

Что содержит проект PLN

Archicad использует .pln для проекта и .pla для архива проекта. PLN хранит модель и сформированные виды вместе с настройками, атрибутами и ссылками на библиотеки. Архив может включать связанные ресурсы вместе с проектом. Эти роли описывает документация по типам файлов проекта Graphisoft.

Отправной точкой для модуля чтения служит сохранённая база данных. Активные объекты определяют сохранённое состояние проекта, а их связи соединяют строительные элементы со вспомогательными записями. Для чтения стены могут понадобиться несколько записей её контура, размещения, связи с этажом и проёмов.

Контейнер ROF и его активный каталог

Измеренные файлы начинаются с восьмибайтовой ASCII-сигнатуры ROF FDB с завершающим пробелом. В терминологии Graphisoft ROF означает Random Object File, а BL означает BLock. В измеренной структуре заголовок занимает 32 байта, а первое выделение BL начинается с байта 32. Протяжённость выделений задаётся единицами по 16 байт.

Измеренные поля записи корневого активного каталога длиной 30 байт
ПолеРазмерПрименение в модуле чтения
Тег2 байтаОпределяет оформление записи каталога.
Указатель выделения8 байтЗадаёт положение выделения относительно начала базы данных в единицах выделения.
Размер выделения4 байтаУказывает протяжённость выделения в единицах.
GUID объекта16 байтОпределяет активный объект, связанный с выделением.

Сохранённый файл также может содержать прежние снимки каталога и устаревшие выделения. Модуль чтения следует активным записям и проверяет идентификатор и протяжённость каждого указанного выделения. Эти проверки связывают декодированные объекты с текущим сохранённым состоянием.

Два слоя хранения со сжатием QuickLZ

На физическом уровне выделения BL чередуются со сжатыми группами. В измеренной структуре группа содержит количество декодированных байтов, число блоков, блоки QuickLZ с префиксом длины и завершающую часть для выравнивания. Внешние блоки распаковываются максимум до 1 MiB и используют независимые словари. Распаковка групп раскрывает логическую кучу BL.

Содержимое отдельных выделений использует одну из трёх наблюдаемых кодировок: буквальные байты, маски нулевых байтов или дополнительную последовательность блоков QuickLZ. Нулевая маска определяет, какие байты хранятся, а какие разворачиваются в нули. Внутренние блоки распаковываются максимум до 256 KiB; граница блока может проходить внутри изображения или записи объекта.

Заголовки QuickLZ бывают трёхбайтовыми и девятибайтовыми. Блок с коротким заголовком в созданном проекте Archicad 29 показал необходимость поддержки обоих вариантов. Перед интерпретацией записей проверяются точный расход сжатых байтов и объявленная длина распакованного результата. Значение слова метаданных рядом с длинами содержимого остаётся невыясненным; модуль чтения опирается на проверенные структурные условия.

Записи ODB связывают элементы с их данными

Object Database (ODB) разделяет идентичность объекта и класса. GUID объекта обозначает один сохранённый объект, а GUID класса обозначает тип его записи. Проверенные описатели метаданных в исследованном наборе связывают GUID классов с именами Wall, Beam, Column, Ceil для перекрытия и VBElem::FreeShape для морфа. Записи описателей также содержат сериализованные сведения о версии.

Объекты соединяются ассоциациями. Измеренная запись ассоциации с одиночной ссылкой содержит код операции, GUID ассоциации и GUID целевого объекта. Другие измеренные формы содержат количество, за которым следуют несколько целевых GUID. Объявления ассоциаций могут описывать роли концов связи, а завершающие части записей отдельных объектов задают конкретные связанные идентификаторы.

Некоторые старые записи стен содержат пригодный контур непосредственно в записи. Стены Archicad 29, созданные в контрольных проектах, хранят контур в связанных объектах VBD::WallVRDData. Следование проверенной связи приводит к нужным данным полигонов. Перед формированием поверхностей стены проверяются размещение, вертикальная протяжённость и поддерживаемые связи проёмов.

Встроенное изображение как отдельная запись проекта

Измеренный контейнер содержит выделенную запись предварительного просмотра проекта. Если там сохранено изображение, модуль чтения извлекает PNG проекта из декодированного содержимого. Запись также может присутствовать с пустым полем изображения. Поэтому доступность зависит от сохранённого проекта.

Изображение даёт сохранённый визуальный ориентир. 3D-сцена собирается из записей модели, поэтому её можно изучать с разных точек. Откройте интерактивный пример павильона PLN, чтобы осмотреть декодированное здание, его крышу, проёмы в стенах и рельеф.

Что может отобразить модуль чтения в браузере

Поддерживаются стены с вырезами дверных и оконных проёмов, перекрытия, скатные крыши, зоны, балки, колонны, морфы, сетки и рельеф. Поддержка дверей и окон означает вырез проёма в стене, к которой они относятся. При наличии также извлекается сохранённое встроенное изображение предварительного просмотра проекта. Охват зависит от записей элементов и представлений геометрии, сохранённых в проекте.

Файлы из Archicad 25, 27 и 29 были декодированы и проверены. Отображаемая геометрия зависит от сохранённого представления каждого элемента. Проверяйте видимые элементы, чтобы определить рамки конкретного обсуждения.

Модуль чтения обращается к выбранным диапазонам байтов и локально в браузере распаковывает записи для поддерживаемой геометрии. Сцена использует метры и систему координат с осью Y вверх. Проверки геометрии и явные ограничения декодирования задают допустимый охват. Невыясненные структуры классов и значения полей требуют дальнейшего исследования.

Исследованные границы реализации объясняют, почему распознавание файла, распаковка, выбор активных объектов и восстановление геометрии являются отдельными этапами. Практический процесс описывает открытие PLN онлайн. Экспорт использует геометрию, которую просмотрщик успешно декодировал.

Руководство описывает измеренные по файлам-образцам бинарные структуры, которые использует наш модуль чтения, и поддерживаемые способы восстановления геометрии. Проверены файлы из Archicad 25, 27 и 29. Некоторые структуры классов, значения полей и представления геометрии остаются невыясненными; охват различается для отдельных проектов. Выводы относятся к исследованным границам этой реализации.

Частые вопросы

▶Что такое файл PLN?

Файл .pln является проектом Archicad. Он содержит данные модели, виды проекта, настройки, атрибуты и ссылки на библиотеки. Innerscene читает из сохранённого файла поддерживаемую геометрию здания и встроенное изображение предварительного просмотра.

▶Чем отличаются PLN и PLA?

PLN является форматом проекта, а PLA является форматом архива, способного включать связанные ресурсы вместе с проектом. Просмотрщик читает поддерживаемую геометрию обоих форматов через общий контейнер ROF.

▶Что означает сигнатура ROF FDB?

Измеренный контейнер начинается с восьми ASCII-байтов ROF FDB , включая завершающий пробел. В терминологии хранения Graphisoft ROF означает Random Object File. Для распознавания контейнера базы данных модуль чтения сочетает сигнатуру со структурными проверками.

▶Как сжат файл PLN?

Измеренный контейнер использует внешние группы QuickLZ и несколько кодировок содержимого записей. Это могут быть буквальные байты, маски нулевых байтов или ещё одна последовательность блоков QuickLZ. Модуль чтения распаковывает эти слои перед интерпретацией записей модели.

▶Содержит ли изображение предварительного просмотра модель?

Изображение предварительного просмотра проекта может быть сохранено в выделенной записи проекта. Интерактивная сцена строится из отдельно декодированных записей модели и их связей. Оба источника дают сведения о сохранённом проекте.

▶Каковы границы технических выводов этого руководства?

Руководство описывает измеренные по файлам-образцам бинарные структуры, которые использует наш модуль чтения, и поддерживаемые способы восстановления геометрии. Проверены файлы из Archicad 25, 27 и 29. Некоторые структуры классов, значения полей и представления геометрии остаются невыясненными; охват различается для отдельных проектов. Выводы относятся к исследованным границам этой реализации.

Изучите настоящее здание из Archicad

Пример павильона открывает PLN с отображённой моделью. Изучите проёмы в стенах, скатную крышу, балки и колонны террасы, а также рельеф.

Открыть пример павильона

Archicad является товарным знаком Graphisoft. Innerscene предоставляет этот независимый просмотрщик.