Подстановки
Подстановки используются во многих командах A>V>C>, например в программах Таблица данных, Таблица напилки, Выкладка, Маркировка и Умные выноски. Подстановки - это система аналогичная полям Автокада. Подстановки показывают программам A>V>C> в какое место текста вставить данные о деталях. Например, вам надо чтоб заголовок детали на выкладке содержал строку "Деталь №1, слой ДСП", где 1 - это имя детали, а ДСП имя слоя детали. Тогда вы используете в настройках выкладки две подстановки: "Деталь №%name%, слой %layer%". И программа подставит у каждой детали имя детали там, где написано %name%, и слой детали там, где написано %layer%.
Есть специальный диалог для выбора основных подстановок. Но вы можете и не открывать диалог, а написать подстановку самостоятельно. Поэтому имеет смысл разобраться как написать свои подстановки.
Если вы не можете самостоятельно настроить подстановки, то обращайтесь в техподдержку или в Telegram-чат. Небольшие консультации предоставляются бесплатно.
Написание подстановок
Каждая подстановка начинается и заканчивается символом процента % и может состоять из имени или нескольких имен свойств, затем цифры индекса и затем формата:
%имяимяимяN:Формат%
Имена подстановок чувствительны к регистру - обычно надо писать маленькими английскими буквами, или так же как называется атрибут, свойство чертежа. Некоторые данные можно подставить короткой подстановкой или длинной (например, %n% или %name%) - разницы нет никакой.
Имя подстановки может быть составным. Например, face означает что надо подставить какое-то свойство поверхности солида. За face указываем какое именно: facearea - площадь, facemat - материал покрытия поверхности. А после mat может быть еще и свойство этого материала. facematprice - цена материала покрытия поверхности солида. Все эти части следует писать маленькими буквами без пробелов.
%facematprice2:#.##'$'%
Здесь вы видите внутри подстановки не только ее трехсоставное имя, но еще и индекс и формат. Индекс используется только для указания номера раскрашенной поверхности или номера торца детали. В данном случае 2 означает, что вам нужно подставить цену материала второй (тыльной) стороны детали. Причем отформатировать цену надо с центами и символом доллара в конце. А например, %edgematart1% - артикул (art) кромочного материала (mat) на первой (самой длинной) кромке (edge) детали.
Форматы подстановок
Формат подстановки пишется после имени и индекса и отделяется двоеточием. Формат переопределяет стандартное форматирование чисел, размеров, площадей. Формат позволяет задать сколько цифр дробной части числа выводить. Так же в формате можно задать любой текст в кавычках. Этот текст будет подставлен только, если значение числа/длины/площади/объема не равно нулю. Вы можете использовать это для вывода единиц измерения. Для строковых подстановок строка формата позволяет подставить какие-нибудь вводные слова, но только если значение подстановки - не пустая строка. Так как я использую язык программирования C# для моих плагинов, то вы можете посмотреть описания форматных строк для C# и использовать их в подстановках.
Для действительных чисел (площадей, объема, цен) все возможности форматирования описаны очень подробно тут. Вы можете настроить сколько знаков после запятой писать и писать ли незначащие нули. Эта настройка никак не влияет на точность расчетов и на сравнение солидов. В формате используйте символы 0 и #. 0 - это цифра или 0, # - это цифра или ничего. Например, цифра 1.111111 отформатированная 00.00 выведется как 01.11. А отформатированная 0.#### выведется как 1.1111. А цифра 1.2 отформатированная 0.#### выведется как 1.2 (то есть лишних нолей не добавится). Так же существуют стандартные форматы, зависящие от региональных настроек Windows:
G - обычный формат (используется по умолчанию)
E - экспоненциальный формат
F - фиксированное количество знаков после запятой
P - проценты
C - валюта
N, D, R, X - прочие стандартные форматы
Стандартные форматы следует писать большой буквой
После символа формата допустима 1 цифра, означающая необходимое количество знаков после запятой.
Для длин и размеров используются все те же возможности как для действительных чисел плюс специальные форматы Автокада:
CU - текущий из чертежа, как записано в системных переменных LUNITS и LUPREC,
AR - английский архитектурный
EN - английский инженерный,
FR - английский дробный,
SC - научный c десятичной экспонентой,
DE - обычный десятичный
После специальных форматов AR, EN, FR, SC, DE можно написать одну цифру от 0 до 8. Она будет означать точность (см LUPREC). Для десятичных чисел - это количество знаков после запятой.
Если формат размера не указан в подстановке - используется формат, заданный в общих настройках или настройках стиля данной команды в разделе "Число к строке".
Площадь и объем выводятся по умолчанию с указанием размерности: m², m³. Если вам не нужны эти символы, напишите любой формат, подходящий для действительных чисел.
Для целых чисел (количество, индексы, номера строк таблиц) используются такие же строки как для действительных, кроме дробной части и экспоненты. Например, если вам нужны ведущие нули перед числом, чтоб всегда было 3 знака, то напишите формат 000. Вы можете так же использовать специальные строки форматирования:
X - шестнадцатеричное число
ARABIC - обычные числа
ROMAN - римские цифры (только для чисел от 1 до 3999)
ALPHABET - буквы по английскому алфавиту от A до Z и далее от AA до ZZ и так далее (только для чисел больше 0)
CYRILLIC - буквы по русскому алфавиту от А до Я и далее от АА до ЯЯ и так далее (только для чисел больше 0)
Стандартные форматы следует писать большими буквами
Для цен деталей и материалов по умолчанию используется формат 0.00 и символ местной валюты $, £.. Если вам не нужен это символ - напишите любой формат, пригодный для действительных чисел.
Углы наклона торцев всегда пересчитываются в градусы и выводятся с одной цифрой после запятой и символом °. Их тоже можно переформатировать как любое другое действительное число.
Для подстановок типа да/нет можно заменить подставляемую по умолчанию строку на любое слово. Напишите это слово в строке форматирования и оно будет подставлено вместо "Да". Вместо "Нет" в этом случае будет подставлена пустая строк. Или напишите два слова разделенных символом вертикальной черты | .Тогда первое слово будет использовано вместо Да, а второе вместо Нет.
Для строковых и сложных подстановок формат может быть:
любым текстом с обязательной вставкой {0}. Именно в это место будет вставлено значение свойства. Эта хитрость имеет смысл только для того, чтоб ничего не писалось лишнего, когда значение свойства пустое. Если вы экспортируете данные в Excel и в одну ячейку записывается только одно значение, то ячейке таблицы будет присвоен этот формат. Поэтому записывайте в подстановку только такие форматы, которые допустимы в Excel.
%info:\PОписание: {0}%
Такая подстановка превратится в пустую строку, если информация о детали пуста. А если не пуста, то будет вставлен перенос строки (в Автокаде кодируется символами \P ), потом слово Описание с двоеточием и только после этого будет вставлено описание детали.
Не пытайтесь вставить между фигурными скобками вместо 0 другую цифру. Это вызовет ошибку программы. Используйте только {0}
Функция substr - извлекает подстроку из строкового свойства. То есть позволяет отбросить префиксы в названиях деталей и т.п. Подробности далее.
Форматы up и lo - преобразуют все буквы строки к верхнему или нижнему регистру.
Вы можете использовать только один из указанных выше вариантов. Не пытайтесь совместить функцию substr с форматом up - это не сработает.
Далее в описании каждой подстановки будет указан ее тип. Исходя из этого можно выбрать допустимые форматы.
Функция substr (подстрока)
Функция substr позволяет вам извлечь часть строки (подстроку). Имя функции следует писать маленькими буквами. После имени функции следует написать два целых числа через запятую: стартовую позицию и длину подстроки. Первое число - номер символа в исходной строке начиная с 1. Эту цифру можно пропустить, сразу написать запятую и тогда подстрока будет извлечена с начала строки, с первого символа. Вторая цифра означает количество символов, которое надо извлечь. Если длина задана больше длины исходной строки, или если вторая цифра не указана, то извлекаются все символы до конца исходной строки. Примеры:
%name:substr3,4%
В этом пример извлекается имя объекта (например, имя старого блока в команде AsmNew), а затем функция substr извлекает из имени 4 символа, начиная с третьего. Например, если имя было "Сб9876A", то будет подставлено только "9876".
Другие примеры:
%name:substr3% - извлечь подстроку с третьего символа и до конца строки - "9876A".
%name:substr,4% - извлечь подстроку длиной в 4 символа начиная с первого (старт не указан = 1) - "Сб98".
Математические выражения
Многие команды, работающие с подстановками, позволяют вычислять математические выражения с числами и числовыми подстановками. В частности вы можете написать математическую формулу в настройках любого столбца любой табличной команды: Таблицы Данных, Таблицы Напилки и так далее. Для вычисления формулы надо начать текст с символа =.
Например, для вычисления площади габаритного прямоугольника детали, можно в Таблице Напилки создать столбец со значением "= %length% * %width% / 1000000" . В этом случае сначала будет подставлено значение длины и ширины, а затем они будут перемножены и пересчитаны из мм в метры квадратные.
В математических выражениях можно использовать следующие функции:
Операторы:
^ + - / ÷ * × %
Функции:
exp, log, ln, sqrt, fpart, round, ceil, floor, fac, sfac, abs
Тригонометрические функции:
cos, sin, tan, cotan, acos, asin, atan, acotan, cosh, sinh, tanh
Операторы сравнения (возвращают 0 или 1):
>, <, ==, !=, >=, <=
Логические операторы:
&&, ||, !
Константы:
euler, pi, nan, infinity, true, false
Учитывается приоритет операций, но его можно поменять с помощью круглых скобок (). Если при форматировании подстановки будут выведены какие-то символы (единицы измерения или градусы), то выражение не будет вычислено. Вам придется принудительно форматировать некоторые подстановки, которые по умолчанию выводят лишние символы.
Учтите, что в Excel и в dwg-таблицу будет записываться результат, а не формула (если только его удастся вычислить). Если невычисленное выражение попадает в ячейку таблицы, то AutoCAD будет пытаться вычислить выражение сам и скорее всего покажет ошибку (ячейку с символами ####).
Диалог выбора подстановки
В каждом текстовом поле, допускающем подстановки, есть кнопка открытия диалога выбора подстановок. Чтоб увидеть эту кнопку надо кликнуть по полю. Или сделать двойной клик, чтобы войти в режим редактирования текста в таблице (в списке полей
Таблицы данных). Перед вызовом диалога, поставьте курсор в нужную позицию в тексте. Подстановка будет вставлена в это место.
В диалоге настроек все подстановки сгруппированы по объектам из которых можно извлечь данные. Формат подстановки можно ввести в отдельном поле ввода, причем поле запоминает последние введенные вами форматы и содержит примеры - вы можете выбрать их из выпадающего списка. Если подстановка допускает индекс, то появится поле ввода индекса. В низу формы вы увидите поле с результирующим кодом подстановки. Его можно подправить. Здесь тоже есть список из последних подстановок - возможно вам будет проще выбрать подстановку из этого списка. Нажмите ОК для вставки подстановки. Или закройте диалог крестиком, чтоб не вставлять ничего.
Общие свойства
У всех объектов чертежа можно получить и подставить в текст несколько стандартных свойств. Вот подстановки для них:
%layer% или %l% - слой детали. Строка.
%layerNNN% - другие свойства слоя. Какие подстановки допустимы у слоя вместо NNN - смотрите ниже.
%color% - цвет. Если у цвета нет имени – цифровой индекс цвета или RGB-код. «По слою» -заменяется на цвет слоя. Если цвет выбран из книги цветов, то указывается название книги. Строка.
%col% - цвет детали без названия книги цветов. Строка.
%owner% - владелец данного объекта. Для объектов внутри блока - будет выведено имя блока. Для объектов в модели или пространстве листа - будет выведено имя чертежа без dwg. Строка.
%block% - имя блока-владельца, в который включен данный объект. Для объектов модели имя будет пустым. Строка
%blockNNN% - другие свойства блока-владельца (определения блока или константные атрибуты). Какие подстановки допустимы у блока вместо NNN - смотрите ниже.
%blockinstance% - имя экземпляра динамического блока, из которого получен данный объект. Строка.
%group% - имя группы. Обычно группы объектов безымянные и вы увидите скрытое автоматическое имя типа *A1. Объекты чертежа могут принадлежать нескольким группам. Подстановка возьмет первую попавшуюся группу (скорее всего первую по алфавиту). Строка
%groupNNN% - другие свойства первой группы в которую входит объект. Какие подстановки допустимы у группы вместо NNN - смотрите ниже.
%hyperlink% - текст гиперссылки. Строка
%hyperlinkurl% - адрес гиперссылки. Строка
%area% или %ar% - площадь фасадной стороны солида или площадь кривой или поверхности. В миллиметровом чертеже площадь будет пересчитана в квадратные метры. По умолчанию пишется с указанием единиц измерения на конце. Форматируется как действительное число с указанием единиц.
%length% или %len% - длина линии или кривой, периметр поверхности и региона. Для солидов длина появляется только после обмера и соответствует габариту детали по оси X после выкладки. Всегда в выводится в единицах чертежа. Форматируется как размер без указания единиц.
%perimeter% или %p% - длина периметра фасадной стороны солида, периметр поверхности и региона, или длина линии. В отличие от подстановки длины, миллиметровом чертеже периметр будет пересчитан в метры. Форматируется как размер, но с указанием единиц.
%size% - учетный (сметный) размер объекта. Для замкнутых кривых - это площадь. Для незамкнутых - длина. Для солидов - в зависимости от настроек материала - объем, длина или площадь. В миллиметровом чертеже размер будет пересчитан в метры. Форматируется как действительное число без указания единиц.
%basex%, %basey%, %basez% - координаты X, Y, Z базовой точки = позиция, точка вставки, первый вертекс. В текущей пользовательской системе координат (UCS). Форматируется как размер.
%extentsx%, %extentsy%, %extentsz% - размеры по X, Y, Z габаритного бокса, в который влезает объект. В текущей пользовательской системе координат (UCS). Не работает у некоторых вспомогательных объектов. Форматируется как размер.
%extminx%, %extminy%, %extminz%, %extmaxx%, %extmaxy%, %extmaxz% - координаты X, Y, Z минимальной и максимальной точек габаритного бокса, в который влезает объект. В текущей пользовательской системе координат (UCS). Не работает у некоторых вспомогательных объектов. Форматируется как размер.
%id% - идентификатор объекта. Меняется при каждой загрузке чертежа. Целое число.
%handle% - идентификатор объекта. Неизменен, но локален, т.е. может повториться во внешней ссылке. Целое число. По умолчанию выводится в шестнадцатеричном виде.
Имя объекта
Если вы используете панель свойств A>V>C> (AVCPalette), то для всех объектов чертежа вам будут доступны подстановки:
%name% или %n% - строка с именем.
%info% или %i% - описание. Строка.
%kind% или %k% - тип, сорт, материал, артикул или любая друга информация. Строка.
Вы можете заказать добавление любых текстовых свойств к объектам. Доработка одного свойства - 50$.
Кроме того у любого объекта можно извлечь все свойства текущего чертежа. Для объектов из внешних ссылок, будут извлекаться свойства главного чертежа, а не ссылки.
Для объектов извлеченных из блоков-сборок, можно извлечь свойства блока и его константных атрибутов. Для этого напишите в подстановке слово block и далее нужное свойство. Учтите, что объекты не знают через какую ссылку на блок их получили и поэтому свойства ссылки на блок недоступны. Так же недоступны и параметры динамических блоков и изменяемые атрибуты.
Солид
Помимо стандартных свойств у твердых тел можно подставить свойства:
%material% или %mat% - имя материала. Это материал рендера, а не специальные материалы вертикалей BIM или Mechanical. Если материал задан ПоСлою (ByLayer) , то будет подставлен материал слоя. Если материал ПоБлоку (ByBlock) - то будет подставлена пустая строка. Если материал не присвоен ни солиду, ни слою (остался материал по умолчанию Global) - то вместо подстановки будет выведен его цвет или цвет его слоя. Если у вас есть Панель свойств A>V>C> то вы сможете настроить и использовать не только имя материала, а еще ряд его свойств (см далее в разделе Материал). В подстановке укажите свойство материала после mat. Форматируется как строка.
Если вы используете панель свойств A>V>C> (AVCPalette), то вам будут доступны подстановки:
%name% или %n% - строка с именем детали.
%info% или %i% - описание детали или любая другая информация. Некоторые символы (конец строки, табуляция, точка с запятой) невозможно вставить в ячейку текстовой таблицы, и команда Таблица напилки удалит их.
%kind% - тип, сорт, материал, артикул или любая друга информация. Строка.
%sweep% или %s% - комментарий «Развертка» для солидов, измеренных как развертки. Да/Нет.
%mirror% - комментарий «Зеркальный» для солидов, помеченных как зеркальные. Да/Нет.
%texture% – комментарий о направлении текстуры. "Вдоль" - означает рисунок волокон по оси X выложенной детали. "Поперек" - по оси Y. В Общих настройках вы можете подправить названия направлений текстуры. Строка.
%texture1% - “1” если Текстура = Вдоль или Поперек; “0” если свойство Текстура = Нет. Эта подстановка специально сделана для экспорта списка деталей в программы Вияр и GibLab.
%texture2% - “2” если Текстура = Вдоль или Поперек; “1” если свойство Текстура = Нет. Эта подстановка специально сделана для экспорта списка деталей в программу Cutting3 или OptiCut. "2" означает, что программа раскроя не имеет права вращать детали как попало.
%texture*% - “*” если Текстура = Вдоль или Поперек; А если свойство Текстура = Нет, то будет подставлена пустая строка. Используйте эту метку в таблице напилки после подстановки длины. У деталей с текстурой поперек вместо длинны выводится ширина. Таким образом у всех текстурированных деталей будет звездочкой помечена сторона вдоль которой надо развернуть волокна текстуры.
Метрика солида
Если вы запускали команды SolSize, Умная выноска, Выкладка, Таблица напилки, то в xData солида будет записана его метрика. Вы можете получить эти данные используя подстановки:
%length% или %len% - длина = габарит детали по оси X. Измеряется после выкладки детали в плоскость XY. Совпадает с %extentsx%. Обычно длина - это наибольший из габаритов детали. Но выкладка разворачивает по оси X самое длинное линейное ребро, и у деталей сложной формы оно может не совпасть с наибольшим габаритом. Форматируется как размер.
%width% или %w% - ширина = габарит выложенной детали по оси Y. Совпадает с %extentsy% солида. Форматируется как размер.
%thickness% или %t% - толщина = габарит выложенной детали по оси Z. Совпадает с %extentsz% солида. Форматируется как размер.
%volume% или %v% - объем детали (это не произведение размеров). В миллиметровом чертеже периметр будет пересчитан в кубометры. Действительное число. По умолчанию выводятся единицы объема.
%asym% или %a% - Показатель асимметричности: расстояние от центра бокса до центра масс. Позволяет выявить смещения отверстий и др. Действительное число.
%asymv% - Направление от центра бокса к центру масс по трем координатам. Отличается у зеркальных деталей. Строка.
%tech% - Технология, способ изготовления детали. В общих настройках можно подправить названия технологий. Строка.
%box% - Примечание «Бокс», для всех простых деталей (объем совпадает с произведением габаритов). Да/Нет.
%nobox% - Примечание «Не бокс», для всех сложных деталей (объем не совпадает с произведением габаритов). Да/Нет.
%doubleside% - Примечание "Двусторонняя обработка" для деталей, требующих сверления или фрезерования не только сверху, но и снизу. Строка.
%tmm%, %lmm% и %wmm% - конвертация размеров детали из текущих единиц чертежа в мм. Действительное число. Форматы размера игнорируются.
%area% или %ar% - площадь наибольшей плоской грани детали. Можно использовать для подсчета количества материалов. В миллиметровом чертеже площадь будет пересчитана в квадратные метры. Действительное число. По умолчанию выводятся единицы площади.
%perimeter% или %p% - периметр наружного контура наибольшей плоской грани детали. Можно использовать для подсчета количества кромки. В миллиметровом чертеже периметр будет пересчитан в метры. Форматируется как размер. По умолчанию выводятся единицы длинны.
%facecount% or %fc% - число поверхностей солида. Целое.
%weight% - вес детали (объем * плотность материала). Действительное число.
%cost% - цена материалов детали. Действительное число. По умолчанию к цене приписывается символ валюты из настроек Windows.
%faceXXXN% - свойства выбранной поверхности солида. Например той поверхности на которую указывает умная выноска. N - это номер (индекс) поверхности. Поверхностью номер 1 всегда считается фасад, номер 2 - тыл. 3 и далее - пронумерованы только поверхности имеющие покрытие (присвоен материал) в порядке убывания площади. У каждой поверхности можно подставить вместо XXX следующие свойства:
id - идентификатор поверхности во внутренней структуре солида. Неизменен пока вы не редактируете геометрию солида. Целое число.
# - индекс поверхности. 1 - фасад, 2 - тыл, далее в порядке убывания площади
color - цвет как у всех объектов, включая имя цветовой книги.
col - цвет без имени книги.
area - площадь поверхности. Действительное число. В миллиметровом чертеже площадь будет пересчитана в квадратные метры. По умолчанию пишется с указанием единиц измерения на конце.
mat - материал, присвоенный поверхности. Если не присвоен (Global) - то будет выведен цвет. Если и материал и цвет совпадают с солидом - то подставляется пустая строка. После слова mat вы можете указать любое свойство материала.
%edgeXXXN% - свойства одного из торцев детали, прилегающих к главной поверхности (фасаду). Свойства других торцев (не прилегающих к главной поверхности) недоступны. Если фасад разрезан на несколько поверхностей пазами, то работа с кромками невозможна. N - это номер (индекс) торца. О нумерации торцев написано далее. Вместо XXX вы можете написать все те же самые свойства как у поверхностей, но еще добавляется:
len - длина торца. Измеряется по длине ребра фасадной плоскости, что может быть немного меньше, чем требуемый размер кромочного материала. Форматируется как размер.
angle - угол наклона плоского торца относительно фасадной плоскости. Угол измеряется так, как он настраивается на распиловочном (форматном) станке: За ноль принимается угол 90 градусов, положительный угол - когда торец видимый со стороны фасада, отрицательный - когда торец смотрит вниз, с другую сторону от фасада. Действительное число. По умолчанию выводится 1 знак после запятой и символ градусов.
letter - Буква (условное название) торца. Для четырех основных направлений это буквы: Л, В, П, Н. Для некоторых солидов могут быть так же использованы - длинна Д, ширина Ш. Все остальные торцы обозначаются их длинной или используется индекс по порядку. Буквы настраиваются в Общих Настройках. Там же можно настроить стрелки вместо букв. Можно форматировать как строку.
%covers% - полное описание всех поверхностей с покрытием. Перечисляются все поверхности, которым присвоен материал, кроме торцев. Для каждой выводится название поверхности и затем название материала. В качестве названия фасадной поверхности выводится слово Фасад, для задней - Тыл, для остальных - площадь поверхности. Если нескольким поверхностям присвоен одинаковый материал, то описания объединяются, а названия поверхностей перечисляются через символ дроби /. Вы можете заменить имя материала на любое другое свойство материала - просто допишите соответствующее имя подстановки после covers. В данном случае можно пропустить приставку "mat". То есть, чтобы вывести индекс материала можно написать %coversmatindex% или %coversindex%. В обеих случаях будет подставлено "Фасад: А; Тыл: Б". Вы можете подставить описание только одной поверхности, если укажете в подстановке ее индекс. Можно форматировать как строку.
%bandings% - полное описание материалов кромок на всех торцах детали. Кромки перечисляются в порядке обхода фасадной поверхности по часовой стрелке, начиная от левого нижнего угла детали (имеется ввиду, что деталь уже выложена в плоскость XY командой Выкладка). В качестве имени торца обычно используется его длина. Но вы можете перенастроить Общие настройки, чтоб вместо длины писались номера торцев по порядку или буквы Л, В, П, Н. У идущих подряд торцев с одинаковым материалом перечисляются только имена торцев через /. Так же можно выбрать любое свойство материала. В данном случае можно пропустить приставку "mat". То есть, чтобы вывести индекс материала можно написать %bandingsmatindex% или %bandingsindex%. В обеих случаях будет подставлено "Л: А; П: Б". Подстановку можно индексировать, то есть указать индекс торца, чтоб вывести информацию только об одном торце. Но имя торца (длина или индекс или буква) все равно будет присутствовать. Можно форматировать эту подстановку как строку.
%slopes% - полное описание всех торцев детали, изготавливаемых с наклоном пилы. Все аналогично %bandings%, но в списке только наклонные торцы и углы вместо материалов.
Индексы торцев солидов
Торцы солидов в подстановках edge, bandings и slopes нумеруются (индексируются) в порядке обхода фасадной поверхности по часовой стрелке, начиная от левого нижнего угла детали. Имеется ввиду, что деталь уже выложена в плоскость XY командой Выкладка. Таким образом у прямоугольной детали на выкладке торец номер
1 будет слева,
2 - сверху,
3 - справа,
4 - снизу.
Но торцев не обязательно 4, их может быть сколько угодно. И они не обязательно линейные.
Если на прямоугольной детали срезаны углы или есть вырезы, то номера торцев сбиваются и вы не сможете вывести именно правый торец по его индексу, он уже не третий, а, например, 6. Для решения этой проблемы вы можете использовать 4 специальных индекса основных направлений торца:
1000 - плоский торец с левого края детали, направленный строго влево (ось координат -X),
2000 - вверх (+Y),
3000 - вправо (+X),
4000 - вниз (-Y).
Имеются ввиду направления на детали выложенной командой Выкладка (LAY). Исходное положение детали в сборке не имеет значение, деталь обычно бывает перевернута при выкладке.
Если в таблице нужно сначала указать столбцы верхней и нижней кромки, а потом левой и правой (как этого требует экспорт в программу OptiCut), то используйте такой порядок столбцов: 2000,4000,1000,3000.
У детали может быть несколько торцев с одним спец-индексом (деталь с вырезом). Данные о них будут объединены и может получится перечисление нескольких значений или *различные*.
У детали может не быть какого-то из этих 4х торцев (треугольная деталь, дуга, круг). Будет подставлено Н/Д.
Специальные индексы работают только с прямоугольными деталями. Торцы внутри вырезов, окон, диагонали треугольных деталей, криволинейные торцы - все эти торцы можно вывести только с помощью обычной нумерации по порядку, но не специальными индексами.
Именно эти четыре основных направления торцев могут быть названы буквами Л, В, П, Н или стрелками, если вы включите такую опцию в Общих Настройках.
Блок
Для ссылки на блок (BlockReference) доступны все стандартные свойства примитивов плюс дополнительные свойства:
%scale% - масштаб ссылки на блок. Всегда больше 0. Если масштабы различны по разным осям, по вместо масштаба будет подставлено слово "искажен". Действительное число.
%mirror% - если блок отзеркален по 1 или трем осям, то будет подставлен комментарий «Зеркальный». Строка.
%instance% - имя экземпляра динамического блока, на который на самом деле ссылается данная ссылка на блок. Строка.
Так же доступны свойства определения блока (BlockTableRecord):
%name% или %n% - имя блока
%info% или %i% - описание блока
%expodable% - если блок можно взрывать (и использовать как сборку), то будет подставлен комментарий "Взрываемый", иначе - "Не взрываемый". Строка.
%units% - название единиц измерения блока (могут отличаться от единиц измерения чертежа). На английском. Строка.
Атрибуты и параметры - тоже доступны. Как константные (из определения блока), так и изменяемые (из ссылки на блок). Их название надо заключить между символами %. Важно соблюдать регистр букв как записан тэг атрибута, так и писать в подстановке. Подстановки атрибутов и параметров можно форматировать как строку. Целочисленные и действительные параметры можно форматировать как число.
Кривые
Все линии, полилинии, мульти-линии, дуги, окружности, плоские сплайны, эллипсы добавляют к стандартным подстановкам:
%length% или %len% - длина линии, полилинии или другой кривой. Всегда равна периметру %perimeter%. Форматируется как размер.
%endx%, %endy%, %endz% - координаты X, Y, Z конечной точки кривой в текущей пользовательской системе координат (UCS). Форматируется как размер.
%midx%, %midy%, %midz% - координаты X, Y, Z средней точки на кривой в текущей пользовательской системе координат (UCS). Нет у мульти-линий. Форматируется как размер.
Полилиния
Добавляет к стандартным подстановкам и подстановкам кривых:
%closed% - если полилиния замкнутая - напишет слово "Замкнута", иначе пустая строка. Да/Нет.
%bypass% - направление обхода замкнутой полилинии - подставятся слова "По часовой" или "Против часовой". Строка.
%segments% - количество сегментов. Целое число
Дуга
Добавляет к стандартным подстановками подстановкам кривых:
%radius% - радиус дуги. Форматируется как длина.
%angle% - угол дуги. Форматируется как угол (по умолчанию со знаком градусов)
Окружность
Добавляет к стандартным подстановкам и подстановкам кривых:
%radius% - радиус. Форматируется как длина.
%diam% - диаметр. Форматируется как длина.
Текст (Text и MText)
Добавляет к стандартным подстановкам:
%style% - стиль. Строка.
%text% - текст без кодов и символов форматирования. Строка.
%сontents% - содержание текста вместе с кодами полей и кодами форматирования. Строка.
Выноска (MLeader)
Добавляет к стандартным подстановкам:
%style% - стиль. Строка.
%text% - текст без кодов полей и символов форматирования. Строка.
%сontents% - содержание выноски вместе с кодами полей и кодами форматирования. Строка.
%format% - формат подстановок для умной выноски. Строка.
%textheight% - размер текста. Форматируется как длина.
%textframe% - наличие рамки вокруг текста: Да/Нет.
Таблица
%style% - стиль. Строка.
%name%, %n% - имя таблицы. Берется из первой строки таблицы. Строка.
%section% - номер секции, если таблица разделена по листам. Целое число.
Видовой экран (Viewport)
%scale% - масштаб вьюпорта. Действительное число
%standardscale% - если масштаб соответствует одному из стандартных - строка стандартного масштаба (Например, если масштаб 0.5, то подставится строка "1:2" ) . Строка.
%locked% - Если вид заблокирован, то будет подставлена строка "Заблокирован". Да/Нет.
Слой
Слои обычно не доступны сами по себе, их следует получать, как свойство видимых объектов чертежа через подстановку %layerNNN%, где вместо NNN вы можете написать одну из следующих подстановок свойств слоя:
name - имя слоя. Вместо %layername% можно писать просто %layer%. В слоях из внешних ссылок будет имя файла | имя слоя.
info - описание слоя. Может содержать символы переноса на новую строку.
color - цвет. Если у цвета нет имени – цифровой индекс цвета или RGB-код. Если цвет выбран из книги цветов, то указывается название книги. Строка.
col - цвет детали без названия книги цветов. Строка.
linetype - имя типа линий. Строка
lineweight - вес (толщина) линий в мм. Форматируется как размер
material - материал слоя. Строка. Из материала можно получить другие его свойства. Например %layermaterialthickness% - подставится толщина листового материала слоя.
plotstyle - имя стиля печати для чертежей со "стилевым" = .stb (а не цветовым = .ctb) управлением печатью. Строка.
transparency - процент прозрачности слоя. Число от 0 до 90.
off - слой отключен (объекты невидимые). Да/Нет.
frozen - слой заморожен в текущем вьюпорте. Да/Нет.
locked - слой заблокирован (объекты слоя нередактируемые). Да/Нет.
plottable - слой для печати. Да/Нет.
reconciled - слой внешней ссылки синхронизирован. Да/Нет.
used - слой использован где-то в чертеже, есть объекты на этом слое. Да/Нет.
Группа
Под группами имеются ввиду группы совместно выбираемых объектов пространства модели. Группы обычно не доступны сами по себе, их следует получать, как свойство видимых объектов чертежа через подстановку %groupNNN%. AutoCAD позволяет приписать один объект ко многим группам, но программы AVC выберут одну (первую попавшуюся) группу. Вместо NNN вы можете написать одну из следующих подстановок свойств группы:
name - имя группы. Вместо %groupname% можно писать просто %group%. Безымянным группам AutoCAD сам выдает имена вида *A2.
info - описание группы. Может содержать символы переноса на новую строку.
isanonymous - безымянная группа. Да/Нет.
selectable - группа выбираемых совместно объектов. Да/Нет.
numentities - количество объектов в группе.
Лист (Layout)
Подстановки свойств листа доступны только в настройках команды Деталировки (DDraw). По мимо свойств самого листа, вы можете подставить свойства вьюпорта или детали, видимой во вьюпорте. Для этого следует использовать префикс view. Например %viewstandardscale% - это масштаб вьюпорта. Если на листе несколько вьюпортов, то будут подставлены все варианты свойства. Свойства детали подставляются в первую очередь, даже если у вьюпорта есть такое же свойство. Например, %viewlayer% - это слой детали, показанной во вьюпорте, а не слой самого вьюпорта.
%taborder% - номер листа по порядке расположения закладок. Целое число.
%vpcount% - количество вьюпортов ( и деталей) на листе. Включая незаполненные вьюпорты. Целое число.
Свойства детали
Когда команды Выкладка, Таблица Данных и Таблица Напилки группируют одинаковые объекты в одну запись и подсчитывают количество одинаковых, то в таких командах доступны подстановки свойств детали:
%row% - номер строки в таблице или номер детали по порядку. Используйте только, если не настроена Нумерация. Форматируется как целое число. По умолчанию формат 000, то есть с выравниванием разрядов до 3 цифр. Именно эта подстановка используется для нумерации деталей в команде AvcNum. Именно тут наиболее востребованы такие форматы целых чисел как ROMAN (римские цифры), ALPHABET и CYRILLIC - буквы по алфавиту.
%count% или %c% - количество одинаковых деталей во всех сборках и с учетом множителя. Целое число.
Если включено геометрическое сравнение объектов, но не включено отделение зеркальных деталей в отдельные записи, то имеют смысл следующие подстановки:
%countmirror% - количество деталей, помеченных как «зеркальные». По умолчанию вместо ноля подставляется пустая строка. Целое число.
%countright% - количество "прямых" деталей, НЕ помеченных как «зеркальные». Команда Выкладка (Lay) выкладывает именно эти детали. Целое число.
%c+m% - Количество прямых + количество зеркальных деталей. Двойное количество через символ +. После прямых будет вставлено "шт.", а после зеркальных (если они вообще есть) - "зерк.". Строка. Внимание! Данная подстановка работает только с деталями (солидами), но не имеет никакого отношения к количеству блоков-сборок. Подсчитать количество зеркальных блоков можно только в отдельной Таблице Данных.
Если включен поиск объектов внутри блоков-сборок или множитель (серия) больше 1, то можно использовать дополнительные подстановки:
%countassemly% - Количество сборок (блоков) в которых найдены эти детали. Умножается на множитель (серию). Целое число.
%perassembly% - Количество деталей на одну сборку (блок) без всяких умножений. Целое число.
Свойства детали нигде не сохраняются и поэтому не доступны в Умных Выносках и Маркировке.
Материалы
Если вы используете панель свойств A>V>C> (AVCPalette), то вам будут доступны подстановки свойств материала. Если вы извлекаете данные из солидов, то надо написать перед подстановкой mat. А команде Таблица Материалов эта приставка не нужна.
index - индекс материала. Обычно это краткое обозначение материала одной буквой для выносок и таблиц. Например: %matindex% or %facematindex1%. Строка.
color или col - диффузный цвет материала. Если у цвета нет имени – цифровой индекс цвета или RGB-код. Если цвет унаследованный от объекта (inherited = ByObject), то пустая строка.
art - артикул материала. Строка.
info или i - описание материала. Строка
use - предназначение материала. Строка.
den - плотность материала. Действительное число.
length или len - длина листа/хлыста материала. Форматируется как размер.
width или w - ширина. Форматируется как размер.
thickness или t - толщина. Форматируется как размер.
price - цена за единицу площади/длины/объема. Действительное число.
piece - Размер куска материала. Площадь листа, длина хлыста или объем. Вычисляется по размерам материала с учетом назначения (поле "Для"). Для миллиметровых чертежей пересчитывается в метры. Действительное число.
grain - этот материал имеет рисунок волокон на поверхности (текстуру). 0 (нет) или 1 (есть). Целое число.
milltool - Название или номер инструмента фрезерования (фрезы), как он назван в станке с ЧПУ. Для имен слоев ЧПУ. Строка.
millmode - Код режима обработки (фрезеровки). Для имен слоев ЧПУ. Строка.
sawtool - Название или номер инструмента пиления (диска), как он назван в станке с ЧПУ. Для имен слоев ЧПУ. Строка.
sawmode - Код режима обработки (пиления). Для имен слоев ЧПУ. Строка.
units - Единицы измерения количества материла. Подставляется в зависимости от предназначения (поле "Для"). Программе известны только метры и дюймы (м, м², м³, in, in², in³). Прочите единицы не отображаются. Строка.
id и handle - идентификаторы материала в базе данных dwg-файла.
В команде Таблица Материалов, вы можете использовать подстановки расчета материала на выбранные детали:
quantity - Количество материала по площади, длине или объему. С учетом необходимых запасов (см Расчет цены в Общих настройках). Единица количества зависит от предназначения материала. Действительное число.
pieces - Количество кусков материала. Если заданы размеры материала, то программа посчитает сколько надо листов, хлыстов, бухт кромки. Действительное число.
weight - Вес всех деталей из этого материала без учета запасов. Должна быть задана плотность материала. Не рассчитывается для покрытий и кромок. Форматируется как вес.
cost - Стоимость этого количество материала. Должна быть задана цена единицы материала. Форматируется как деньги.
Свойства чертежа
Для любого объекта вы можете использовать подстановки свойств чертежа DWG:
%filename% - имя файла чертежа без dwg,
%dir% - путь к папке чертежа,
%revisionnumber% - номер ревизии,
%lastsavedby% - последний раз сохранялся,
%comments% - комментарии,
%keywords% - ключевые слова,
%author% - автор,
%subject% - тема,
%title% - заглавие,
%hyperlinkbase% - базовый адрес для всех гиперссылок объектов чертежа,
"%dwgcreated%" - дата и время создания файла,
"%dwgupdated%" - дата и время последнего сохранения файла,
"%indwg%" - суммарное время редактирования чертежа,
"%usertimer%" - пользовательский счетчик времени, сбрасываемый командой _time.
Так же вы можете подставить и пользовательские (прочие) свойства чертежа. Для этого оформите подстановку в виде %customdp.Имя_моего_свойства% Не забудьте точку перед именем. Важно написать имя в том регистре букв как и в свойствах чертежа.
Все свойства чертежа, кроме дат, форматируются как строка.
Текущее время
Для любого объекта вы можете использовать подстановки даты и времени
%today% - сегодняшняя дата в кратком формате дат. Формат зависит от настроек Windows. Для русской локализации Windows по умолчанию это dd.MM.yyyy т.е. день.месяц.год
%now% - текущая дата и время на момент вызова подстановки. Формат тоже зависит от настроек Windows.
%timestamp% - временная метка, то есть текущая дата и время в кратком формате, удобном для алфавитной сортировки yyMMdd_HHmm т.е. 2 цифры года, месяц, день, час и минуты без лишних точек и пробелов. Не зависит от настроек форматов даты.
Все подстановки текущего времени вычисляются на момент запуска команд и не могут быть преобразованы в поля.
Контуры деталей для ЧПУ
Команды подготовки контуров для ЧПУ (Внешний контур, ЧПУ_Подготовка и DXF Экспорт) умеют использовать подстановки при создании новых слоев. В этих подстановках могут использоваться данные о контурах детали, необходимые для назначения параметров обработки детали. Эти же подстановки можно использовать в Таблице Сверлений и на выносках угла наклона торца.
depth - глубина погружения инструмента вдоль направления погружения от точки входа инструмента в деталь до дна отверстия или паза. Для сверлений считается вместе с конусом на конце и с глубиной зенковки. Всегда положительное число. Для команды Внешний контур можно задать глубину в настройках.
z - позиция дна сверления или паза по оси Z. Измеряется от низа детали (плоскости XY). Для глухого вертикального сверления - это недосверленный остаток детали. Для наклонных плоскостей - координата нижней точки. Для торцев и сложных форм значение неопределенно, но можно использовать подстановку %centerz%. Всегда положительное число.
-z - позиция дна сверления или паза по оси Z в перевернутой системе координат, то есть от верха детали. Всегда положительное число. Для сквозной обработки - ноль.
centerx, centery, centerz - координаты точки входа сверла в деталь по трем осям. Измеряются от левого нижнего угла детали на выкладке. Используются в таблице Сверлений, но можно получить координаты центра любой поверхности, не только сверления. Обратите внимание, что %centerz% - это вход, а %z% - это выход или дно.
diam - диаметр. Для сверлений - диаметр отверстия.
angle - угол наклона между осью сверла и осью Z. Или угол наклона фрезы/диска для наклонного фрезерования или пиления. От -90° до +90°. Измеряется в градусах (или как настроено отображение углов в чертеже).
-angle - тот же угол в перевернутой системе координат. Имеет обратный знак по сравнению с подстановкой %angle%. От -90° до +90°.
rotation - угол поворота шпинделя вокруг оси Z. Измеряется в градусах от оси X ПРОТИВ часовой стрелки. От 0° до 360°.
-rotation - угол поворота шпинделя вокруг оси Z в перевернутой системе координат. Измеряется в градусах от направления обратного оси X ПО часовой стрелке. От 0° до 360°.
slope - угол подъема наклонного торца от плоскости XY. Вычисляется как 90 - angle. От -90° до +90°. Отрицательное значение означает, что торец повернут вниз, невидим.
dir - Буква направления сверления "A" - по X, "B" - против Y, "C" - против X, "D" - по Y. Буквы можно перенастроить или заменить на цифры. Имеет смысл только для горизонтальных (латеральных) сверлений.
countersink - Слово "зенковать" для сверлений с конической зенковкой. Само слово можно перенастроить в опциях команды NCP.
countersinkdiam - Наружный диаметр зенковки у сверлений.
countersinkdepth - Глубина зенковки у сверлений.
countersinkangle - Угол конуса зенковки у сверлений.
length or len - длина данного торца детали. Можно использовать у слоя сквозного распила на пиле.
milldiam - диаметр используемой фрезы.
sawdiam - диаметр диска пилы.
sawthickness - толщина диска пилы.
milltool - номер или название инструмента для фрезеровки. Программа предпочитает брать эти данные из свойств материала детали, но если там пусто, то возьмет из стиля ЧПУ.
sawtool - номер или название инструмента для пиления.
millmode - код режима фрезеровки.
sawmode - код режима пиления.
down - метка "снизу", если наклонный торец детали обращен вниз. Подстановка используется в выносках с углом наклона торцев.
row - номер сверления. Используется только в Таблице Сверлений. Просто номер по таблице по порядку отверстий. Недопустимо использовать в именах слоев.
Все остальные подстановки Метрики и Имени солида - будут подставлены свойства обрабатываемого солида. Таким образом вы сможет создать индивидуальные слои для каждой детали. Так же можно получить данные о материале детали через составную подстановку. Например, %matindex% - индекс материала детали.
Имя вида
Программа Выкладка (Lay) может выкладывать детали лицом или задом. С помощью специальной подстановки %view% вы можете вывести название вида в заголовок детали. Подстановка так же доступна в команде DXF экспорт.
%view% - название вида: "ВИД СПЕРЕДИ" или "ВИД СЗАДИ". Форматирование не поддерживается.
Неизвестные свойства
Если вы написали подстановку с ошибкой или у объекта нет такого свойства или у блока нет нужного атрибута, то система подстановок выдаст значение "н/д" (n/a). Можно перенастроить эту строку - запишите другое значение в Общих настройках в разделе Подстановки в поле "Нет данных". Можно подставлять и пустую строку тоже.
В суммарных значениях и итогах неизвестная подстановка будет считаться как ноль.
Поля
Поля AutoCAD - это тоже подстановки специального вида. Они вставляются командой _Field в любые тексты (мультитекст, выноски, атрибуты, таблицы) позволяют отображать свойства чертежа или объектов. Удобно то, что поля обновляются автоматически, почти сразу после того как вы измените свойство объекта. Обновление полей может происходить при регенерации изображения (команда _Regen), переключении листов, перед печатью или в ручную командами _UpdateField и AVCUpdate. Обновления полей настраиваются системной переменной FieldEval.
Команды из плагинов A>V>C> умеют создавать поля и заменять подстановки на поля. Это может быть удобно для частых изменений объектов - данные изменятся на Умных Выносках даже без вызова команды LeaderUpdate. Но есть ряд ограничений и особенностей:
Не надейтесь, что поля сами переключатся на отображение свойств другого объекта. Например, если вы сдвинули объекты под Умной Выноской, то вам все равно надо вызвать LeaderUpdate.
Поля работают только со стандартными свойствами объектов AutoCAD|BricsCAD, не возможно создать поля для имен деталей, метрики солида и других свойств созданных плагинами A>V>C>. Для них подставляются текущие значения свойств не зависимо от настроек. И для их обновления понадобиться вызывать команды LeaderUpdate или AVCUpdate.
Я пока не нашел способа создания полей-параметров блока. Если вы пишите параметр блока в подстановке, то он будет выведен как строка. С атрибутами блока все хорошо, их подстановки будут преобразовываться в поля.
Создание полей легко отключить в Общих Настройках - см. галочку "Использовать поля".
В Общих Настройках можно настроить формат отображения цифр/размеров. Эта настройка действует и для полей. Но тут есть ограничение - вы не можете добавлять в строку формата свои символы и тексты. И бесполезно указывать специальные форматы в самой подстановке - они не будут использованы в полях.