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

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

Как управлять извне вложенными динамическими блоками с помощью пользовательских переменных?

Ответ
Поиск в этой теме
Непрочитано 12.06.2016, 13:58 #1
Как управлять извне вложенными динамическими блоками с помощью пользовательских переменных?
Кондратий Тихонович
 
Регистрация: 06.06.2016
Сообщений: 327

У меня в блок X вложено 3 динамических блока A,B и C.
Хотелось бы в чертеже, где используется X, чтобы когда я меняю значения параметров X автоматом менялись внутренние динамические блоки A,B и C.

К примеру
ширину A задать внутри X выражение ШИР+2,
ширину B задать внутри X выражением ШИР+2*с
ширину C задать внутри X выражением ШИР+2*e

Где ШИР, с и e - пользовательские параметры блока X.

И чтобы когда я в чертеже изменю ШИР блоки A, B и С автоматом перерисовались в соответствии с этим.

Но почему то в окне свойств дин. блоков я не могу задавать выражения. Или там можно только числа вводить?

А как же тогда сделать, чтобы вложенные динамические блоки АВТОМАТИЧЕСКИ менялись?
Просмотров: 13405
 
Непрочитано 12.06.2016, 15:09
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
А как же тогда сделать, чтобы вложенные динамические блоки АВТОМАТИЧЕСКИ менялись?
Не делать их вложенными блоками.
Boxa на форуме  
 
Автор темы   Непрочитано 12.06.2016, 15:11
#3
Кондратий Тихонович


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


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

----- добавлено через ~3 мин. -----
Цитата:
Сообщение от Boxa Посмотреть сообщение
Не делать их вложенными блоками.
Я бы рад. Но просто у меня блоки состоят из одних и тех же типовых элементов, различающихся только размерами.
Поэтому вполне естественно возникло желание оформить эти типовые элементы в виде вложенных динамических блоков. И настраивать параметры этих вложенных блоков извне, "по месту".

----- добавлено через ~5 мин. -----
Boxa
А если дин. блок не вложенный можно в нем его параметры задавать в виде математической формулы из других переменных?

Последний раз редактировалось Кондратий Тихонович, 12.06.2016 в 15:18.
Кондратий Тихонович вне форума  
 
Непрочитано 14.06.2016, 09:10
#4
Geor9e

инженер-обструктор
 
Регистрация: 20.04.2016
Сообщений: 162


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
чтобы значения видимых извне параметров динамического блока задавались математическими выражениями из переменных, которые видимы в свойствах охватываемого/внешнего блока
это невозможно, AutoCAD таких средств не предоставляет (во всяком случае, штатных). Вообще, вставлять одни _динамические_ блоки в другие динамические блоки – дело бессмысленное, поскольку параметрами вложенного блока нельзя управлять для каждого конкретного вхождения, то есть, вложенный динамический блок перестаёт быть динамическим (в описание внешнего блока вставляется конкретное вхождение вложенного, и регулируется оно только из редактора блоков)

Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
А если дин. блок не вложенный можно в нем его параметры задавать в виде математической формулы из других переменных
размерные параметры да, динамические нет, впрочем, на динамические параметры можно цеплять несколько в том числе разных операций, устанавливая различные коэффициенты и угловые смещения, а параметр изменять один и тот же, но вряд ли эта информация как-то пригодится, а вообще-то лучше сразу на файл смотреть
Geor9e вне форума  
 
Автор темы   Непрочитано 14.06.2016, 18:41
#5
Кондратий Тихонович


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


Цитата:
Сообщение от Geor9e Посмотреть сообщение
Вообще, вставлять одни _динамические_ блоки в другие динамические блоки – дело бессмысленное
Не так. Я вставляю динамические блоки в статические блоки. Но менять "начинку" статического блока хочу не входя в его редактирование. И причем автоматом. Просто задавая математические формулы из внешних переменных.


Цитата:
Сообщение от Geor9e Посмотреть сообщение
это невозможно, AutoCAD таких средств не предоставляет
Очень жаль. Казалось бы: самые элементарные вещи с чего начинается хоть сколько то серьёзная автоматизация отслеживания зависимостей и параметризации.

А какие-то другие продукты Autodesk предоставляют?
Или надо переходить на CATIA и т.п. "тяжеловесные" САПР?
Кондратий Тихонович вне форума  
 
Непрочитано 14.06.2016, 19:01
#6
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Очень жаль. Казалось бы: самые элементарные вещи с чего начинается хоть сколько то серьёзная автоматизация отслеживания зависимостей и параметризации.
Именно что казалось. Это не элементарные вещи, да и акад под это не заточен, нет у него такой задачи.
Если хочется автоматизации, то добро пожаловать в мир ЯП и тут море вариантов, от преобразования внешнего вида уже имеющихся примитивов и боков (именно внешенего вида, суть не поменяется), до собственных объектов с любой логикой поведения(как небольшой пример: http://forum.dwg.ru/showthread.php?t=131224&page=2). Было бы желание.
Boxa на форуме  
 
Автор темы   Непрочитано 14.06.2016, 20:38
#7
Кондратий Тихонович


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
да и акад под это не заточен, нет у него такой задачи.
А, стесняюсь спросить, какие у него задачи?
Кондратий Тихонович вне форума  
 
Непрочитано 15.06.2016, 05:09
#8
Psyakrev


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


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
А, стесняюсь спросить, какие у него задачи?
AutoCAD - Computer Aided-Design же, компьютерная чертилка, электронный кульман, по сути
Psyakrev вне форума  
 
Непрочитано 15.06.2016, 06:26
#9
max4airkin


 
Регистрация: 26.03.2015
Екатеринбург
Сообщений: 382


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Я вставляю динамические блоки в статические блоки
А нельзя статический блок сделать динамическим, а на всю геометрию в нем наложить необходимые параметры и управлять ими через свойства вхождения этого блока? Для той цели, что заявлена в первом посте я бы такое решение и принял. В чем смысл создания блока из блоков? Геометрия с полным комплектом наложенных геометрических и размерных ограничений ведет себя вполне похоже на блок.
max4airkin вне форума  
 
Непрочитано 15.06.2016, 08:39
#10
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
А, стесняюсь спросить, какие у него задачи?
Как я понимаю, обеспечить базовый функционал электронного кульмана, быть платформой для САПР (Civil3D, ADT, Map, ASD, AMD и других) и приносить максимальную прибыль при минимальных издержках. Отсюда вывод: нужно что-то специфическое, ищите в САПР пакетах или разрабатывайте сами.

Цитата:
Сообщение от max4airkin Посмотреть сообщение
А нельзя статический блок сделать динамическим, а на всю геометрию в нем наложить необходимые параметры и управлять ими через свойства вхождения этого блока?
Примерно то же самое я написал во втором сообщение, но это не подходит....
Boxa на форуме  
 
Непрочитано 15.06.2016, 09:39
#11
max4airkin


 
Регистрация: 26.03.2015
Екатеринбург
Сообщений: 382


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Но просто у меня блоки состоят из одних и тех же типовых элементов, различающихся только размерами.
Да, не заметил. А типовыми элементами в блоках кто управляет?
Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
А если дин. блок не вложенный можно в нем его параметры задавать в виде математической формулы из других переменных?
Если геометрию "типовых элементов" параметризовать внутри блока и задать некий параметр Х, который будет участвовать в размерных ограничениях этой геометрии, тогда можно вывести для пользователя только этот параметр. Понятно ли написал?
Скажем, в блоке есть круг диаметром d1=15*Х и прямоугольник с размерами A=d1+X и B=sqrt(A+X). Центр круга в точке 0,0, прямоугольник привязян одной из вершин к центру круга, стороны его вертикальны и горизонтальны. Т.о геометрия полностью определена.
Тогда можно в свойства блока вывести только этот параметр Х.
Я не вижу различий в поведении такой конструкции и той, что хотел ТС в первом сообщении.
max4airkin вне форума  
 
Непрочитано 15.06.2016, 17:05
#12
kp+

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


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Как управлять извне вложенными динамическими блоками с помощью пользовательских переменных?
Как уже сказано, дин. блоки внутри других блоков теряют все дин. свойства

Цитата:
А если дин. блок не вложенный можно в нем его параметры задавать в виде математической формулы из других переменных?
Штатно, как уже сказано выше - нет. Но если Акад полновесный (не LT) и нет аллергии на программирование - можно попробовать сделать это программно. Средства здесь: http://autolisp.ru/2014/06/27/dynblocks-parameters/

Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
К примеру
ширину A задать внутри X выражение ШИР+2,
ширину B задать внутри X выражением ШИР+2*с
ширину C задать внутри X выражением ШИР+2*e

Где ШИР, с и e - пользовательские параметры блока X.

И чтобы когда я в чертеже изменю ШИР блоки A, B и С автоматом перерисовались в соответствии с этим.

Но почему то в окне свойств дин. блоков я не могу задавать выражения. Или там можно только числа вводить?

А как же тогда сделать, чтобы вложенные динамические блоки АВТОМАТИЧЕСКИ менялись?
Лично у меня на абстрактные постановки задачи аллергия еще со школы Неплохо бы видеть пример файла DWG, где показано что есть и что именно надо сделать.

Последний раз редактировалось kp+, 15.06.2016 в 17:12.
kp+ вне форума  
 
Автор темы   Непрочитано 18.06.2016, 15:12
#13
Кондратий Тихонович


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


Цитата:
Сообщение от max4airkin Посмотреть сообщение
В чем смысл создания блока из блоков?
В том, что блоки внутри разных блоков повторяются. Точнее говоря они похожие по структуре. Различаются только размерами И/ИЛИ формой. Не хотелось бы их заново рисовать каждый раз и адаптировать вручную.

----- добавлено через ~7 мин. -----
Цитата:
Сообщение от Boxa Посмотреть сообщение
Примерно то же самое я написал во втором сообщение, но это не подходит.
Именно так. Не хотелось бы в каждом блоке городить огород из примитивов и "глупых" (т.е. статических, а значит не имеющих настроек) блоков. Это усложнит работу и увеличит её объем.

Для упрощения работы хотелось бы иметь более крупные и "умные" компоненты: динамические блоки. Но не просто динамические блоки, а такие, параметры которых можно менять и в охватываемом блоке не входя в него. Причем автоматически. Просто задавая формулу из глобальных параметров.

----- добавлено через ~2 мин. -----
А с помощью ЛИСПа можно "достучаться" до параметров вложенных динамических блоков?
Например используя составные имена.

Типа такого
Код:
[Выделить все]
Block1.Block_A.диаметр = макс.диаметр-6
----- добавлено через ~6 мин. -----
Цитата:
Сообщение от max4airkin Посмотреть сообщение
Если геометрию "типовых элементов" параметризовать внутри блока и задать некий параметр Х, который будет участвовать в размерных ограничениях этой геометрии, тогда можно вывести для пользователя только этот параметр. Понятно ли написал?
Скажем, в блоке есть круг диаметром d1=15*Х и прямоугольник с размерами A=d1+X и B=sqrt(A+X). Центр круга в точке 0,0, прямоугольник привязян одной из вершин к центру круга, стороны его вертикальны и горизонтальны. Т.о геометрия полностью определена.
Тогда можно в свойства блока вывести только этот параметр Х.
Я не вижу различий в поведении такой конструкции и той, что хотел ТС в первом сообщении.
Различие заключается в том, что блок, у которого в палитре свойств есть параметр X, ВЛОЖЕНН в некий блок Y.
А в палитре свойств Y параметра X я не увижу.
Чтобы его увидеть я должен буду для КАЖДОГО из нескольких десятков блоков, в которые вложен блок с параметром X, войти в режим редактора блоков и ВРУЧНУЮ ввести нужное мне значение X.
Вот что мне не нравится

----- добавлено через ~7 мин. -----
Цитата:
Сообщение от kp+ Посмотреть сообщение
Как уже сказано, дин. блоки внутри других блоков теряют все дин. свойства
Я это заметил. Когда пробовал импортировать чертеж в PCAD через DXF

Последний раз редактировалось Кондратий Тихонович, 18.06.2016 в 15:28.
Кондратий Тихонович вне форума  
 
Непрочитано 20.06.2016, 08:50
#14
kp+

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


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Различие заключается в том, что блок, у которого в палитре свойств есть параметр X, ВЛОЖЕНН в некий блок Y.
А в палитре свойств Y параметра X я не увижу.
Чтобы его увидеть я должен буду для КАЖДОГО из нескольких десятков блоков, в которые вложен блок с параметром X, войти в режим редактора блоков и ВРУЧНУЮ ввести нужное мне значение X.
Вот что мне не нравится
Примера DWG мы, кажется, не увидим
kp+ вне форума  
 
Автор темы   Непрочитано 25.06.2016, 13:28
#15
Кондратий Тихонович


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


Цитата:
Сообщение от kp+ Посмотреть сообщение
Примера DWG мы, кажется, не увидим
Ну почему же.
Увидите.
Во вложении (10 Мб) RAR-архив, в котором DWG-файл, выполненный в автокад 2012 + надстройка "Electrical" и видео, снятое с экрана (10 минут, выполненное программой UV Screen Camera), на которых видны мои попытки

Последний раз редактировалось Кондратий Тихонович, 25.06.2016 в 19:14.
Кондратий Тихонович вне форума  
 
Непрочитано 25.06.2016, 23:33
#16
kp+

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


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Во вложении (10 Мб) RAR-архив, в котором DWG-файл, выполненный в автокад 2012 + надстройка "Electrical" и видео, снятое с экрана (10 минут, выполненное программой UV Screen Camera), на которых видны мои попытки
----
Последний раз редактировалось Кондратий Тихонович, сегодня в 18:14.
Где вложение? Не добавилось к сообщению? Тогда Вам сюда: Как добавить вложение в сообщение?
Или уже удалено? Тогда нечего сказать.

Последний раз редактировалось kp+, 25.06.2016 в 23:39.
kp+ вне форума  
 
Непрочитано 26.06.2016, 15:43
#17
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Boxa на форуме  
 
Непрочитано 26.06.2016, 15:52
#18
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,407


Offtop: Он некорректно вложение добавил, к сообщению не прикрепил. Неприкрепленные вложения автоматически удаляются через некоторое время
Admin вне форума  
 
Автор темы   Непрочитано 26.06.2016, 22:25
#19
Кондратий Тихонович


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


Пробовал вложить повторно. Каждый раз сервер DWG.ru рвет закачку не позволяя до конца залить 10 мегов.
А у меня трафик не безлимитный. Весь суточный лимит потратил на попытки залить. На 3G сижу

admin

Не могли бы Вы прикрепить к моему сообщению удаленное вложение?
Оно же у Вас где-то сохранилось на серваке
Кондратий Тихонович вне форума  
 
Непрочитано 28.06.2016, 11:40
#20
kp+

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


Цитата:
Сообщение от Кондратий Тихонович Посмотреть сообщение
Пробовал вложить повторно. Каждый раз сервер DWG.ru рвет закачку не позволяя до конца залить 10 мегов.
А у меня трафик не безлимитный. Весь суточный лимит потратил на попытки залить. На 3G сижу
Для начала залейте только заархивированный DWG, явно не 10 МБ будет. Да и многотомные архивы никто не отменял.
kp+ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Как управлять извне вложенными динамическими блоками с помощью пользовательских переменных?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с помощью КЭ смоделировать упругое основание в ЛИРЕ? РастОК Лира / Лира-САПР 25 02.10.2012 09:51
Как настроить плавное движение курсора при редактировании с помощью ручек? tasia AutoCAD 9 22.06.2011 15:35
Извлечение значений атрибутов блоков AutoCAD Electrical с помощью AutoLisp zaraki_kenpachi LISP 16 19.02.2011 15:30
Моделирование расчетной схемы с помощью объемных КЭ и оболочки в SCAD. Albino SCAD 14 02.06.2010 20:58
Подскажите как построить кривую с помощью команды SPLiNE, к boban Программирование 1 02.11.2003 19:58