Мои динамические блоки [2] - Страница 160
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

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

Мои динамические блоки [2]

Закрытая тема
Поиск в этой теме
Старый 21.04.2011, 23:33
Мои динамические блоки [2]
Кулик Алексей aka kpblc
Moderator
 
LISP, C# (ACAD 200[9,12,13,14])
 
С.-Петербург
Регистрация: 25.08.2003
Сообщений: 40,411

Тема служит продолжением закрытой темы Мои динамические блоки


Спасибо VVA:
В 2010-2011-2012 в редакторе блоков при настройках по умолчанию нельзя добавлять к операциям некоторые вещи, например к операции Flip добавить Strech и т.д.
Проблема:
http://forum.dwg.ru/showpost.php?p=7...postcount=2666
Лечение:
http://forum.dwg.ru/showpost.php?p=7...postcount=2679

==================================================

Проблема:
В некоторых чертежах долго открывается редактор блоков (_bedit)
Лечение:
Проверить в блоке/блоках значение линейных параметров "Максимальное расстояние". Должно быть задано хоть какое-то значение
Блок эдитор открывает несколько минут.

__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Просмотров: 1535588
 
Старый 11.04.2016, 12:55
#3181
allrather


 
Регистрация: 27.02.2011
Минск
Сообщений: 169
Отправить сообщение для allrather с помощью Skype™


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Сообщение от art_rrc
Тогда в вашем случае (адекватное конечное кол-во полос разметки), можно создать блок с максимальным кол-вом, каждая полоса смещается операцией с соотв. коэф. расстояния, а количество регулируется большим кол-вом видимостей, с палитры свойств будет наглядно подбирать. Хотя лично я к блока с кучей видимостей отношусь не очень)
Тогда логичнее на палитру вынести семейство блоков с разным шагом.
Согласен с art_rrc, куча видимостей - это плохо.
Согласен с Сергей812, куча блоков лучше кучи видимостей (особенно, если блоки просты как валенки).

Ну а huk советую написать пару строк кода, которые будут спрашивать шаг(вводить будем с клавиатуры, каждый блок называется, например, по шагу: "200", "300", "400"...) и вставлять нужный блок.

Код:
[Выделить все]
 
Sub yonigga()
Dim strInput As String
pp = ThisDrawing.Utility.GetPoint(, "Точка вставки блока")
strInput = ThisDrawing.Utility.GetString(True, vbCr & "Шаг:")
Set objBRef = ThisDrawing.ModelSpace.insertblock(pp, strInput, 1, 1, 1, 0)
End Sub
Также можно заменять существующие блоки.
allrather вне форума  
 
Старый 11.04.2016, 13:02
#3182
huk


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


Цитата:
Сообщение от allrather Посмотреть сообщение
Ну а huk советую написать пару строк кода, которые будут спрашивать шаг(вводить будем с клавиатуры, каждый блок называется, например, по шагу: "200", "300", "400"...) и вставлять нужный блок.

Код:
[Выделить все]
1
Sub yonigga()
2
Dim strInput As String
3
pp = ThisDrawing.Utility.GetPoint(, "Точка вставки блока")
4
strInput = ThisDrawing.Utility.GetString(True, vbCr & "Шаг:")
5
Set objBRef = ThisDrawing.ModelSpace.insertblock(pp, strInput, 1, 1, 1, 0)
6
End Sub
Также можно заменять существующие блоки.
Спасибо за ответ.
К сожалению, я даже примерно не представляю, что делать с вашим кодом.
huk вне форума  
 
Старый 11.04.2016, 13:33
#3183
art_rrc


 
Регистрация: 28.01.2013
Минск
Сообщений: 375


Я в своей жизни не часто видел зебры с разным шагом между полосками, могу даже предположить, что никогда. Вот набросал суть того, что имел ввиду(изменение кол-ва добавить видимостью).
Вложения
Тип файла: dwg
DWG 2010
Чертеж1.dwg (55.6 Кб, 79 просмотров)
art_rrc вне форума  
 
Старый 11.04.2016, 13:49
1 | #3184
allrather


 
Регистрация: 27.02.2011
Минск
Сообщений: 169
Отправить сообщение для allrather с помощью Skype™


Цитата:
Сообщение от huk Посмотреть сообщение
Есть динамический блок с вертикальными элементами. Я задал между этими элементами шаг допустим 200мм. Пытался добавить операцию массива, но массив постоянно привязывается к шагу между элементами. Как сделать, что если я меняю шаг допустим на 300, то массив работал корректно?
У тебя не получится так сделать. Нельзя создавать в динамике массив, в котором можно потом будет менять шаг. Придется создавать несколько блоков, один блок под один шаг. А потом просто вставлять по необходимости. Для того, чтобы упростить последнее действие, я и прикрепил код.
allrather вне форума  
 
Старый 11.04.2016, 14:09
#3185
xmih


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


Сколько вариантов углов у зебры?
Что то подозреваю, можно обойтись массивом без блоков. Просто запомнить 3-4 шага для разных углов и всё.
xmih вне форума  
 
Старый 19.04.2016, 12:45
#3186
alpilkin


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


Добрый день.
Уважаемые форумчане, помогите побороть динамический блок.

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

Требуется разворот текста на 180 градусов при повороте блока в пределах (90-270)градусов
как текст в размерах

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

Никак не могу связать два действия при достижении условий у первого
Если ставить цепочку у поворота текста, то он начинает поворачиваться сразу же после начала первого поворота.

Как с этим бороться?
В поиске ответа не нашел. Извиняюсь если такое уже было

Заранее спасибо
Вложения
Тип файла: dwg
DWG 2004
Drawing1.dwg (62.4 Кб, 40 просмотров)
alpilkin вне форума  
 
Старый 19.04.2016, 13:08
#3187
Krieger

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


Так?
Вложения
Тип файла: dwg
DWG 2007
Drawing1.dwg (88.7 Кб, 86 просмотров)
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Старый 19.04.2016, 13:21
#3188
alpilkin


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


Абсолютно
Спасибо огромное
Но как это делается?

----- добавлено через ~1 мин. -----
Все кажется догнал
Все гениальное просто
alpilkin вне форума  
 
Старый 19.04.2016, 13:30
#3189
ArtyLight

Инженер
 
Регистрация: 11.07.2013
Пермь
Сообщений: 62


Цитата:
Сообщение от alpilkin Посмотреть сообщение
Все кажется догнал
И каким образом это делается, тоже интересно?)
ArtyLight вне форума  
 
Старый 19.04.2016, 13:35
#3190
alpilkin


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


Если нужно поведение текста как в размере, то...
нужно взять размер, отключить все лишнее (все кроме текста) и прописать необходимый текст!!!
и текст будет себя вести как в размере
ГЕНИАЛЬНО!!!!
alpilkin вне форума  
 
Старый 19.04.2016, 13:38
#3191
ArtyLight

Инженер
 
Регистрация: 11.07.2013
Пермь
Сообщений: 62


Да, уже разобрался, повернутый размер )
ArtyLight вне форума  
 
Старый 20.04.2016, 10:25
#3192
Geor9e

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


Здравствуйте!
Столкнулся со следующей проблемой: как применить параметрическую зависимость для элемента массива (внутри массива)? Я раньше думал, что это невозможно, но один раз у меня это получилось случайно, правда, файл чистить было лень, я его удалил и создал по новой. И вот второй раз оно уже не заработало.
Зачем: создаю динамический блок присоединительного фланца согласно ГОСТ 12820-80, на нём в зависимости от ДУ меняется диаметр, на котором расположены отверстия, а также диаметр самих отверстий и их количество. Отверстия создал с помощью ассоциативного массива по траектории, и мне удалось добиться того, чтобы нужным образом менялось количество отверстий (метод — поделить, количество элементов — пользовательская переменная, значения которой прописаны в таблице свойств блока) и диаметр расположения отверстий (наложена зависимость на круг, который является траекторией), но не диаметр самого отверстия: при создании массива любая зависимость преобразуется в числовое значение, то же самое — при редактировании уже созданного элемента массива. Но у меня это уже работало! Повторить успех почему-то не удалось пока. Спасите-помогите!
Пожалуйста, не пытайтесь предлагать альтернативные решения (с помощью видимостей и т. д.), поскольку я про них и сам догадался вопрос именно в том, как параметризовать элемент массива. Спасибо
Geor9e вне форума  
 
Старый 20.04.2016, 13:46
#3193
Fiz


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


А атрибут также можно?
Fiz вне форума  
 
Старый 20.04.2016, 17:13
#3194
Geor9e

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


Цитата:
Сообщение от huk Посмотреть сообщение
Есть динамический блок с вертикальными элементами. Я задал между этими элементами шаг допустим 200мм. Пытался добавить операцию массива, но массив постоянно привязывается к шагу между элементами. Как сделать, что если я меняю шаг допустим на 300, то массив работал корректно?
Если честно, я не очень понял вашу задачу, но если я понял правильно, вам нужен массив с меняющимся шагом/количеством элементов, это возможно следующим образом: нужно создать пользовательскую переменную (в диспетчере параметров или в таблице блоков), а при создании массива в нужное поле вписать не число, а имя этой переменной, и это работает

Последний раз редактировалось Geor9e, 21.04.2016 в 09:09. Причина: Добавил, кому отвечаю
Geor9e вне форума  
 
Старый 21.04.2016, 06:51
#3195
max4airkin


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


Цитата:
Сообщение от Geor9e Посмотреть сообщение
вопрос именно в том, как параметризовать элемент массива.
Точнее как заставить меняться исходный элемент массива внутри блока. Можно через параметры управлять массивом, но не элементом внутри него.
Бился над такой задачей, но пока не смог решить.
max4airkin вне форума  
 
Старый 21.04.2016, 13:45
#3196
Geor9e

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


Цитата:
Сообщение от allrather Посмотреть сообщение
У тебя не получится так сделать. Нельзя создавать в динамике массив, в котором можно потом будет менять шаг. Придется создавать несколько блоков, один блок под один шаг. А потом просто вставлять по необходимости. Для того, чтобы упростить последнее действие, я и прикрепил код.
вы не правы, можно создать такой массив без применения lisp'ов
Geor9e вне форума  
 
Старый 21.04.2016, 17:50
#3197
Eartus


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


День добрый, нужна помощь в настройке двух блоков,
1) Создал блок с мультивыноской в нем, добавил функцию "выравнивание" и теперь при вставки блока к примеру на вертикальную линию, блок вместе с МВыноской поворачивается на 90" (фото 1), собственно вопрос, как оставить выравнивание для всех элементов кроме мультивыноски?, у Мвыноски есть еще ручки что бы таскать по экрану, и намертво замораживать тоже не хотелось бы, ковырялся с "зависимостями" но безрезультатно.
2) Во втором блоке добавил функцию массив, и хочется заставить "растягиваться" массив по траектории, к примеру ряд розеток идет по прямой (фото 2) и поворачивает с необходимым отступом (фото 3)
3) И еще одна идея с массивом в блоке и функцией "выбор", добавил два вида розеток в один блок, и при "растягивании" массива на все элементы блока действует одна ручка для выбора, и тут вопрос, как сделать что бы при "растягивании" массива у каждого элемента блока были свои ручки? (фото 4), как к примеру если вставить один блок, и "раскопировать" его массивом.

Прикладываю файл с моими наработками (акад 2016), надеюсь на вашу помощь или критику
Миниатюры
Нажмите на изображение для увеличения
Название: 4.png
Просмотров: 83
Размер:	32.9 Кб
ID:	169213  Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 61
Размер:	16.1 Кб
ID:	169214  Нажмите на изображение для увеличения
Название: 2.png
Просмотров: 63
Размер:	15.7 Кб
ID:	169215  Нажмите на изображение для увеличения
Название: 3.png
Просмотров: 51
Размер:	14.6 Кб
ID:	169216  
Вложения
Тип файла: dwg
DWG 2013
ДБлок.dwg (806.4 Кб, 61 просмотров)
Eartus вне форума  
 
Старый 27.04.2016, 12:37
#3198
quazi


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


Не могу решить простую задачу.
Параллелепипед определяется тремя входными параметрами- размерами. Нужно сделать блок с выбором из трех видов отображения (Сверху, спереди и сбоку) и выбором из предопределенных наборов размеров.
Таким образом на каждом из выбранных видов должен выглядеть как прямоугольник, определенный парой параметров, НО нужно сохранить возможность деформации ручками.
Если делать 3 видимости, геом. зависимости и таблицу параметров -то не получается оставить ручки.
Если делать через параметры+действия и таблицу выбора -то приходится дублировать один параметр, который после деформации ручкой конечно же не синхронизируется с дублем.
Как можно решить задачу?
quazi вне форума  
 
Старый 27.04.2016, 13:17
1 | #3199
art_rrc


 
Регистрация: 28.01.2013
Минск
Сообщений: 375


Цитата:
Сообщение от quazi Посмотреть сообщение
Не могу решить простую задачу.
Параллелепипед определяется тремя входными параметрами- размерами. Нужно сделать блок с выбором из трех видов отображения (Сверху, спереди и сбоку) и выбором из предопределенных наборов размеров.
Как можно решить задачу?
Обратите внимание на поля "Коэф. расстояния" и "Угловое смещение" (см. скрин), а также смотрите пример)
Миниатюры
Нажмите на изображение для увеличения
Название: Screen Shot 04-27-16 at 01.09 PM.PNG
Просмотров: 66
Размер:	5.2 Кб
ID:	169533  
Вложения
Тип файла: dwg
DWG 2010
Чертеж1.dwg (56.4 Кб, 44 просмотров)
art_rrc вне форума  
 
Старый 27.04.2016, 15:30
#3200
Geor9e

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


Здравствуйте, друзья-коллеги.
Как в таблицу выбора (операция выбор) добавить свойство поиска? чтобы их там было несколько
Как объединить несколько операций выбора в одну? чтобы на ручку нажимаешь, а там один список выбора, другой список выбора по другим параметрам, третий и т. д. и несколько галочек, соответственно
Это я про одно и то же оба вопроса задал, или это разные задачи?
Geor9e вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Мои динамические блоки [2]



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические блоки при копировании перестают быть динамическими. *Voland* Динамические блоки 11 04.07.2012 10:51
Мои динамические блоки Shoorup Динамические блоки 2713 21.04.2011 23:34
соединить динамические блоки отрезками по кротчайшему пути gizmo_zx Программирование 18 06.09.2010 20:32
Глюк. Динамические блоки становится статическим! b_anton Динамические блоки 10 24.06.2008 16:27
HELP!!! Динамические блоки? Bdod Динамические блоки 13 07.04.2007 08:59