Как добавить видимость в блоке автокад
Пользователям:
Готовые макросы:
Все функции по вставке и обработке дополнительных Visibility Set
Обновление 17.07.2009г. Исправлена ошибка в element-sel-current-insert и добавлено включение видимости всем элементам с откатом назад, после выбора нужных элементов
Обновление 06.10.2009. Исправил функцию eval_graf_output, из-за которой не работала visibility-up.
Обновление 02.02.2010. . Откорректирована в связи с появлением нового динамического элемента в 2010 каде
(properties_add_all_visibility) - установка видимости выбранных динамических свойств и ручек во всех представлениях всех Visibility Set-ов.
Добавлен вывод значения текущего Visibility Set-a в статусную строку и спрятаны не нужные глобальные переменные
(element-all-current-del) - удаление из текущего Visibility Set всех элементов оставляя свойства и представления.
(element-sel-current-del) - очищает Visibility Set от указанных элементов без необходимости выключать им видимость в других представлениях текущего Visibility Set-а.
(element-sel-current-insert) - внедрение в общий список текущего Visibility Set-a выбранных элементов.
(Visibility_add) - Добавление нового Visibility Set-a
(visibility-up) - Делает указанный пользователем Visibility Set текущим
(eddedd) - Включает ручки всем элементам текущего Visibility Set-a
(Visibility_clear) - Очищает указанный Visibility Set от всех элементов, параметров и представлений. Принадлежащие ему элементы становятся свободными
Инструкция по применению дополнительных Visibility Set
24.01.2009.
Исправлена ошибка в функции (properties_add_all_visibility)
Назрел момент коренным образом разобрать строение динамических блоков и определить, что же можно с ними делать, а что нельзя.
Я много "наковырял" информации о структуре динамических блоков, но многое еще не изучил и не понял. Мне не нужно становиться специалистом по каким-то там блокам. У меня много других проблем, но с динамическими блоками у меня связаны многие планы и ковырять их так и так придется. Буду весьма благодарен, если найдутся люди, желающие мне помочь и тоже интересующиеся строением динамических блоков. Чем больше людей будет уметь обращаться с ними программно, тем лучше будут программы к Автокаду, да и в других программах могут тоже появиться динамические блоки.
Для чего нужны дополнительные Visibility Set-ы? Для того, чтобы можно было управлять видимостью одной группы элементов не трогая установку видимости для другой группы.
Создание дополнительных Visibility Set возможно и уже реализовано, но реализовано не правильно. Чтобы реализовать эту задачу правильно, надо в первую очередь ясно понять что и для чего сделано.
Добраться до словаря (0 . "ACAD_EVALUATION_GRAPH") где собственно лежат все свойства динамических блоков можно двумя путями.
1-й путь:
-1 коды у полученных данных разные и это настораживает, поскольку не известно почему. Я знаю, что DXF представление искуственное отображение данных и порою даже меняется от одного запроса к другому, но тут коды -1 не меняются от того, что ты заходишь в редактор и выходишь из него, только если что-то изменить в графике.
Ну не важно. Наша цель - расковырять (0 . "ACAD_EVALUATION_GRAPH"), поскольку именно в него добавляются дополнительные Visibility Set-ы.
Следующая моя инфа о строении этого словаря.
Не думаю (давно не ковырял), что разбор только словаря ACAD_EVALUATION_GRAPH" даст ожидаемый эффект. Понадобится, скорее всего, просматривать еще и элементы блока.
__________________ --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
Сначала я дам код получения словаря "ACAD_EVALUATION_GRAPH".
Первый вариант его получения (из коллекции Block).
Автокад многие DXF пары корректировать не дает. Что туда не вставь - восстанавливает прежнее. Удали - тоже восстанавливает, но в тоже время, в том же списке этих пар есть такие, которые Автокад позволяет менять. Есть некоторые DXF коды (пара без точки посередине) присутствие которых в списке не дает возможность модифицировать этот список и только удалив эти коды из списка можно его модифицировать, но после модификации эти коды опять восстанавливаются.
Последовательность размещения точечных пар и DXF кодов в некоторых случаях произвольная, а в некоторых строго определенная. Так в случае с "ACAD_EVALUATION_GRAPH" - последовательность размещения имеет очень боьшое значение.
Многие модификации кончаются фатал еррором. Что это такое знают даже не программисты.
Не эксперементируйте с рабочими файлами! Не эксперементируйте в тот момент, когда в другом окне загружен рабочий файл!
Именно в таком виде и надо просматривать этот словарь.
Нужна прога. У меня пока нет.
Дописки с правой стороны мои, для понимания что там лежит.
Это распечатка словаря блока, в котором установлен только один Visibility Set и больше ничего.
Параметр, ручка от него и два объекта - один расположение ручки по X и другой - по Y. Если ручку выключить - этих трех объектов не будет, только параметр останется.
Я думаю, что до 96 кода описывать точечные пары не надо, поскольку о них все написано в книгах по автолиспу.
96 и 97 код пока рассматривать не будем, поскольку без понимания всего в целом, значения эти не понять.
По скольку AutoDeck не дает описания структуы, и даже терминов, которые он присваивает не дает - будем придумывать термины свои. Если кому-то не нравятся мои термины - предлагайте свои.
И так:
Помимо отдельных точечных пар в начале списка, которые несут общее определение имени, типа объекта, метки, и пр. все остальное делится на "записи". "Записью" я называю ряд точечных пар, из которых состоит что-то типа предложения, описывающего некую константу.
Начинается запись после 97 кода с точечной пары с номером записи по порядку. Этокод 91. Записи маркируются с 0.
Следующая пара с кодом 93 - тип записи. В этом же словаре есть и другого типа записи и в других словарях тоже по всей видимости, а в недрах Автокада есть скорее всего набор функций, которые в зависимости от типа записи знают сколько точечныхпар в ней, на каких местах кто стоит и что означает, и в соответствии с типом записи она и обрабатывает эти записи.
Следующий код 95 - номер создания элемента по порядку. То есть, когда создается элемент ему присваивается следующий порядковый номер. Этот номер изменить нельзя - фатал еррор сразу. Он сопровождает 360 код, в какую строку его не перемести. И скажу сразу, для практических целей совсем бесполезен. На последовательность отображения свойств в списке свойств блока не влияет. Но это он тут для манипуляций им бесполезен, но Lookup активатор именно на него и ссылается.
Следующий код 360 - указатель на объект. Этоили . PARAMETER, или . GRIP, или BLOCKGRIPLOCATIONCOMPONENT, или . ACTION. То, что в редакторе блоков вы видите. Хотя Там явно видны только параметры и актион-сы, но есть и ручки (сине треугольнички). BLOCKGRIPLOCATIONCOMPONENT, как я уже писал - объект с данными о расположении ручки.
Следующий код 92 - Первый в строчке с 92 кодами - номер данного объекта в иерархии зависимости-принадлежности, или другими словами маркер места в родословной. Что такое родословная и как она выглядит у людей, думаю, что знают даже школьники. В объекте . ACTION в случае управления им цепочкой параметров указывает на вторую запись расширенных данных перевого в цепочке управляемого параметра.
Следующий код 92 - Второй в строчке с 92 кодами - дополнительный, второй маркер места. Служит для указания "приемного" родителя которым как правило выступают . ACTION. Главным родителем всегда выступает . GRIP. Если у объекта нет ACTION, то первая пара 92 и вторая равны. То есть имеют один и тот же код.
В объекте . ACTION в случае управления им цепочкой параметров указывает на вторую запись расширенных данных последнего в цепочке управляемого параметра.
Следующий код 92 - Третий в строчке с 92 кодами - Указатель на дочерний компонент №1. Если эта пара принадлежит элементу . PARAMETER, то это указатель на дочерний компонент "UpdatedX", то есть положение по X. Если это . GRIP или . ACTION, то это указывает на дочерний компонет . PARAMETER.
Следующий код 92 - Четвертый в строчке с 92 кодами - Указатель на дочерний компонент №2. Если эта пара принадлежит элементу . PARAMETER, то это указатель на дочерний компонент "UpdatedY", то есть положение по Y. Если это . GRIP или . ACTION, то это указывает на дочерний компонет . PARAMETER.
Исключением является объект LOOKUP, где в случае цепочки LOOKUP-ов эта точечная пара указывает на продолжение расширенной записи, а там уже на компонент "UpdatedY".
В случает если это . GRIP или . ACTION, последние два 92 кода всегда одинаковые и указывают на одно и то же.
Если в точечной паре стоит код -1, это значит, что данная точечная пара не содержит информации о принадлежности.
После окончания описания всех свойств записями (93 . 32) идут записи (93 . 0), которые являются расширенными данными о принадлежности элементов друг-другу. Эти записи привязаны к основным по коду маркера положения в родословной.
Первый код 92 - Указатель на маркер элемента (первая или вторая точеная пара 92 в строке из четырех точечных пар). Это говорит, что данная запись принадлежит именно этому элементу.
Второй код 93 - тип записи.
Третий код 94 - понятия не имею. Всегда 1.
Далее идут два 91 кода -
Первый - указатель на номер 32-ой записи элемента-родителя.
Второй - указатель на номер собственной 32-ой записи.
Далее идут пять 92 кодов -
Первый - указатель на основной маркер записи элемента. Точечная пара первого 92 кода в элементе, которому пренадлежит данная расширенная запись. В дополнительных расширенных данных (вторая запись) указывает на дополнительные расширенные данные предидущего в цепочке элемента.
Второй - указатель на дополнительный маркер записи элемента. Точечная пара второго 92 кода в элементе, которому пренадлежит данная расширенная запись. Если такового нет, то значение -1. В дополнительных расширенных данных (вторая запись) указывает на дополнительные расширенные данные следующего в цепочке элемента.
Первая и вторая точечная пара с 92 кодом заполняются значениями только тогда, когда есть "приемный родитель", то есть у элемента . RAMETER есть связь с элементом . ACTION. В остальных случаях обе пары всегда -1.
Третий
- В расширенной записи "UpdatedY" Указатель на связь с "UpdatedX"
- В расширенной записи "Lookup" указатель на расширенные данные преидующего в цепочке Lookup-a (см. далее).
Четвертый
- В расширенной записи "UpdatedX" Указатель на связь с "UpdatedY"
- В расширенной записи "Lookup" указатель на расширенные данные
следущего в цепочке Lookup-a (см. далее).
Третий и четвертый код во всех остальных расширенных данных всегда -1 (во всяком случае, я не обнаружил других данных).
Пятый
- В случае наличия цепочки связей на связь предидущей или следующей записи дополнительных расширенных данных (2-я запись).
BLOCKVISIBILITYPARAMETER не имеет ACTION. Вообще. Только GRIP и два BLOCKGRIPLOCATIONCOMPONENT.
. GRIP не имеет расширенных данных и значения первых двух 92 кодово в 32-ой записи всегда -1.
Для оптимизации работы с блоками, уменьшения их общего количества в библиотеках и файлах, существует понятие динамического блока. Динамический блок гибкий инструмент позволяющий вставлять блок в различных вариациях (масштабах, углах поворота).
Динамические блоки позволяют указать типы и количество вариаций для каждого блока. Создание динамического блока осуществляется в Редакторе блоков. Для создания динамического блока необходим хотя бы один параметр оперирующий им.
Параметрами определяют особые свойства динамического блока, в том числе позиции, расстояния и углы. Параметры так же могут ограничить значения самих параметров. Например, пользователь может переместить элемент внутри блока, указав точку на элементе и поставив параметр перемещения.
Ниже приведен пример использования параметров.
- В первом случае используется параметр дистанции с растяжением. В этом случае вы можете растянуть элемент, не растягивая при этом остальные.
- Во втором случае на элементе установлена точка с параметром перемещения. Как результат элемент перемещается не зависимо от остальных.
Процесс создания динамического блока
Поскольку процесс создания сложных динамических блоков, является достаточно трудоемким. Самый эффективный и распространенный способ создания динамических блоков заключается в использовании библиотек. При создании динамических блоков целесообразно так же создавать их библиотеку, для последующего использования.
Библиотека блоков может иметь две конфигурации:
- Один блок в чертеже: Сохранение каждого блока в отдельном чертеже. Указав при помощи команды БАЗА, положение начала координат, можно регулировать точку вставки блока в новый чертеж. Для вставки блока используется команда ВСТАВИТЬ.
- Множество блоков в чертеже: сохранение ряда блоков в чертеж. Для вставки конкретного блока из такого файла, используется DesignCenter, работа с которым описывалась ранее в уроках, данного раздела.
Первая часть создания динамического блока представляет собой, непосредственное определения блока. Ниже представлен процесс создания динамического блока.
- Создайте блок.
- Открыть блок в Редакторе блоков:
- Двойной щелчок по блоку.
- Нажать пиктограмму на панели.
- Выполнить команду Сервис>Редактор блоков.
- Ввести в командной строке БЛОКРЕД
- Добавьте параметр и связанное с ним значение.
- Сохраните определение блока в Редакторе блоков.
- Закройте Редактор блоков.
- Если чертеж будет содержать только этот блок, используйте команду БАЗА для установки начала координат в соответствующем месте.
- Сохраните чертеж
Такой метод подходит и для создания библиотеки содержащей не один блок.
После того как был создан и сохранен динамический блок, для его вставки в новый чертеж необходимо выполнить следующие действия:
- Используйте команду ВСТАВИТЬ, для вставки динамического блока в новый чертеж. В случае если необходимый файл содержит более одного блока, используйте DesignCenter.
- При выборе динамического блока, будут отображены специальные маркеры (захваты) показывающие параметры доступные для изменения блока.
- Как правило, захваты перемещаются тем самым изменяя параметры блока. Некоторые динамические параметры блока включают в себя выбор видимости или опции поиска из выпадающего списка.
Определение динамического блока
Ниже в таблице приведены основные параметры определяющие динамический блок
На этом урок по созданию динамических блоков и использованию динамических блоков окончен. В следующем уроке мы подробно опишем функции и методы использования конкретных параметров динамических блоков.
Для создания гибких динамических блоков, а так же уменьшения общего количества блоков в пользовательской библиотеке, часто используются параметры видимости и выбора. В предыдущем уроке мы уже рассказывали о параметрах динамических блоков, в этом же уроке мы расскажем о конкретно двух, этих параметрах.
Добавление операции
После размещения параметра, необходимо задать соответствующее ему операцию. Список операций размещен в Палитре вариаций блоков в соответствующей вкладке.
Для каждого параметра можно указать более одной операции. Операция применяется не к объекту а к параметру, для необходимо указать именно его, а не объект или точку параметра.
Выводимые запросы команды зависят от выбора операции, и параметра к которому она применяется. Ниже приведена таблица вариантов запросов, наиболее часто используемых операций, в зависимости от параметра к которому применяется запрос.
Операция | Параметр | Запросы |
Перемещение | Точка | Выберите объект. |
Перемещение | Линейный, полярный, XY | Ввиду того что у вас есть больше чем одна точка, необходимо указать с какой конкретно точкой необходимо связать операцию. Указать точку можно с помощью курсора, при наведение на одну из возможных точек появится красный круг вокруг нее. Так же можно в командной строке можно выбрать из диалога меню начальную точку/конечную точку. Нажав клавишу Enter вы установите конечную точку (по умолчанию) |
Масштаб | Линейный, полярный, XY | Необходимо указать объекты. Также можно указать изменение от базисной точки или независимой точки (которую необходимо указать). Если вы использовали параметр XY, вы можете указать, будет ли это масштабирование относительно оси X или Y, или масштабирование по обеим осям (по умолчанию).РастянутьТочкаВыберите объекты.РастянутьЛинейный, полярный, XYВвиду того что у вас есть больше чем одна точка, необходимо указать с какой конкретно точкой необходимо связать операцию Указать точку можно с помощью курсора, при наведение на одну из возможных точек появится красный круг вокруг нее. Так же можно в командной строке можно выбрать из диалога меню начальную точку/конечную точку. Нажав клавишу Enter вы установите конечную точку (по умолчанию). Далее указываются, диагональные углы участка, который определяет область растяжение. Далее указываются объекты. Полярное растяжение Полярный Аналогично запросу опции Растянуть. Кроме того, необходимо указать объекты которые вращаются. |
На этом урок окончен, в нашем следующем уроке мы расскажем, о установке параметров видимости и выбора.
Пользователям:
Готовые макросы:
Все функции по вставке и обработке дополнительных Visibility Set
Обновление 17.07.2009г. Исправлена ошибка в element-sel-current-insert и добавлено включение видимости всем элементам с откатом назад, после выбора нужных элементов
Обновление 06.10.2009. Исправил функцию eval_graf_output, из-за которой не работала visibility-up.
Обновление 02.02.2010. . Откорректирована в связи с появлением нового динамического элемента в 2010 каде
(properties_add_all_visibility) - установка видимости выбранных динамических свойств и ручек во всех представлениях всех Visibility Set-ов.
Добавлен вывод значения текущего Visibility Set-a в статусную строку и спрятаны не нужные глобальные переменные
(element-all-current-del) - удаление из текущего Visibility Set всех элементов оставляя свойства и представления.
(element-sel-current-del) - очищает Visibility Set от указанных элементов без необходимости выключать им видимость в других представлениях текущего Visibility Set-а.
(element-sel-current-insert) - внедрение в общий список текущего Visibility Set-a выбранных элементов.
(Visibility_add) - Добавление нового Visibility Set-a
(visibility-up) - Делает указанный пользователем Visibility Set текущим
(eddedd) - Включает ручки всем элементам текущего Visibility Set-a
(Visibility_clear) - Очищает указанный Visibility Set от всех элементов, параметров и представлений. Принадлежащие ему элементы становятся свободными
Инструкция по применению дополнительных Visibility Set
24.01.2009.
Исправлена ошибка в функции (properties_add_all_visibility)
Назрел момент коренным образом разобрать строение динамических блоков и определить, что же можно с ними делать, а что нельзя.
Я много "наковырял" информации о структуре динамических блоков, но многое еще не изучил и не понял. Мне не нужно становиться специалистом по каким-то там блокам. У меня много других проблем, но с динамическими блоками у меня связаны многие планы и ковырять их так и так придется. Буду весьма благодарен, если найдутся люди, желающие мне помочь и тоже интересующиеся строением динамических блоков. Чем больше людей будет уметь обращаться с ними программно, тем лучше будут программы к Автокаду, да и в других программах могут тоже появиться динамические блоки.
Для чего нужны дополнительные Visibility Set-ы? Для того, чтобы можно было управлять видимостью одной группы элементов не трогая установку видимости для другой группы.
Создание дополнительных Visibility Set возможно и уже реализовано, но реализовано не правильно. Чтобы реализовать эту задачу правильно, надо в первую очередь ясно понять что и для чего сделано.
Добраться до словаря (0 . "ACAD_EVALUATION_GRAPH") где собственно лежат все свойства динамических блоков можно двумя путями.
1-й путь:
-1 коды у полученных данных разные и это настораживает, поскольку не известно почему. Я знаю, что DXF представление искуственное отображение данных и порою даже меняется от одного запроса к другому, но тут коды -1 не меняются от того, что ты заходишь в редактор и выходишь из него, только если что-то изменить в графике.
Ну не важно. Наша цель - расковырять (0 . "ACAD_EVALUATION_GRAPH"), поскольку именно в него добавляются дополнительные Visibility Set-ы.
Следующая моя инфа о строении этого словаря.
Не думаю (давно не ковырял), что разбор только словаря ACAD_EVALUATION_GRAPH" даст ожидаемый эффект. Понадобится, скорее всего, просматривать еще и элементы блока.
__________________ --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
Сначала я дам код получения словаря "ACAD_EVALUATION_GRAPH".
Первый вариант его получения (из коллекции Block).
Автокад многие DXF пары корректировать не дает. Что туда не вставь - восстанавливает прежнее. Удали - тоже восстанавливает, но в тоже время, в том же списке этих пар есть такие, которые Автокад позволяет менять. Есть некоторые DXF коды (пара без точки посередине) присутствие которых в списке не дает возможность модифицировать этот список и только удалив эти коды из списка можно его модифицировать, но после модификации эти коды опять восстанавливаются.
Последовательность размещения точечных пар и DXF кодов в некоторых случаях произвольная, а в некоторых строго определенная. Так в случае с "ACAD_EVALUATION_GRAPH" - последовательность размещения имеет очень боьшое значение.
Многие модификации кончаются фатал еррором. Что это такое знают даже не программисты.
Не эксперементируйте с рабочими файлами! Не эксперементируйте в тот момент, когда в другом окне загружен рабочий файл!
Именно в таком виде и надо просматривать этот словарь.
Нужна прога. У меня пока нет.
Дописки с правой стороны мои, для понимания что там лежит.
Это распечатка словаря блока, в котором установлен только один Visibility Set и больше ничего.
Параметр, ручка от него и два объекта - один расположение ручки по X и другой - по Y. Если ручку выключить - этих трех объектов не будет, только параметр останется.
Я думаю, что до 96 кода описывать точечные пары не надо, поскольку о них все написано в книгах по автолиспу.
96 и 97 код пока рассматривать не будем, поскольку без понимания всего в целом, значения эти не понять.
По скольку AutoDeck не дает описания структуы, и даже терминов, которые он присваивает не дает - будем придумывать термины свои. Если кому-то не нравятся мои термины - предлагайте свои.
И так:
Помимо отдельных точечных пар в начале списка, которые несут общее определение имени, типа объекта, метки, и пр. все остальное делится на "записи". "Записью" я называю ряд точечных пар, из которых состоит что-то типа предложения, описывающего некую константу.
Начинается запись после 97 кода с точечной пары с номером записи по порядку. Этокод 91. Записи маркируются с 0.
Следующая пара с кодом 93 - тип записи. В этом же словаре есть и другого типа записи и в других словарях тоже по всей видимости, а в недрах Автокада есть скорее всего набор функций, которые в зависимости от типа записи знают сколько точечныхпар в ней, на каких местах кто стоит и что означает, и в соответствии с типом записи она и обрабатывает эти записи.
Следующий код 95 - номер создания элемента по порядку. То есть, когда создается элемент ему присваивается следующий порядковый номер. Этот номер изменить нельзя - фатал еррор сразу. Он сопровождает 360 код, в какую строку его не перемести. И скажу сразу, для практических целей совсем бесполезен. На последовательность отображения свойств в списке свойств блока не влияет. Но это он тут для манипуляций им бесполезен, но Lookup активатор именно на него и ссылается.
Следующий код 360 - указатель на объект. Этоили . PARAMETER, или . GRIP, или BLOCKGRIPLOCATIONCOMPONENT, или . ACTION. То, что в редакторе блоков вы видите. Хотя Там явно видны только параметры и актион-сы, но есть и ручки (сине треугольнички). BLOCKGRIPLOCATIONCOMPONENT, как я уже писал - объект с данными о расположении ручки.
Следующий код 92 - Первый в строчке с 92 кодами - номер данного объекта в иерархии зависимости-принадлежности, или другими словами маркер места в родословной. Что такое родословная и как она выглядит у людей, думаю, что знают даже школьники. В объекте . ACTION в случае управления им цепочкой параметров указывает на вторую запись расширенных данных перевого в цепочке управляемого параметра.
Следующий код 92 - Второй в строчке с 92 кодами - дополнительный, второй маркер места. Служит для указания "приемного" родителя которым как правило выступают . ACTION. Главным родителем всегда выступает . GRIP. Если у объекта нет ACTION, то первая пара 92 и вторая равны. То есть имеют один и тот же код.
В объекте . ACTION в случае управления им цепочкой параметров указывает на вторую запись расширенных данных последнего в цепочке управляемого параметра.
Следующий код 92 - Третий в строчке с 92 кодами - Указатель на дочерний компонент №1. Если эта пара принадлежит элементу . PARAMETER, то это указатель на дочерний компонент "UpdatedX", то есть положение по X. Если это . GRIP или . ACTION, то это указывает на дочерний компонет . PARAMETER.
Следующий код 92 - Четвертый в строчке с 92 кодами - Указатель на дочерний компонент №2. Если эта пара принадлежит элементу . PARAMETER, то это указатель на дочерний компонент "UpdatedY", то есть положение по Y. Если это . GRIP или . ACTION, то это указывает на дочерний компонет . PARAMETER.
Исключением является объект LOOKUP, где в случае цепочки LOOKUP-ов эта точечная пара указывает на продолжение расширенной записи, а там уже на компонент "UpdatedY".
В случает если это . GRIP или . ACTION, последние два 92 кода всегда одинаковые и указывают на одно и то же.
Если в точечной паре стоит код -1, это значит, что данная точечная пара не содержит информации о принадлежности.
После окончания описания всех свойств записями (93 . 32) идут записи (93 . 0), которые являются расширенными данными о принадлежности элементов друг-другу. Эти записи привязаны к основным по коду маркера положения в родословной.
Первый код 92 - Указатель на маркер элемента (первая или вторая точеная пара 92 в строке из четырех точечных пар). Это говорит, что данная запись принадлежит именно этому элементу.
Второй код 93 - тип записи.
Третий код 94 - понятия не имею. Всегда 1.
Далее идут два 91 кода -
Первый - указатель на номер 32-ой записи элемента-родителя.
Второй - указатель на номер собственной 32-ой записи.
Далее идут пять 92 кодов -
Первый - указатель на основной маркер записи элемента. Точечная пара первого 92 кода в элементе, которому пренадлежит данная расширенная запись. В дополнительных расширенных данных (вторая запись) указывает на дополнительные расширенные данные предидущего в цепочке элемента.
Второй - указатель на дополнительный маркер записи элемента. Точечная пара второго 92 кода в элементе, которому пренадлежит данная расширенная запись. Если такового нет, то значение -1. В дополнительных расширенных данных (вторая запись) указывает на дополнительные расширенные данные следующего в цепочке элемента.
Первая и вторая точечная пара с 92 кодом заполняются значениями только тогда, когда есть "приемный родитель", то есть у элемента . RAMETER есть связь с элементом . ACTION. В остальных случаях обе пары всегда -1.
Третий
- В расширенной записи "UpdatedY" Указатель на связь с "UpdatedX"
- В расширенной записи "Lookup" указатель на расширенные данные преидующего в цепочке Lookup-a (см. далее).
Четвертый
- В расширенной записи "UpdatedX" Указатель на связь с "UpdatedY"
- В расширенной записи "Lookup" указатель на расширенные данные
следущего в цепочке Lookup-a (см. далее).
Третий и четвертый код во всех остальных расширенных данных всегда -1 (во всяком случае, я не обнаружил других данных).
Пятый
- В случае наличия цепочки связей на связь предидущей или следующей записи дополнительных расширенных данных (2-я запись).
BLOCKVISIBILITYPARAMETER не имеет ACTION. Вообще. Только GRIP и два BLOCKGRIPLOCATIONCOMPONENT.
. GRIP не имеет расширенных данных и значения первых двух 92 кодово в 32-ой записи всегда -1.
Добавление параметра выбора
Параметр выбора, создает таблицу позволяющую добавить базовый параметр и его значения, и указать к нему соответствующую метку. При вставке блока содержащего параметр выбора, пользователь имеет возможность, выбрать из раскрывающего списка, имя указанного им параметра, для автоматического внесения изменений в блок. Данный параметр позволяет создавать несколько модификаций одного и того же объекта, например несколько видов линейных размеров.
Для создания параметра выбора, выполните следующие действия:
- В редакторе блоков добавить параметры действия, которые станут основой для внесения их в параметр выбора.
- В палитре вариаций блоков выбрать параметр выбора.
- В диалоговом окне Таблица выбора свойств, нажмите клавишу Добавить свойства, для определения параметров входящих в состав.
- В открывшемся диалоговом окне Добавление свойства параметров, выберите требуемый параметр и нажмите ОК для добавления его в таблицу.
- В случае если у вас уже указаны значения параметра они будут отображены в таблице входных свойств, в столбце соответствующем параметру. В случае если же значения параметра не указаны, вы можете их задать, введя в соответствующих строках.
- В правой колонке, Свойства поиска, отображаются названия параметров, которые можно менять или добавлять, для выбора при последующем выборе во вставленном на чертеже блоке.
- Для завершения нажмите клавишу ОК
После определения, каждый параметр соответствует своему названию, указанному пользователем. После вставки блока в чертеж, достаточно выбрать необходимый параметр из раскрывающегося списка, при нажатии пиктограммы стрелки.
На этом урок посвященный параметру видимости и выбора окончен. В нашем следующем уроке мы расскажем о работе с атрибутами.
В предыдущем уроке мы рассказывали о создании и использовании динамических блоков. Как уже было рассказано в нем, параметры являются основополагающим фактором создания динамических блоков. В этом уроке, мы подробно расскажем о параметрах динамического блока.
Добавление параметра видимости
Параметр видимости позволяет включить и отключить отображение определений блока, вставленного в чертеж. Допускается определение нескольких именных состояний видимости.
Использовать параметр видимости можно в двух случаях:
- Определение видимости или невидимости одного из компонентов блока.
- Переключаться между компонентами, т.е в блоке расположить один компонент поверх другого, а при вставке блока в чертеж, определять какой из данных компонентов будет отображаться.
Параметр видимости позволяет создать гибкие блоки, тем самым уменьшая общее количество блоков библиотеки пользователя. В блок можно добавить только один параметр видимости.
Для добавления параметра видимости, выполните следующее:
После того как блок вставлен в чертеж, при его выборе будет дополнительно отображаться пиктограмма в виде стрелочки, при нажатии на которую будет отображаться список параметров видимости.
Добавление параметра
Для того что бы создать динамический блок, в Редакторе блоков необходимо установить параметры динамического блока. Для этого необходимо выбрать требуемый параметр во вкладке Параметры Таблицы вариаций блоков. Каждый параметр, автоматически запрашивает указать необходимые для него значения.
Есть ряд значений общих для большинства параметров:
- Имя: Для каждого параметра можно задать свое имя. Это имя отображается в палитре свойств при выборе параметра. По умолчанию система приписывает каждому параметру соответствующее ему имя с порядковым индексом. Во избежание путаницы, при использовании большого количества одинаковых параметров в блоке, целесообразно в имени описывать к какому конкретно объекту блока относится данный параметр.
- Метка: Отображается в палитре свойств и рядом с объектом в открытом Редакторе блоков. Метку можно изменить в соответствии с более конкретным описанием действия. Например, линейный параметр использует метку «Расстояние», которую можно заменить на более конкретную – длинна, ширина и т.д.
- Сеть: Необходима для связи действий между собой, когда одно действие является причиной изменения более чем одного параметра. В результате активации одного параметра осуществляется действие второго. Необходимо указать какой параметр активизируется при выборе первого и к каким объектам он относится в последующем.
- Описание: Добавление описания параметра. Отображается в палитре свойств при выборе параметра в Редакторе блоков. При наведении курсора на точку параметра, на чертеже, описание отображается в виде всплывающей подсказки.
- Основание: Создание параметра базовой точки.
- Палитра: По умолчанию отображает метки параметров в палитре свойств при выборе блока входящего в чертеж.
- Установка значения: Возможность ограничить значения для размера текущего блока. Либо в виде приращения (например, от 30мм до 60 мм с 5мм шагом), либо путем предоставления списка (например, только 35мм, 50мм). Эта опция предлагает выбрать метод, а потом запрашивает значения.
Данный символ предупреждает о необходимости задачи операции параметру.
Кресло имеет линейный параметр но не имеет действия.
Читайте также: