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

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

Кирпичная кладка. Как осуществить регулировку видимости в зависимости от линейного параметра?

Ответ
Поиск в этой теме
Непрочитано 27.11.2024, 11:40 #1
Кирпичная кладка. Как осуществить регулировку видимости в зависимости от линейного параметра?
gumel
 
Регистрация: 20.04.2011
Сообщений: 480

Делаю динамический блок плана кирпичной кладки. На данный момент сделал три варианта этого блока, а хотелось бы сделать один.

Из скриншота всё должно быть понятно:

Нажмите на изображение для увеличения
Название: Снимок экрана 2024-11-27 150512.png
Просмотров: 127
Размер:	103.3 Кб
ID:	265647

Блок 1 - выполняется растяжение с шагом 260 мм, есть возможность регулировки видимости половинок
Блок 2 (похож на 1) - выполняется растяжение с шагом 260 мм, есть возможность регулировки видимости половинок
Блок 3 - выполняется растяжение с шагом 130 мм, но нет возможности регулировки видимости половинок (сымитировал рисование кирпичей заливкой)

Хотелось бы сделать блок с шагом растяжения 130 мм и с возможностью регулировки видимости половинок.

Функционала 1 и 2 блока достаточно для того чтобы нарисовать любую кладку (ну или почти любую). Но их неудобно применять, так например, при длине стены 640 мм нужен первый блок, при длине стены 770 - второй и т.д.
Можно ли сделать такой блок в котором автоматически изменялась видимость элементов в зависимости от значения линейного параметра? Либо быть может возможно нужно использовать параметрические зависимости?

Процедура растяжения в третьем варианте этого блока выполняется корректно (с шагом 130 мм), но я не знаю как можно реализовать изменение видимости половинок..

Есть какие-нибудь идеи, как это изящно выполнить?

Вложения
Тип файла: dwg
DWG 2018
Динамический блок кирпичной кладки.dwg (154.0 Кб, 21 просмотров)

Просмотров: 2168
 
Непрочитано 27.11.2024, 13:22
1 | #2
Demonakor


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


У меня вышло вот так
Миниатюры
Нажмите на изображение для увеличения
Название: GIF 27.11.2024 13-17-00.gif
Просмотров: 95
Размер:	379.6 Кб
ID:	265653  
Вложения
Тип файла: dwg
DWG 2013
Кладка.dwg (120.6 Кб, 27 просмотров)
Demonakor вне форума  
 
Автор темы   Непрочитано 28.11.2024, 06:19
#3
gumel


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


Цитата:
Сообщение от Demonakor Посмотреть сообщение
У меня вышло вот так
Спасибо!
Очень интересно. Жалко что в таком блоке комбинации растягивания объектов и их размножения неизбежно образуют наложение линий.
gumel вне форума  
 
Непрочитано 28.11.2024, 09:25
#4
Demonakor


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


Наверное не "неизбежно", можно придумать и другие варианты.
Например сделать, чтобы короткий конечный блок был только один, а положение сверху или снизу ему задавать операцией отражения вручную.
Можно это отражение менять, в зависимости от длины растягивающего параметра (0-250 - сверху, 250-380 - снизу, 380-510 - сверху, 510-640 - снизу... и т.д.), но тогда надо будет сделать ограничение по длине.
Можно операцией массива размножать только длинные блоки (250 мм), выполненные с заливкой или маскировкой, а короткие в конце перемещать на заднем плане (наложение будет всего одно).
Можно в исходном варианте со штриховкой сделать дополнительные видимости, где передний и/или задний блок отсутствуют, просто из-за формы внешней полилинии (переключаться между видимостями, где короткий блок сверху и снизу придётся вручную).
Demonakor вне форума  
 
Автор темы   Непрочитано 28.11.2024, 10:54
#5
gumel


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


Цитата:
Сообщение от Demonakor Посмотреть сообщение
Можно это отражение менять, в зависимости от длины растягивающего параметра (0-250 - сверху, 250-380 - снизу, 380-510 - сверху, 510-640 - снизу... и т.д.)
Идея понятна. Только почему "отражение"?
Я почему-то думаю, что нужно менять видимость... только я в любом случае, не могу допетрить как это можно связать в блоке.

Сделал два варианта видимостей, с именами "1" и "2". Они отвечают за количество видимых кирпичей справа. Дальше заполнил таблицу в таком виде:
Нажмите на изображение для увеличения
Название: 111.png
Просмотров: 47
Размер:	109.0 Кб
ID:	265676

И дальше тупик.. Как связать таблицу с параметром видимости?
Вложения
Тип файла: dwg
DWG 2018
Wall.dwg (152.9 Кб, 9 просмотров)
gumel вне форума  
 
Непрочитано 28.11.2024, 12:14
#6
Demonakor


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


Цитата:
Сообщение от gumel Посмотреть сообщение
Идея понятна. Только почему "отражение"?
Можно видимостью, тогда надо 2 разных кирпича, можно отражением или перемещением вверх-вниз одного.
Чтобы сделать зависимость одних параметров от других нужно использовать двойной выбор. В первой таблице указываются условия (в моём примере длина менее 260 и более 260, а так же включение/отключение коротких кирпичей). Во второй таблице те параметры, которые в соответствии с этим должны переключаться (в моём примере видимости). Для этого названия строчек выбора должны совпадать в 1 и 2 таблицах (причём если надо - несколько строчек может быть с одинаковым названием, и количество строк может быть разным).
Demonakor вне форума  
 
Автор темы   Непрочитано 28.11.2024, 13:10
#7
gumel


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


Цитата:
Сообщение от Demonakor Посмотреть сообщение
Чтобы сделать зависимость одних параметров от других нужно использовать двойной выбор
даа, это точно не для средних умов.

Первый функционал с изменением видимости от длины стенки получилось реализовать:

Wall new.dwg

Открыл для себя новые возможности. Спасибо!


Осталось придумать как управлять видимостью половинок в таком продвинутом блоке
gumel вне форума  
 
Непрочитано 28.11.2024, 13:15
#8
Demonakor


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


Цитата:
Сообщение от gumel Посмотреть сообщение
Осталось придумать как управлять видимостью половинок в таком продвинутом блоке
Так же, как у меня в первом примере. Создать все возможные варианты видимости и переключаться между ними.
Demonakor вне форума  
 
Автор темы   Непрочитано 29.11.2024, 05:19
#9
gumel


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


Цитата:
Сообщение от Demonakor Посмотреть сообщение
Так же, как у меня в первом примере. Создать все возможные варианты видимости и переключаться между ними.
Кирпичи справа реализовал всё-таки через отражение, а через видимость реализовал отображение половинок. Стенка работает вполне неплохо.
К минусам реализации подобного блока наверное можно отнести ввод огромной таблицы (хотелось бы функционал с формулами)
Ну и один кирпичик дублируется через раз
Вложения
Тип файла: dwg
DWG 2018
Wall final.dwg (135.9 Кб, 8 просмотров)
gumel вне форума  
 
Непрочитано 29.11.2024, 11:11
#10
Demonakor


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


Ну да, тут уж либо ручной ввод и предельная длина, либо наложение и бесконечность.
От оставшегося наложения легко избавится созданием двух независимых массивов для верхних и нижних кирпичей (отзеркаливаться справа будет только короткий).
Demonakor вне форума  
 
Автор темы   Непрочитано 29.11.2024, 11:34
#11
gumel


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


Итак, раскусил прелесть использования "зеркальных ручек", которые можно использовать много для чего, в том числе и для управления видимости.

Усложнил свой блок, преследуя две цели:
- хотел убрать наложение полилиний внутри блока;
- хотел сделать более удобным включение и выключение половинок.

В итоге блок "сломался" , не могу теперь понять как собрать всё в одну кучу... Делать тройной выбор что-ли?
Вложения
Тип файла: dwg
DWG 2018
Wall not final.dwg (120.7 Кб, 5 просмотров)
gumel вне форума  
 
Непрочитано 29.11.2024, 11:43
#12
Demonakor


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


Какая-то мешанина выходит. Не надо убирать длинный правый блок видимостью - просто добавить новый линейный параметр для управления вторым массивом (не забыть включить цепочку операций, чтобы он управлялся основным размером), иначе слишком уж много условий надо вводить.
Demonakor вне форума  
 
Автор темы   Непрочитано 29.11.2024, 12:28
#13
gumel


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


Цитата:
Сообщение от Demonakor Посмотреть сообщение
Не надо убирать длинный правый блок видимостью - просто добавить новый линейный параметр для управления вторым массивом
Ну ок, сделал так. Видимостей стало меньше. Только всё равно что-то делаю не так...
Вложения
Тип файла: dwg
DWG 2018
Wall not final правка.dwg (157.8 Кб, 7 просмотров)
gumel вне форума  
 
Непрочитано 29.11.2024, 12:42
#14
Demonakor


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


Так нет - не надо во второй таблице прописывать условия (включения/выключения) коротких кирпичей - только их видимости и отзеркаливание правого (плюс правильно назвать строки, чтобы при нужном наборе условий из 1 таблицы активировалась только одна строка из 2 таблицы).

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

Последний раз редактировалось Demonakor, 29.11.2024 в 13:47.
Demonakor вне форума  
 
Автор темы   Непрочитано 29.11.2024, 18:09
#15
gumel


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


Demonakor, спасибо, что помогаешь!

Цитата:
Сообщение от Demonakor Посмотреть сообщение
Так нет - не надо во второй таблице прописывать условия (включения/выключения) коротких кирпичей - только их видимости и отзеркаливание правого (плюс правильно назвать строки, чтобы при нужном наборе условий из 1 таблицы активировалась только одна строка из 2 таблицы).
Так, ну тогда же первая таблица будет огромной? Размерность таблицы получится как количество вариантов длин * на количество видимостей. Верно?

Я пытаюсь пойти другим, оптимальным путем.

Я сделал два двойных параметра (!)
В первом я регулирую зеркалирование правого кирпичика, а во втором видимость половинок.

При этом, всё работает.
Ну почти. Не могу понять почему, но при изменении длины стенки, видимость половинок сбрасывается, и они становятся вилимыми

-------

и еще, подскажи пожалуйста: что означает запись "[260,)" и "(,260)" в твоей таблице с длинами?
Вложения
Тип файла: dwg
DWG 2004
Wall почти работает.dwg (147.7 Кб, 9 просмотров)
gumel вне форума  
 
Непрочитано 30.11.2024, 03:46
#16
Demonakor


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


Цитата:
Сообщение от gumel Посмотреть сообщение
Я сделал два двойных параметра (!)
В первом я регулирую зеркалирование правого кирпичика, а во втором видимость половинок.
Да, после я про это и писал. Если не нужно расстояние 250 (при котором видимостью надо скрывать верхний длинный кирпич), то в 1 таблице первого параметра выбора задаётся набор расстояний, а во 2 таблице - 2 варианта положения правого кирпича (прямо и зеркально). Последнюю версию блока не смотрел - может там остался столбец с видимостью, поэтому она сбрасывается при изменении длины?
В 1 таблице второго параметра указываются все возможные комбинации положения ручек для скрытия коротких кирпичей (главное не перепутать с параметром, отзеркаливающим правый кирпич), а во второй соответствующие видимости.

Цитата:
Сообщение от gumel Посмотреть сообщение
и еще, подскажи пожалуйста: что означает запись "[260,)" и "(,260)" в твоей таблице с длинами?
"Больше или равно 260" и "меньше 260". По сути это диапазон между двумя значениями с разделением в виде запятой. Ноль можно не указывать, если не указывать второе значение - значит до бесконечности. Квадратные и круглые скобки - включая и не включая само значение.
Demonakor вне форума  
 
Автор темы   Непрочитано 02.12.2024, 05:20
#17
gumel


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


Цитата:
Сообщение от gumel Посмотреть сообщение
Не могу понять почему, но при изменении длины стенки, видимость половинок сбрасывается, и они становятся видимыми
О, это я сам накосячил. Всё исправил. Оказывается всё очень просто:
Вложения
Тип файла: dwg
DWG 2018
Кирпичная кладка - FINAL.dwg (117.8 Кб, 13 просмотров)
gumel вне форума  
 
Непрочитано 02.12.2024, 09:39
1 | #18
Demonakor


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


Ещё поэкспериментировал - можно в таблице перечислить через запятую без скобок все нужные значения длины, тогда останется всего 2 строки.

PS: Сделал бесконечный вариант с зависимостями.
Вложения
Тип файла: dwg
DWG 2013
Кладка (зависимости).dwg (123.3 Кб, 14 просмотров)

Последний раз редактировалось Demonakor, 02.12.2024 в 15:13.
Demonakor вне форума  
 
Автор темы   Непрочитано 03.12.2024, 06:10
#19
gumel


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


Demonakor, ты суперпилот. Мегакруто!

Очень полезный пример с формулами, спасибо!

Прям так и напрашивается внутри блоков чтобы была возможность писать мини код, с доступом к свойствам примитивов в зависимости от внешних параметров. Это сильно упростит создание блоков и заметно расширит их функционал
gumel вне форума  
 
Непрочитано 03.12.2024, 08:35
#20
elovkov

ПОС наше всё
 
Регистрация: 06.08.2009
Симферополь
Сообщений: 261


Надо еще шовчик учесть, чтобы друг на друга складывать)
__________________
Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица
elovkov вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Кирпичная кладка. Как осуществить регулировку видимости в зависимости от линейного параметра?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализовать зависимость параметра видимости от значения атрибута? rostyan Динамические блоки 4 17.07.2021 23:02
Как устроена свисающая кирпичная кладка в данном случае ,какое армирование (норматив)? Сергулька515 Каменные и армокаменные конструкции 0 30.07.2018 17:27
Кирпичная кладка с уширенным швом: в какой части к ней применяется Свод правил СП 15.13330.2012? Хрюндель Каменные и армокаменные конструкции 10 31.01.2018 21:51
Управление параметром видимости дин. блока через sheetset custom properties Red Nova AutoCAD 12 25.06.2008 13:44
фигурная кирпичная кладка stepnoi Прочее. Архитектура и строительство 83 10.05.2007 10:56