#p3d-item format version: 1.2 # Первая строка текстового файла в формате p3d-txt должна обязательно начинаться с символов: #p3d-item # Далее идут непосредственно данный в табличом формате. # В любом месте могут быть строки, начинающиеся с символа '#', которые считаются комментарием и игнорируются программой. # Список ящиков сохраняется в виде таблице, в которой первой строкой идет перечисление атрибутов, # а затем список ящиков, каждый ящик - одна строка с набором значение атрибутов ящика. # В таблице названия атрибутов и значения должны быть отделены символом табуляции. # Название первого столбца должно быть обязательно Item3dImpl[N], где N-количество записей (ящиков) идущих следом. # Для ящиков в этом столбце должен идти номер записи (1, 2, 3 и т.п.). # Далее в произвольном порядке должен идти произвольный набор седующих столбцов: #quantity - Количество ящиков такого типа, которые надо упаковать в ТС. #color - Значение цвета RGB. #name - Название ящика. Если ящик входит в какую-то группу, то ее название должно идти перд двоеточием, а название ящика после. #size[1] - Длина. #size[2] - Ширина. #size[3] - Высота. #mass - Масса ящика. #press[N] - Допустимые давлениt на грань N (от 1 до 6) ящика сверху, если он ориентирован этой гранью ввверх. #bottom - "Не кантовать" (как моежт быть ориентирован ящик) : (биты в двоичном представлении числа определяют грани, на которые может быть установлен ящик) 255 - можно установить любой гранью вниз, 0 - недопустимое значение, 48 вертикально должна идти обязательно высота предмета, 12 - вертикально должна идти обязательно ширина предмета, 3 - вертикально должна идти обязательно длина предмета #price - Стоимость, для оптимизации суммарной стоимости перевозки ящиков. #dir_restrict[N] - Ограничение на возможность быть ориентированными вдоль осей линейному размеру N (от 1 до 3). Возможные значения: 3 - указанный размер ящика может быть ориентирован в любом направлении, 0 - указанный размер ящика может быть ориентирован только вдоль длины ТС, 1 - указанный размер ящика может быть ориентирован только вдоль ширины ТС, 2 - указанный размер ящика может быть ориентирован только вдоль высоты ТС. #fragility[N] - Хрупкость ящика для линейного размера N (от 1 до 3): 0 - означает, что ящик не имеет ограничений по хрупкости (установки на него сверху других предметов), 1 - означает, что никакие ящики не могут быть установлены сверху данного ящика, K>1 -означает, что не более чем (K-1) ящиков такого же ти могут быть установлены сверху данного ящика. #order - Порядок загрузки. #group - Значение группы предмета. Число, которое определяет идентификатор группы, в которую входит предмет и количество экземпляров (младшие два байта - номер группы, старшие - количество экземляров в группе). Если функция возвращает 0, то предмет не принадлежит никакому набору. При загрузке предметов, каждый набор должен быть полностью загружен в одно ТС. То есть, ТС должен быть загружен ЦЕЛЫМИ "наборами" (группами) и произвольным количеством безнаборных предметов. Один предмет может принадлежать только одному набору и не может одновременно принадлежать набору и быть безнаборным. Число >0 и <0xFFFF является некорректным. #freezable - Замерзаемость (зарезервировано). #pallet_quantity - Количество ящиков на паллете (зарезервировано). #level - Количество ящиков на паллете (зарезервировано). Item3dImpl[3] quantity color name size[1] size[2] size[3] mass press[1] press[2] press[3] press[4] press[5] press[6] bottom price dir_restrict[1] dir_restrict[2] dir_restrict[3] fragility[1] fragility[2] fragility[3] order group freezable pallet_quantity level 1 1 16711935 item 1000 1000 1000 1 -1 -1 -1 -1 -1 -1 255 0 3 3 3 0 0 0 0 0 0 0 0 2 1 65535 item 1000 1000 1000 1 -1 -1 -1 -1 -1 -1 255 0 3 3 3 0 0 0 0 0 0 0 0 3 1 255 item 1000 1000 1000 1 -1 -1 -1 -1 -1 -1 255 0 3 3 3 0 0 0 0 0 0 0 0