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

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

Использование значений пользовательских параметров блоков в размерных зависимостях

Ответ
Поиск в этой теме
Непрочитано 10.10.2013, 12:44 #1
Использование значений пользовательских параметров блоков в размерных зависимостях
cathode
 
Регистрация: 10.10.2013
Сообщений: 5

доброго времени суток!

суть проблемы такова. нужно создать динамический блок со стретч ручками, в котором должны содержаться элементы опирающиеся на величины параметра блока.

например, ручками я вписываю блок в габарит дверного проема, а по соответствующим формулам высчитывается ширина и высота дверного полотна с округлением до 10мм и ширина стоевого профиля полотна, а исходя из ширины и высоты полотна обсчитывается уже дверная коробка, вписываясь вместе с полотном по центру проема.

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

с динамическими блоками я начал работать буквально вчера и столкнулся с такой вот задачей, решение которой не поднимается ни в "подробных руководствах по autocad", ни во множестве видео/текстовых уроках.
если будет необходимость, могу поделиться своим наброском.
Просмотров: 7446
 
Непрочитано 10.10.2013, 12:52
#2
twilight


 
Регистрация: 17.10.2009
Сообщений: 1,108


Цитата:
Сообщение от cathode Посмотреть сообщение
например, ручками я вписываю блок в габарит дверного проема, а по соответствующим формулам высчитывается ширина и высота дверного полотна с округлением до 10мм и ширина стоевого профиля полотна, а исходя из ширины и высоты полотна обсчитывается уже дверная коробка, вписываясь вместе с полотном по центру проема.
В свойствах параметра длины для растягивания блока задать шаг 10мм. Ручки блока будут прыгать с шагом 10мм.
twilight вне форума  
 
Автор темы   Непрочитано 10.10.2013, 13:15
#3
cathode


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


Цитата:
Сообщение от twilight Посмотреть сообщение
В свойствах параметра длины для растягивания блока задать шаг 10мм. Ручки блока будут прыгать с шагом 10мм.
суть в том, что ширина проема, увы, не столь дискретна.
я приложил к сообщению файл с блоком, над которым сейчас работаю. в данный момент ширина полотна рассчитывается исходя из параметров, которые я ввожу вручную.

думаю, правильно было бы изменяя контур проема внутри блока ручками, снимать с него нужные габариты и использовать их в дальнейшем в формулах ограничений. вот только как это реализовать - не знаю..
Вложения
Тип файла: dwg
DWG 2007
дверь.dwg (192.3 Кб, 2079 просмотров)
cathode вне форума  
 
Непрочитано 10.10.2013, 14:17
#4
twilight


 
Регистрация: 17.10.2009
Сообщений: 1,108


Цитата:
Сообщение от cathode Посмотреть сообщение
суть в том, что ширина проема, увы, не столь дискретна.
Ну и что? Ваша дверь зато дискретна. И вам нужно разместить свою дискретную дверь в проеме. Все. А вы пытаетесь через голову штаны надеть. Сначала привязочные точки на проем тянете а потом все равно дверью до ближайшего меньшего кратного 10мм отступаете. Зачем это надо? Сразу выбираете автоматом эту дверь, задав ручкам шаг и привет. Зачем куча промежуточных действий?
twilight вне форума  
 
Автор темы   Непрочитано 10.10.2013, 14:24
#5
cathode


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


twilight, без учета ширины полотна будет невозможно в автоматическом режиме определять ширину стоевой. можно, конечно, попробовать прописать все значения таблично, но для диапазона изменения ширины в метр - это, имхо, костыль.
cathode вне форума  
 
Непрочитано 10.10.2013, 14:32
#6
twilight


 
Регистрация: 17.10.2009
Сообщений: 1,108


Цитата:
Сообщение от cathode Посмотреть сообщение
twilight, без учета ширины полотна будет невозможно в автоматическом режиме определять ширину стоевой. можно, конечно, попробовать прописать все значения таблично, но для диапазона изменения ширины в метр - это, имхо, костыль.
Чертите проем 1000х1000.
Врисовываете в него свою дверь.
Делаете из полученного динамический блок с двумя stretch - по ширине и по высоте. На параметр длины stretch накладываете шаг 10мм.
Теперь натягивая свой блок с опорным проемом на реальный проем вы всегда будете иметь свою правильную кратную 10мм дверь просто потому что ручки будут прыгать через 10мм. В чем проблема?
Если вам нужны надписи на блоке показывающие габарит - вставляете в блок атрибуты с полями.

Прописывать все значения не надо. ШАГ ПРОПИШИТЕ.
Миниатюры
Нажмите на изображение для увеличения
Название: list.PNG
Просмотров: 236
Размер:	4.1 Кб
ID:	113831  
twilight вне форума  
 
Автор темы   Непрочитано 10.10.2013, 15:00
#7
cathode


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


twilight, мы говорим немного о разных вещах.
в зависимости от получившегося в процессе манипуляций ширины дверного полотна должны меняться дискретно размеры деталей. например, при ширине полотна до 600мм, ширина стоевой должна составлять 100мм; в диапазоне от 600 до 850мм - 120мм, а более - 140мм. при высоте полотна свыше 2100мм - должна появиться еще одна горизонтальная царга. и это лишь простейшая конфигурация двери.
меня интересует вопрос, озвученный в заголовке: можно ли выдергивать из параметра ширины/высоты блока значение, чтобы в дальнейшем использовать его в расчетах размеров элементов, определенных constraints'ами (не знаю название аналогичной фичи в русской версии акада)? при явном указании имени переменной в parameters manager, акад жалуется на ошибку синтаксиса или неопределенную переменную, хотя вот она в таблице, только в разделе action parameters.
cathode вне форума  
 
Непрочитано 10.10.2013, 15:26
#8
twilight


 
Регистрация: 17.10.2009
Сообщений: 1,108


Цитата:
Сообщение от cathode Посмотреть сообщение
twilight, мы говорим немного о разных вещах.
в зависимости от получившегося в процессе манипуляций ширины дверного полотна должны меняться дискретно размеры деталей. например, при ширине полотна до 600мм, ширина стоевой должна составлять 100мм; в диапазоне от 600 до 850мм - 120мм, а более - 140мм. при высоте полотна свыше 2100мм - должна появиться еще одна горизонтальная царга. и это лишь простейшая конфигурация двери.
Это нужно наверное рыть в сторону "Block Properties Table" (появилось вроде как в 2012).

Цитата:
Сообщение от cathode Посмотреть сообщение
меня интересует вопрос, озвученный в заголовке: можно ли выдергивать из параметра ширины/высоты блока значение, чтобы в дальнейшем использовать его в расчетах размеров элементов, определенных constraints'ами (не знаю название аналогичной фичи в русской версии акада)? при явном указании имени переменной в parameters manager, акад жалуется на ошибку синтаксиса или неопределенную переменную, хотя вот она в таблице, только в разделе action parameters.
Параметрика отдельно, динамика отдельно. Вместе они дышат плохо.

имхо, подобную задачу можно по-нормальному решать только внешним решателем - который по габаритам определит тип набора и вернет имя простого блока для вставки. Стандартных средств (не имею ввиду лисп) не хватает.
twilight вне форума  
 
Непрочитано 10.10.2013, 16:15
1 | #9
pan

добрый человек
 
Регистрация: 23.02.2004
Глушь
Сообщений: 971


Цитата:
Сообщение от twilight Посмотреть сообщение
Параметрика отдельно, динамика отдельно. Вместе они дышат плохо.
Разрешите с Вами не согласиться.

Цитата:
Сообщение от cathode Посмотреть сообщение
можно ли выдергивать из параметра ширины/высоты блока значение, чтобы в дальнейшем использовать его в расчетах размеров элементов
И можно, и нужно. И это очень просто.
Надо всего лишь вместо параметра растягивания в редакторе блоков поставить размерную зависимость, у нее появится ручка.
Для высоты я сделал, аналогично см. ширину, но там сложнее, надо разбираться, чего Вы там наворочали.
Вложения
Тип файла: dwg
DWG 2010
дверь.dwg (175.6 Кб, 1985 просмотров)
__________________
Правильно сформулированный вопрос содержит 90% ответа.
pan вне форума  
 
Непрочитано 10.10.2013, 16:34
#10
twilight


 
Регистрация: 17.10.2009
Сообщений: 1,108


Цитата:
Сообщение от pan Посмотреть сообщение
Разрешите с Вами не согласиться.
Ваш блок уже тупит. А там еще ничего и не реализовано. Теперь воткните туда в параметрику пяток-другой кейсов типа а=1000,1200,1600,2400 -> (b=50,60,75,125; с=0,0,0,1; ...) чтобы от габаритов менялся профиль, ставились дополнительные детали. Потом воткните в чертеж десяток-другой таких блоков и мы посмеемся.
twilight вне форума  
 
Непрочитано 10.10.2013, 16:46
#11
pan

добрый человек
 
Регистрация: 23.02.2004
Глушь
Сообщений: 971


Цитата:
Сообщение от twilight Посмотреть сообщение
Ваш блок уже тупит. А там еще ничего и не реализовано.
Опять я с Вами не согласен: 1 - блок не мой, 2 - там наоборот слишком много всего реализовано, его надо упрощать и оптимизировать.
__________________
Правильно сформулированный вопрос содержит 90% ответа.
pan вне форума  
 
Непрочитано 10.10.2013, 17:15
#12
twilight


 
Регистрация: 17.10.2009
Сообщений: 1,108


Цитата:
Сообщение от pan Посмотреть сообщение
Опять я с Вами не согласен: 1 - блок не мой, 2 - там наоборот слишком много всего реализовано, его надо упрощать и оптимизировать.
Самозародился из слизи
Я лично, буде мне впилось такое делать, сделал бы по тому пути который говорил выше - есть всего несколько комбинаций конструктива на все проемы - сделал бы на каждый конструктив свой блок с растяжением по высоте и ширине с заданными для страховки ограничениями параметра длины по размерам (т.е. H=1200-1400 D=800-900 шаг 10) и далее по таблице соответствия LxH тупо вставлялся бынужный тип блока. Просто, быстро и надежно. А вся эта попытка натянуть сову параметрикой на случайную фигуру неэффективна.
twilight вне форума  
 
Непрочитано 11.10.2013, 09:45
1 | #13
pan

добрый человек
 
Регистрация: 23.02.2004
Глушь
Сообщений: 971


Цитата:
Сообщение от twilight Посмотреть сообщение
Самозародился из слизи
Ф-у-у-у...Батенька, перечитайте еще раз тему с начала. Здесь cathode выложил блок двери (и походу Вы его напугали и он свалил), в котором я удалил параметр растяжения и заменил его одной размерной зависимостью. Тормозил этот блок изначально. Почему, я не разбирался.

Цитата:
Сообщение от twilight Посмотреть сообщение
Я лично, буде мне впилось такое делать, сделал бы по тому пути который говорил выше - есть всего несколько комбинаций конструктива на все проемы - сделал бы на каждый конструктив свой блок с растяжением по высоте и ширине с заданными для страховки ограничениями параметра длины по размерам (т.е. H=1200-1400 D=800-900 шаг 10) и далее по таблице соответствия LxH тупо вставлялся бынужный тип блока. Просто, быстро и надежно. А вся эта попытка натянуть сову параметрикой на случайную фигуру неэффективна.
Да, Ваше решение неплохое. Для AutoCAD 2006.
Offtop: Предположу, что Вам просто стыдно признаться, что Вы не знали о способе решения проблемы, предложенном мною, и теперь Вы будете отстаивать свой метод до победного конца.
А об неэффективности параметризации в AutoCAD лучше расскажите руководству Autodesk (могу подсказать пару телефончиков).
А я, увольте, с Вами баттл устраивать не собираюсь.
__________________
Правильно сформулированный вопрос содержит 90% ответа.
pan вне форума  
 
Автор темы   Непрочитано 15.10.2013, 13:50
#14
cathode


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


pan, спасибо, это решение описанной проблемы.
но оно не работает, если при изменении габаритов необходимо еще наполнять блок массивом объектов. в данном случае от использования параметров никуда не деться.

странно, что акад позволяет использовать либо параметры, либо зависимости внутри блока.. либо и то и другое, но не связывая их значения. т.е., в моем случае, кручу/верчу/тяну габариты блока и элементов constraints параметрами, а ручками action параметров уже рулю массивом.
и вдвойне удивительно, что все эти фичи в хэлпе никак не затрагиваются, все приходится исследовать методом тыка.
cathode вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Использование значений пользовательских параметров блоков в размерных зависимостях



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Использование блоков в моделировании объектов gesper AutoCAD 5 10.02.2012 18:03
Тормозит команда расчленения набора блоков batmax Программирование 4 31.08.2010 17:37