|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Я уже охрип, крича, что DCL работает в пространстве редактора, но не дает обновляться графике самого редактора. К примеру: Устанавливаешь текущий Visibility Set, а в окошке не появляется наименование представления из этого Visibility Set-а и графика от других элементов осталась. Ее надо регенерировать, чтобы выделить нужные элементы из вновь становленной видимости, а ничего не получается. И т. д.
Когда запускаешь отдельными функциями, то по окончании их работы управление возвращается редактору и тот тут же обновляется. Про использование чисто VBA для обработки словарей, ничего не могу сказать, поскольку даже не знаю, можно ли с его помощью их прочесть? Также не знаю, можно ли с помощью VBA модифицировать словарь, создать новый объект (словарь в частности) и как обрабатывать списки точечных пар в словарях. Все функции это сплошная работа со словарями, но иногда и Актив-Х нужен. Свойства смотреть. Если очень хочется сделать прогу чисто на VBA (ну или почти чисто) согласен раскрыть алгоритм по которому я делал свои функции. Так я так и не понял, мы компилируем или народу на обозрение выставляем? |
||||
|
||||
Пока ты думаешь, спрошу у Kpblc-a.
Kpblc, ты свою программу kpblc-objects-hide.lsp даешь вставить в данный проект? Там всего три функции "включить все", "выключить выделенное" и "выключить все, кроме выделенного". Вполне для данного случая достаточно. Перечень будущих кнопок: 1. Вставить Visibility Set. 2. Очистить Visibility Set от всех элементов, свойств и представлений. 3. Включить ручки всем элементам текущего Visibility Set-a. 4. Выключить видимость всем элементам. 5. Включить видимость всем элементам. 6. Выключить видимость выбранным элементам. 7. Выключить видимость всем элементам, кроме выбранных. 8. Перенести в текущее представление текущего Visibility Set-a выбранные элементы. 9. Удалить из текущего Visibility Set-a выбранные объекты (сделать их свободными). 10. Установить видимость выбранным свойствам во всех других Visibility Set-ах. 11. Переписать данные из указанного Lookup-a в EXCEL. 12. Переписать из файла EXCEL в указанный Lookup данные. 13. Скопировать данные из одного Lookup-a в другой Lookup. 14. Установить Action на задействованный другим Action-ом Lookup-параметр. 15. Скопировать указанные элементы текущего Visibility Set в выбранные представления текущего Visibility Set. 16. Ай, вай, вай ! забыл - сделать указанный Visibility Set текущим. Ну еще можно включать ручки элементам любого Visibility Set-a и переносить или копировать их в текущий. Теперь по связыванию блоков друг с другом. Если в данном блоке есть такая пара Lookup-ов, в одном описаны состаяния блока, а в другом длинна технологической, не видимой линии в привязке к этим состояниям, то меняя длинну этой линии мы можем переключать блок из одного состояния в другой. На один Lookup-параметр можно навесить сколько угодно LookupAction-ов. Если все столбцы Lookup-a разбросать по отдельным таблицам, то есть каждому столбцу свой Action, то изменение любого из параметров блока описанного таким, отдельным образом будет автоматом менять все остальные связанные параметры. В блоке может быть много Visibility Set, а значит и много независимых групп элементов, каждую из которых можно перенастраивать изменением всего лишь одного параметра. Можно создать специальный блок, на который настраивается реактор, хоть на автолиспе, хоть на VBA. Этот блок является для всей модели вершиной пирамиды. Именно в нем и лежат все таблицы по зависимостям. Последний раз редактировалось Supermax, 01.10.2008 в 17:29. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,850
|
Да бога ради.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Скажу по секрету, Visibility всавляет сам Автокад банальным запуском комманды
Код:
"Кривой" получается элементарно! Если уже есть один Visibility Set, то мы его берем, выкидываем из списка его DXF кодов -1, 5, 1071, и 1010 коды, заменяем 301 пару с названием данного Visibility на свое название и создаем по этому списку (в лиспе это функция entmakex) новый объект. Создаем 360 точечную пару с полученым указателем на новый объект, создаем 91 точечную пару с номером новой записи в словаре "ACAD_EVALUATION_GRAPH". Добавляем точечную пару "тип записи", создаем и добавляем в запись 95 пару с следующим номером записи, потом нашу 360-тую цепляем и далее четыре 92 пары с кодом -1. Замняем в словаре 96 и 97 пары на новое число (1+) Вставляем нашу запись в конец всех 32-ых записей и делаем словарю entmod, после чего сохраняем блок. После этого процесса создается ситуация, когда после каждого сохранения блока Автокад в упор не видит Visibility Set и дает добро на установку нового. Мы этим воспользуемся и сделаем это. Затем перемещаем нашу запись с "Кривым" Visibility Set-ом в самый низ 32 записей и удаляем ее. Блок становится почти корректным. Автокад видит первый по списку Visibility Set и дает его редактировать. "Почти" это в смысле, что много Visibility Set-ов блоку де-юре не положено. Вот ты в состоянии все это проделать на VBA? Последний раз редактировалось Supermax, 02.10.2008 в 09:31. |
||||
|
||||
Наверное не судьба на VBA такое делать. Скорее всего надо просто отдельную панель сделать и кнопок туда напихать.
Объявляется конкурс на BMP картинки для кнопок вышеперечисленных функций. Как только картинка понравится мне, Kpblc-у, SLADE и stas_org, так я функцию к ней даю. Последний раз редактировалось Supermax, 02.10.2008 в 13:04. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,850
|
Это кому обращение?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Да тут наблюдаю за одним. С утра висит и висит. Сейчас смылся. А это не ты часом?
Что-то совсем народ обленился. Сложные задачи ставлю - не могут. Простые (ну куда проще, картинку придумать?), так вообще думают, что сейчас набежит несколько остро нуждающихся и сделают. И по скольку так думают все, то простые задачи тоже никто не решает. Обидно Kpblc, до слез. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,850
|
Supermax, тебе расписать над чем я сейчас сижу?
Я ж тебе говорил - дин.блоки (тем более такие навороченные, как ты делаешь) лично мне пока не требуются. Мне вообще сейчас дин.блоки не нужны. Поэтому я и не принимаю практически никакого участия в разработке. Что понимаю "влет" - то делаю, если успеваю. Кстати, "кнопки рисовать" лично у меня никогда не получалось...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Так я уже себе понавтыкал всякого мусора. Может у кого есть для этого специальная программа. Берешь нормальный рисунок и пропускаешь через такую прогу. Она тебе его сжимает до кучки пикселей, но с тенями и пр. Рисовать Автокадовским редактором иконок ничего у меня не получается.
И вообще, скачивают сотни, а беседуют с автором 2-3 человека. Я Kpblc, не тебя имею в виду. Ты на себя навалил весьма много и тебя я понимаю. Без притензий. Я имею в виду ситуацию. Плохая получается ситуация. Чтобы что-то получить, надо это заработать. Так должно быть во всем. А мы тут халявщиков выращиваем. Все всегда начинается с малого. Когда где-то в чем-то что-то обломилось, то ждут, что и в большем обломится. Халяву и я люблю, поэтому очень хорошо чувствую этот вкус дармовщинки. Наркотик это. Ох какой крутой наркотик! Когда хотят подарить кому-нибудь щенка, то обязательно его типа продают, за рубль. Чисто символически. Дурная примета такая есть, что за даром пришло, за даром и уйдет. Я хочу чтобы очень многие делали крутые динамические блоки легко и быстро. Готов даром дать все, что для этого нужно, но не гоже быть такими КЮ, что даже картинку предложить влом. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,850
|
В качестве полного идиотизма (картинка здоровая, сами ужимайте :P)
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как с помощью vba начертить линию | vasyavip | Программирование | 77 | 09.10.2008 23:17 |
Femap и VBA | Makson | Программирование | 11 | 05.08.2008 14:54 |
Создание списка чертежей из Sheet Set Manager | krokh | AutoCAD | 2 | 20.06.2008 16:46 |