| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Математические операции с атрибутами в блоке

Математические операции с атрибутами в блоке

Ответ
Поиск в этой теме
Непрочитано 05.03.2022, 19:21 #1
Математические операции с атрибутами в блоке
Agonist
 
Heat&Power engineer
 
столица Сибири
Регистрация: 13.08.2010
Сообщений: 53

Здравствуйте.
Делаю простейший дин.блок.
В нём использую атрибут, с которым необходимо выполнять вычисления.

В моем случае простейшее: получить значение атрибута и поделить его пополам.
Запаковываю поле в Текст/Мтекст - в редакторе блоков значение первый раз вычисляются нормально.
Однако, после использования блока в чертеже - изменение атрибута не обновляет значения, исчисляемые в объектах типа "текст".
АТРОБНОВИТЬ тоже не обновляет.
Заметил, что при определении поля в формуле вставляется значение атрибута с методом .TextString. Пробовал убрать и вставить без значение атрибута без перевода в строковое - не помогло

ЧЯДНТ?

Миниатюры
Нажмите на изображение для увеличения
Название: Скриншот 05-03-2022 231657.jpg
Просмотров: 123
Размер:	170.9 Кб
ID:	245813  Нажмите на изображение для увеличения
Название: Скриншот 05-03-2022 231623.jpg
Просмотров: 126
Размер:	89.4 Кб
ID:	245814  

Вложения
Тип файла: dwg
DWG 2010
Схема расположения тяг.dwg (95.1 Кб, 25 просмотров)

__________________
Alles ist relativ:yes:
Просмотров: 2554
 
Непрочитано 06.03.2022, 14:07
#2
name02


 
Регистрация: 10.01.2020
Сообщений: 171


Неправильно то, что значение атрибута помещается внутри текста: автокад где-то в своих недрах может и пересчитывает значение атрибута, но значение текстового объекта он не меняет.
Уже где-то на форуме всплывала такая проблема, но решения не нашли, потому что его нет.
Поэтому для "размножения" значения атрибута можно использовать пользовательские параметры, а их уже вставлять внутрь атрибутов:
Нажмите на изображение для увеличения
Название: Параметры.png
Просмотров: 98
Размер:	25.5 Кб
ID:	245825
Только для того, чтобы в атрибут вписать значение пользовательского параметра нужно использовать не диспетчер параметров, а нужно идти через редактирование определения атрибута или через кнопку создания определения атрибута. В поле "По умолчанию" правой кнопкой мыши и выбрать пунтк "Вставить поле...":
Нажмите на изображение для увеличения
Название: Редактирование определения атрибута.png
Просмотров: 107
Размер:	16.3 Кб
ID:	245827
И уже тут указываем нужный пользовательский параметр и коэффициент преобразования:
Нажмите на изображение для увеличения
Название: Поле в атрибуте.png
Просмотров: 93
Размер:	34.6 Кб
ID:	245826

При вставке блока автокад запросит значения атрибутов - нужно пропускать кнопкой ввода - если указать какое-то значение, то в данном вхождении блока значение атрибута перепишется на конкретно указанное значение и "магии" не будет.

Сделал как мог: Схема расположения тяг2.dwg

Offtop: Совет: если будешь делать блоки, то надо объекты внутри блока помещать около начала координат (точка 0,0,0), чтобы при вставке блока в чертеж все его видимое содержимое не оказывалось непонятно где
name02 вне форума  
 
Автор темы   Непрочитано 07.03.2022, 19:09
#3
Agonist

Heat&Power engineer
 
Регистрация: 13.08.2010
столица Сибири
Сообщений: 53


Спасибо за помощь, но работает не совсем так, как хотелось (ожидалось).
Так или иначе, для того, чтобы в уже вставленном в пространстве модели блока поменять значения сдвига, недостаточно только в свойствах блока перебить значение, но так же зайти в редактор блока и выйти для того, чтобы обновились значения.
Почему-то подавление хвостовых нулей не работает, равно как и стиль отображения атрибута вещественное с запятой.
Манипуляции производились на autocad 2012.
__________________
Alles ist relativ:yes:
Agonist вне форума  
 
Непрочитано 09.03.2022, 08:30
1 | 1 #4
name02


 
Регистрация: 10.01.2020
Сообщений: 171


После вставки блока (я тоже делаю это в Автокаде 2012) автокад спрашивает значения для атрибутов - их пропускаем энтером.
Блок вставляется, но атрибуты пустые, но в свойствах блока значения есть:
Нажмите на изображение для увеличения
Название: Блок после вставки.jpg
Просмотров: 49
Размер:	145.9 Кб
ID:	245871
Для установки нужного значения в свойствах блока в разделе "Настройка" надо поменять значение параметра (значения атрибутов НЕ МЕНЯТЬ):
Нажмите на изображение для увеличения
Название: Изменение параметра.png
Просмотров: 55
Размер:	6.4 Кб
ID:	245872
После выполнить команду АТРОБНОВИТЬ - атрибуты в блоке обновятся и нужные значения появятся:
Нажмите на изображение для увеличения
Название: Обновленный блок.jpg
Просмотров: 52
Размер:	156.5 Кб
ID:	245873
В последующем, при работе с этим вставленным блоком, после изменения значения ПАРАМЕТРА надо выполнить команду ОБНОВИТЬ чтобы на чертеже значения параметров тоже обновились

----- добавлено через ~37 мин. -----
Что касается:
Цитата:
Сообщение от Agonist Посмотреть сообщение
Почему-то подавление хвостовых нулей не работает, равно как и стиль отображения атрибута вещественное с запятой.
В уже вставленном блоке эффекта от изменения формата нет. Для вновь вставляемых блоков работает (проверил в Автокаде 2012)
name02 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Математические операции с атрибутами в блоке

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать блок с атрибутами в котором можно перемещать блок с атрибутами вместе и атрибуты отдельно и их поворачивать по отдельности otsva Динамические блоки 4 08.10.2019 21:35
Как создать две операции растягивания в одном блоке (относительно центра блока) alexkarm Динамические блоки 2 16.07.2019 16:47
Autocad 2018. Атрибуты в блоке. Операции вычислений значений атрибутов. d1voq AutoCAD 1 12.03.2018 20:46
Как получить vla-объект, который находится в блоке или как с помощью Lisp поменять видимость в дин. блоке? Shraybicus LISP 12 28.12.2010 15:45