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

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

Автоматическое изменение выравнивания атрибута блока в зависимости от положения самого атрибута

Ответ
Поиск в этой теме
Непрочитано 19.11.2019, 15:35 #1
Автоматическое изменение выравнивания атрибута блока в зависимости от положения самого атрибута
BIKE-off
 
Регистрация: 17.06.2011
Сообщений: 19

Можно ли создать динамический блок, при вставке которого атрибут имеет выравнивание "Середина по центру" (Justify "MC"), а при изменении положения атрибута относительно точки вставки блока, атрибут автоматически меняет выравнивание согласно сектора, в который "попадает"? Пример секторов на рисунке.



Это релизуемо штатными средствами AutoCAD? Или требует специальных программных надстроек?
А может я пытаюсь изобрести велосипед?
Просмотров: 3368
 
Непрочитано 19.11.2019, 16:51
#2
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,090


В порядке бреда: а это обязательно должен быть один и тот же атрибут? Может сделать девять разных, каждый для своего сектора, и управлять параметром видимости?
А чтобы значение всех девяти было одинаковое, добавить служебный невидимый атрибут и поле со ссылкой на него в каждый из девяти
kp+ вне форума  
 
Непрочитано 19.11.2019, 16:59
#3
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,326


Вполне возможно. Например так. Атрибут выравнивается в зависимости от угла поворота блока
Вложения
Тип файла: dwg
DWG 2013
Block.dwg (22.6 Кб, 116 просмотров)
AlexCondor вне форума  
 
Автор темы   Непрочитано 19.11.2019, 17:40
#4
BIKE-off


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


Цитата:
Сообщение от kp+ Посмотреть сообщение
В порядке бреда
Думал об этом. Но хотелось бы оставить возможность использования ЛИСПа для нумерации, а там нужно прощелкать атрибуты, а они получается будут невидимы
Да и параметр видимости будет использоваться для другого


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Вполне возможно
Как я понял, в приложенном блоке параметр выравнивания атрибута (который "Justification") не затрагивается и остаётся "По середине", а как раз его хотелось бы изменять

Последний раз редактировалось BIKE-off, 19.11.2019 в 17:50.
BIKE-off вне форума  
 
Непрочитано 19.11.2019, 18:07
#5
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,090


Цитата:
Сообщение от BIKE-off Посмотреть сообщение
хотелось бы оставить возможность использования ЛИСПа для нумерации, а там нужно прощелкать атрибуты, а они получается будут невидимы
Да и параметр видимости будет использоваться для другого
"Значимый" атрибут должен быть один. Возможно даже видимый, но на непечатаемом слое. А в отображаемых атрибутах - поля, зависимые от "значимого". Создать доп. параметр видимости не проблема, хотя и требует танцев с бубном, поиск в помощь.
kp+ вне форума  
 
Автор темы   Непрочитано 19.11.2019, 18:15
#6
BIKE-off


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


kp+
Не-е-е, это все равно не то

Пришла ещё идея. Что если это будет ЛИСП, которому указываешь блок, затем атрибут блока, после этого ЛИСП перебирает все вхождения блока на чертеже и указанному атрибуту меняет параметр выравнивания в соответствии с расположением атрибута относительно точки вставки блока.

Тогда тему нужно перенести в Программирование
BIKE-off вне форума  
 
Непрочитано 20.11.2019, 10:37
#7
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,090


Что-то вроде _attsync, только специфический? Дерзайте. Тему в разделе "программирование" лучше создать новую.
Вот, для затравки, вариант _attsync, который не корежит старые атрибуты: https://forums.augi.com/showthread.p...existing-block
kp+ вне форума  
 
Непрочитано 20.11.2019, 10:41
#8
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


https://habr.com/ru/post/271109/
trir вне форума  
 
Автор темы   Непрочитано 20.11.2019, 17:16
#9
BIKE-off


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


Цитата:
Сообщение от kp+ Посмотреть сообщение
Что-то вроде _attsync
Да, что-то вроде того. Пользуюсь ЛИСПом для выделения блоков по видимости (SSD), примерно по тому же принципу думаю нужно делать.

Вот ещё у Ли Мака нашёл практически то, что нужно (MvAtt / RoAtt / EdAtt). Но здесь можно задать выравнивание одинаковое для всех обрабатываемых атрибутов, а мне нужно разное. И для многострочных атрибутов у меня не работает

trir, для меня это: "У-у-ух ты, жаль, что я так не умею"
BIKE-off вне форума  
 
Непрочитано 21.11.2019, 04:37
#10
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Вполне возможно. Например так. Атрибут выравнивается в зависимости от угла поворота блока
Не пойму, каким образом Lookup Parameter понимает, что нужно переключиться?
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 21.11.2019, 09:46
#11
kacugu

начинающий инженер-гидротехник
 
Регистрация: 18.04.2010
Санкт-Петербург
Сообщений: 893


Цитата:
Сообщение от AlexCondor Посмотреть сообщение
Например так
Красиво сделано.
Цитата:
Сообщение от Krieger Посмотреть сообщение
Не пойму, каким образом Lookup Parameter понимает, что нужно переключиться?
Какая-то связка между "Rotate back", "Rotate in", "Rotate out", которые поворачивают друг друга.
kacugu вне форума  
 
Непрочитано 21.11.2019, 11:01
#12
AlexCondor

инженер
 
Регистрация: 03.08.2007
Сообщений: 1,326


Цитата:
Сообщение от kacugu Посмотреть сообщение
Красиво сделано.
О, да это была проба для проверки теории. Вряд-ли кого-то здесь удивишь блоком шероховатости. Просто нашел тему: Multiple Actions On Lookup Parameter. Нашел даже подобные блоки у нас в разделе скачать, (например стрелка вида от Simon0149). Захотелось проверить как это работает на практике.

Цитата:
Сообщение от Krieger Посмотреть сообщение
Не пойму, каким образом Lookup Parameter понимает, что нужно переключиться?
Там не простой Lookup Parameter, на нем висит не одна, а две таблицы. Чтобы их увидеть надо перейти в режим редактора блоков BACTIONBARMODE=0
AlexCondor вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Автоматическое изменение выравнивания атрибута блока в зависимости от положения самого атрибута

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение атрибута блока , который находится в блоке (из пространства модели) konservnii LISP 17 28.03.2017 15:22
Дописать префикс/суффикс перед/после значения атрибута блока Liam AutoCAD 7 05.10.2013 23:05
Непонятное поведение многострочного атрибута блока Нитонисе AutoCAD 2 11.09.2010 17:35
Изменить поле (формула) атрибута блока EfremenkoDO Программирование 5 08.04.2010 11:43
Изменение параметров дин блока ch-viktor Программирование 5 23.05.2008 21:38