Программа Боксы по таблице (BoxFromTable) предназначена для тех, кто не умеет программировать AutoCAD/BricsCAD, но знает любые языки программирования или хорошо разбирается в формулах Excel. Вы можете создать таблицу, описывающую модель любого несложного изделия (например, прямоугольную мебель). Вы просто описываете цифрами, где и какие солиды-боксы создавать. Затем программа BoxFromTable по этим данным построит модель, расставит блоки крепежей, просверлит отверстия, создаст блок-сборку.
Возможности программы:
Работает с текстовыми файлами (CSV, TSV), с файлами Excel, с JSON.
Таблицу можно взять с любого листа книги Excel.
Разделители колонок в текстовых файлах можно выбрать: запятая, точка с запятой, табуляция.
Создает солиды в форме боксов, цилиндров, конусов, пирамид, сфер в заданной точке.
Создает 2D кривые: линии, прямоугольники, дуги, окружности и эллипсы.
Создает в чертеже тексты (MText).
Вставляет в чертеж блоки (ранее созданные).
Вращает созданные объекты по трем осям.
Назначает объектам свойства: цвет, слой, материал, имя, сорт, инфо.
Если указаны несуществующие слои или материалы - то программа будет искать их в шаблоне чертежа или автоматически создаст новые.
Сверлит отверстия в солидах, используя команду Сверловка (DRI).
Создает новые блоки или именованные группы. Для блоков используется команда Создать Сборку (AsmCreate). И эти блоки сразу могут быть вставлены в модель в заданных точках.
Может вызвать команду Выставка Сборок (Expose) для созданных блоков.
Команда пока не продается в виде отдельного плагина, а поставляется только в комплекте в сборнике AVC Pro.
Программа может быть дополнена по вашим заказам. Можно создать команду для обращения к вашему веб-серверу вместо таблицы.
До вызова команды BoxFromTable создайте таблицу Excel или CSV со столбцами:
A - Shape: форма солида: Box, Cone, Cylinder, Pyramid, Sphere, Block. Другое слово - строка игнорируется.
B - X-координата вставки минимальной точки бокса или центра основания других фигур.
C - Y.
D - Z.
E - SizeX: размеры солида по оси X. Для блока это масштаб по оси X. Масштаб меньше ноля - это зеркальный блок.
F - SizeY.
G - SizeZ.
H - RotateX: вращение солида или блока вокруг оси X относительно точки вставки. Градусы,
I - RotateY.
J - RotateZ.
K - Owner: имя группы или нового блока-сборки для данной детали. Для вставки в пространство модели укажите Model.
L - Layer: слой.
M - Color: название цвет. Посмотрите в Палитре Свойств AVC как описываются текстом индексированные или RGB цвета.
N - Material: материал. Может поменять цвет солида, если в Палитре Свойств AVC настроено назначать цвет по материалу.
O - Texture: Укажите (если надо) вдоль какой стороны детали направлен рисунок материала (волокна дерева): "вдоль" или "поперек" ( в английской версии плагина "along" or "across"). Имена текстур настраиваются в общий настройках. Так же можно указать ось координат, вдоль которой надо направить текстуру (до разворотов солида): x или y или z. Пустая ячейка - нет текстуры. Любое другое слово - текстура будет назначена в зависимости от свойства Зерно материала.
P - Name: имя для детали или имя существующего блока для вставки.
Q - Kind: сорт/тип/вид детали. У блоков не используется.
R - Info: описание детали. У блоков не используется.
S - Commands: список команд, которые надо вызвать для этого солида. Перечислите команды через запятую без пробелов. Реализованы следующие команды: SInt, SUnion, DDJ, TabSlot, DRI. Выполняются для всех помеченных объектов в блоке одновременно. Порядок перечисления команд не важен, будут выполнены как запрограммировано. Вы можете заказать доработку программы для вызова команд CRS, FP, IC (для кривых), CUnion, CInt, MSL, OSL, ReduceW, AZone.
Столбцы A-J обязательно должны быть заполнены. Столбцы K-R, начиная с Owner, могут отсутствовать.
Вместо создания солида можно вставить в чертеж существующий блок. Тогда столбцы означают:
Shape = Block.
SizeX, SizeY, SizeZ - масштаб вставки блока. Желательно 1. Меньше ноля - зеркальный блок.
Owner - имя старого блок, куда надо вставить заданный блок или Model
Name - имя существующего блока для вставки или имя блока из dwt-шаблона.
2D фигуры создаются в плоскости параллельной XY (кроме линии). Толщину и тип линий следует задавать с помощью слоя. Столбцы для 2D кривых:
Shape = Arc, Line, Rectangle, Circle, Ellipse
X,Y,Z - первая точка линии или дуги, один из углов прямоугольника, центр окружности.
SizeX, SizeY - относ конечной точки линии, дуги от первой точки, Вторая точка прямоугольника по диагонали от первой, Диаметр окружности, Диаметры эллипса.
SizeZ - используется только в линиях и дугах. Но дуга все равно строится в плоскости XY, а SizeZ используется как параметр кривизны Bulge. У остальных фигур можно оставить ячейку пустой.
Для создания текстов MText следует указывать следующие данные:
Shape = Text
X,Y,Z - точка вставки текста (левый нижний угол).
SizeY - высота шрифта. Можно оставить 0, чтоб использовать настройки чертежа.
SizeX, SizeZ - не используются
Info - контент. Может содержать символы форматирования строк. Например \P - это в Автокад перенос строки.
Заголовки не нужны, но можете их добавить. Если программе попадутся строки с неизвестным словом в первой колонке - такие строки будут проигнорированы. Так же не будут учитываться строки с объединенными ячейками и свернутые строки.
Excel-таблица будет считываться с листа, указанного в настройках. А если не указан - с первого листа.
Чтение строк продолжиться до первой строки с пустой первой колонкой.
В текстовых файлах CSV используйте тот разделитель колонок, который вы указали в настройках. По умолчанию - запятая. Если этот знак понадобится использовать внутри какой-то колонки, то поставьте перед ним \.
Десятичный разделитель в цифрах следует использовать тот же самый, который отображается у вас в Палитре Свойств AVC. Но настраивается в Общих Настройках. По умолчанию - точка.
Если хотите передавать программе объекты сериализованные как JSON, то это должен быть массив объектов с такими же названиями свойств как указано выше. Посмотрите в проекте на GitHub файл BoxData.cs. В нем описана структура такого класса на языке C#. Вам понадобиться сделать что-то аналогичное на вашем любим языке программирования.
После создания файла-таблицы вам еще потребуется настроить команду BoxFromTable. Настройки на вкладке Бокс по Таблице в Палитре Настроек AVC (AVCOptions).
Вызовите команду BoxFromTable.
Если настроен запрос файла, то программа откроет диалог выбора файла. Но можно настроить открывание одного и того же файла без запросов.
Далее программа создаст солиды и блоки в модели. Возможно вы успеете заметить их в начале координат. Потом программа создаст из них блоки и удалит исходные построения.
Программа находит солиды, у которых указаны команды дополнительной обработки и запускает эти команды. Команда сверловки (DRI) может быть вызвана для всех солидов без указаний в столбце Commands.
Если ничего не написано в столбце Owner, то будут созданы блоки или группы по шаблону имени сборки из настроек команды AsmCreate.
Далее в чертеж будут вставлены блоки с Owner = Model. В том числе свежесозданные блоки.
Вы можете отключить создание блоков и включить группы. Программа просто объединит созданные объекты в группы совместного выбора. В этом случае попытка приведет к сбою - программа вставляет только блоки.
В конце работы программа может вызвать команду Выставка Сборок (Expose). Вызов Выставки сборок следует использовать только когда вы создаете блоки (задан Owner, но не Model). Но при этом в таблице нет вставки этих блоков в модель. Выставка в любом случае игнорирует настройку подсчета сборок в модели и всегда пишет количество = 1. Если вам нужна выставка сборок с реальными количествами - отключите эту опцию и вызовите команду Expose отдельно. Если вы не вставите сборки в модель через таблицу и отключите Выставку сборок, то вы не увидите результатов работы команды: новые блоки-сборки будут видны только в списке команды вставки блока.
Настройки программы следует делать до вызова команды BoxFromTable. Все настройки находятся на вкладке Боксы по таблице в Палитре Настроек AVC.
На работу программы также могут влиять настройки программ Сверловки, Создание сборки, Выставка сборок. Однако настройки фильтрации объектов у команды Выставка сборок будут проигнорированы.
Некоторые настройки на этой странице влияют только на работу команды Стена из Бокса (BoxToWall).