Боксы по таблице
Создать солиды-боксы и вставить блоки по данным из таблицы Excel. Для тех кто любит программировать Excel.
Программа Боксы по таблице (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: описание детали. У блоков не используется.
Столбцы 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.
Если настроен запрос файла, то программа откроет диалог выбора файла. Но можно настроить открывание одного и того же файла без запросов.
Далее программа создаст солиды и блоки в модели. Возможно вы успеете заметить их в начале координат. Потом программа создаст из них блоки и удалит исходные построения.
По необходимости вызывается программа сверловки и вычтет все солиды слоя Отверстия, включая те, что внутри блоков.
Если ничего не написано в столбце Owner, то будут созданы блоки или группы по шаблону имени сборки из настроек команды AsmCreate.
Далее в чертеж будут вставлены блоки с Owner = Model. В том числе свежесозданные блоки.
Вы можете отключить создание блоков и включить группы. Программа просто объединит созданные объекты в группы совместного выбора. В этом случае попытка приведет к сбою - программа вставляет только блоки.
В конце работы программа может вызвать команду Выставка Сборок (Expose). Вызов Выставки сборок следует использовать только когда вы создаете блоки (задан Owner, но не Model). Но при этом в таблице нет вставки этих блоков в модель. Выставка в любом случае игнорирует настройку подсчета сборок в модели и всегда пишет количество = 1. Если вам нужна выставка сборок с реальными количествами - отключите эту опцию и вызовите команду Expose отдельно. Если вы не вставите сборки в модель через таблицу и отключите Выставку сборок, то вы не увидите результатов работы команды: новые блоки-сборки будут видны только в списке команды вставки блока.
Настройки
Настройки программы следует делать до вызова команды BoxFromTable. Все настройки находятся на вкладке Боксы по таблице в Палитре Настроек AVC.
На работу программы также могут влиять настройки программ Сверловки, Создание сборки, Выставка сборок. Однако настройки фильтрации объектов у команды Выставка сборок будут проигнорированы.