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

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

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

Закрытая тема
Поиск в этой теме
Непрочитано 07.11.2006, 15:22
Мои динамические блоки
Shoorup
 
Минск
Регистрация: 16.09.2006
Сообщений: 1,587

Прогресс и опыт не стоит на месте. А по этому хочу поделиться своим опытом по созданию динамических блоков и конечно посмотреть на чужой.
Динамические блоки очень мощный инструмент, а умело им пользоваться далеко не каждый умеет. Уверен большинство идей (ухищрений, модификаций, построений) можно применить и для своей работы тем самым свести к минимуму однотонную и трудоемкую работу => что я и предлагаю на данной теме.
---
Дополнительно (спасибо 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
----
Тема закрыта, продолжение: http://forum.dwg.ru/showthread.php?t=66721
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Кулик Алексей aka kpblc, 09.11.2011 в 14:01.
Просмотров: 1871006
 
Автор темы   Непрочитано 16.11.2007, 10:38 Мой блок
#101
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


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

Поправил dwgKOLF_03.dwg (спасибо за замечание Krieger)
Вложения
Тип файла: dwg
DWG 2004
dwgRezs_02.dwg (47.6 Кб, 6109 просмотров)
Тип файла: dwg
DWG 2004
dwgKOLF_03.dwg (52.0 Кб, 5678 просмотров)
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 27.12.2007 в 10:57.
Shoorup вне форума  
 
Непрочитано 16.11.2007, 11:01 Про ковыряние свойств
#102
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Лисп, читающий свойства дин блока.
Чуть позже сделаю чтобы сразу в mtext вставлял.
Вложения
Тип файла: rar ACAD_EVALUATION_GRAPH.rar (503 байт, 622 просмотров)
Supermax вне форума  
 
Непрочитано 16.11.2007, 11:17
#103
Krieger

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


Shoorup,подергал ручки, вот что получилось:
Вложения
Тип файла: dwg
DWG 2007
dwgKOLF_03.dwg (63.7 Кб, 5585 просмотров)
Krieger вне форума  
 
Непрочитано 16.11.2007, 11:18
#104
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Supermax, cвойства или значения свойств?
---
Добавлено: код не проверял, только просмотрел.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 16.11.2007, 11:27
#105
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Мы пока ACAD_EVALUATION_GRAPH ковырять собрались.
Supermax вне форума  
 
Автор темы   Непрочитано 16.11.2007, 11:32
#106
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Krieger, да действительно промах поправлю потом. А вообщето эти ручки сильно не нужны. можно их и убить.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 16.11.2007, 17:39
#107
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Новая версия лиспа.
Создает файл "словарь.txt" в той же папке, из которой запущен лисп (если не указано жестко куда сохранять по умолчанию).
Распечатывает в этот файл содержимое словаря ACAD_EVALUATION_GRAPH
При этом к каждой распечатке окружения словаря свойства добавляет имя этого свойства.
Так что это не точное содержание этого словаря, а чуток расширенное, для лучшего понимания.

Каждый раз, как запускается лисп этот файл переписывается по новой, так что будьте внимательны. С начала надо содержимое этого файла в mtext перекачать. Как? - Руками. На лиспе день угрохал и ничего не получилось толкового.
Вложения
Тип файла: rar ACAD_EVALUATION_GRAPH.rar (527 байт, 360 просмотров)
Supermax вне форума  
 
Непрочитано 16.11.2007, 17:57
#108
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот твой блок и данные на его свойства.
Вложения
Тип файла: dwg
DWG 2004
dwgKOLF_03.dwg (54.1 Кб, 5436 просмотров)
Supermax вне форума  
 
Непрочитано 16.11.2007, 18:22
#109
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Теперь надо закономерности выявлять.
Все объекты делятся на три группы:
- Параметры
- Активаторы параметров
- Ручки параметров
Ручки параметров описаны тоже тремя видами элементов:
- BLOCKXYGRIP сама ручка
- BLOCKGRIPLOCATIONCOMPONENT положение по Х
- BLOCKGRIPLOCATIONCOMPONENT положение по Y

1-я закономерность:
- Никогда описание ручек параметра не может находиться перед самим параметром. Поскольку кад сначала ставит параметр, а потом его ручки ставит автоматом. Вот и получается, что ручки идут за параметром.

2-я закономерность:
- Если параметр убить, автоматом сносятся и его ручки. Но если ручки выключить - параметр останется, а из словаря исчезнут ручки.

3-я закономерность:
- Поставить активатор параметра просто в чисто поле не получится, но если установить пару параметр-активатор параметра, а потом параметр убить - активатор останется висеть одиноким холостяком. В 2006 каде прикосновение к нему приводит к слетанию када, в 2007 и 2008 это исправили.
Короче в 2007 и 2008 кадах возможно сделать пару активатор параметра - параметр. То есть в словаре будет идти сначала активатор, а потом параметр.

4-я закономерность:
- Если ручки выключили, блок пересохранили, а потом опять ручки включили - они появляются в конце списка. Как новые элементы.

5-я закономерность
- Все 92 коды следующие после словаря переписываются каждый раз, как произошло изменение в составе основных элементов словаря (дин. параметры и их ручки).

6-я закономерность
- Маркировка начинается с динамических параметров кроме blocklookupparameter (третий слева 92 код) с 0. Маркируются по очереди все параметры пока маркировка не упрется в первую ручку, потом маркируются BLOCKGRIPLOCATIONCOMPONENT этой ручки и идет возврат в начало списка, от куда маркируются уже активаторы (1-й и 2-й 92-ые коды).
Supermax вне форума  
 
Непрочитано 16.11.2007, 18:25
#110
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


В общем смысл всего этого копания простой. Надо собрать список, где все 92-ые коды равны -1 и отмаркировать все по новой.
Также и нижний список ждет своего часу.
Supermax вне форума  
 
Непрочитано 16.11.2007, 19:07
#111
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


7-я закономерность
- У элемента Alignment Parametr нельзя выключить ручку и поэтому он всегда в сопровождении своего окружения ручки и ее положения по X и Y.
Маркировка в этой группе начинается с ручки и далее на параметр, потом на положения.

"BLOCKALIGNMENTPARAMETER"
(91 . 5) (93 . 32)(95 . 37)(360 . <Entity name: 7ec222f0>) (92 . 0) (92 . 0) (92 . 1) (92 . 2)
"BLOCKALIGNMENTGRIP"
(91 . 6) (93 . 32)(95 . 38)(360 . <Entity name: 7ec222f8>) (92 . -1) (92 . -1) (92 . 0) (92 . 0)
"BLOCKGRIPLOCATIONCOMPONENT"
(91 . 7) (93 . 32)(95 . 39)(360 . <Entity name: 7ec22300>) (92 . 1) (92 . 1) (92 . -1) (92 . -1)
"BLOCKGRIPLOCATIONCOMPONENT"
(91 . 8) (93 . 32)(95 . 40)(360 . <Entity name: 7ec22308>) (92 . 2) (92 . 2) (92 . -1) (92 . -1)
Supermax вне форума  
 
Непрочитано 17.11.2007, 17:08
#112
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


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

8-я закономерность:
- Все четыре 92 кода разделены строго на две группы. Первая слева на право бит-0 маркируется только один раз и уже не видоизменяется. бит-1 маркируется тем же номером, что и бит-0, но затем может быть перемаркирован. Поэтому через него два раза проходит путь маркировки.
Вторая группа тоже начинается с бит-0 (3-тья 92 группа слева) маркируется и не изменяется, бит-1 маркируется и может быть перемаркирован.

Я может где и ошибся чуток, до сих пор еще колеблюсь в правилах, но в целом картина правильная.
Вложения
Тип файла: dwg
DWG 2004
dwgKOLF_03.dwg (104.4 Кб, 5305 просмотров)
Supermax вне форума  
 
Непрочитано 17.11.2007, 17:12
#113
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Лиспик, который распечатывает содержимое всех свойств в файл "словарь-нутро.txt" а то в экран не влазит ничего.

Небольшая переделка файла. Я использовал другой лисп, как первоначальный и забыл сюда вставить его "вступление".
Извиняйте за оплошность.
Вот новый вариант.
Вложения
Тип файла: rar ACAD_EVALUATION_GRAPH-3.rar (379 байт, 347 просмотров)

Последний раз редактировалось Supermax, 18.11.2007 в 13:23.
Supermax вне форума  
 
Непрочитано 19.11.2007, 14:10
#114
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот, за выходные сделал.
Программа заполняет динамическое свойство Lookup из содержимого файла Excel.
Сначала надо в Lookup-e создать нужное количество столбцов (lookup Properties – крайние справа).
Затем в Excel создать таблицу с содержимым всех столбцов включая и столбцы lookup Properties.
Разделитель должен быть точка.
Точность после запятой – 14 знаков (желательно, но работает и так).
Запустить макрос.
Войти в редактор блока и зайдя в редактор Lookup-a включить «Allow reverse lookup».
Выйти с сохранением.
Все.
Вложения
Тип файла: rar Excel-Lookup.rar (3.3 Кб, 398 просмотров)
Supermax вне форума  
 
Непрочитано 19.11.2007, 15:44
#115
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Специально для тех, у кого злобные сисадмины закрыли доступ к редактированию реестра.
Тоже, что и сверху, только реестр не трогает. Правда придется все время с С:\ опускаться в папку, где xls лежит.
Вложения
Тип файла: rar Excel-Lookup2.rar (3.3 Кб, 341 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 19.11.2007, 15:49
#116
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Supermax, скинь примерный екселевский файло с двгшным
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 19.11.2007, 16:04
#117
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот DWG с квадратиком и двумя растяжками (по ширине и высоте).
В блоке есть Lookup и в нем уже установлены столбцы
Distance
Distance1
Lookup
Lookup1

Не путайте название активатора с названием параметра.
Активатор - желтая стрелка Параметр - с треугольной ручкой (или просто надпись).

В данном примере один из столбцов "Lookup1" и активатор тоже имеет имя "Lookup1". Их можно и переименовать.
Вложения
Тип файла: dwg
DWG 2004
Квадрат.dwg (25.3 Кб, 5471 просмотров)
Supermax вне форума  
 
Непрочитано 19.11.2007, 16:10
#118
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Вот таблица Excel, где на первом листе дана таблица заполнения Lookup-a.
Первый столбец - Distance
Второй столбец - Distance1
Третий столбец - Lookup
Четвертый столбец - Lookup1

Не забудьте после выполнения макроса зайти в блок и там в редактор lookup-a и выйти от туда с сохранением.
Вложения
Тип файла: rar Квадрат.rar (1.8 Кб, 389 просмотров)
Supermax вне форума  
 
Автор темы   Непрочитано 19.11.2007, 16:32
#119
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Прикольно получаецца Спасибо за прожку!
Осталось сделать для Visibility прожку. чтоб можно было туда добавлять скока угодно видов и параметров
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Непрочитано 19.11.2007, 16:45
#120
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Сначала я сделаю Lookup-Excel.lsp для переписывания содержимого одного Lookup-a в Excel, из которого можно это перенести прожкой Excel-Lookup.lsp в другой Lookup.

Ну и ломатель тоже скоро сделаю. Он проще, намного, только вот, что получится - не знаю.

Можно и lookup-Lookup.lsp сделать.

Теперь все можно.
Supermax вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Мои динамические блоки

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

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