|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
VBA. Редактирование аттрибутов блока.
Регистрация: 23.07.2009
Сообщений: 35
|
||
Просмотров: 8794
|
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
Чего-то типа:
Код:
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409
|
Если ent - указатель на вхождение блока, то у него есть метод GetAttributes. Ну, а дальше - уже сам
![]() --- Опоздал ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409
|
А что, обычной справки мало?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
Цитата:
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409
|
Но лучше поставить Option Explicit и не мучаться потом с непонятным поведением
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
лучше вообще забыть про VBA чтоб потом не мучаться
![]() http://dwg.ru/dnl/254 - раз прога недоделаная, но можно поучиться на примере. http://dwg.ru/dnl/1931 - два прога доделанная, если не понятно как атрибуты редактировать то там есть ![]() ЗЫ если в ВБА все равно не шаришь пиши на лиспе. |
|||
![]() |
|
||||
Регистрация: 23.07.2009
Сообщений: 35
|
Sleekka
У меня другая задача. Не просто работа с атрибутами. Но проги посмотрю при случае. И почему забыть про ВБА? А лисп для меня вообще загадка, на вба проще. |
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
на лиспе нужно меньше писать раза так в 3 чтобы решить ту же задачу что и на вба, к тому же когда придется работать с массивами данных, в вба - чтобы массив был динамическим нужно будет при записи элемента постоянно назначать новую размерность массиву, вобщем намучаетесь, вба это так - цвет линии поменять и только, серьезных задач там не решить.
|
|||
![]() |
|
||||
Регистрация: 23.07.2009
Сообщений: 35
|
Ну а где решить?
Мне, возможно, нужно будет делать менюшку, экспорт данных в access, эксель и ворд, а так же и обратно. Еще открывать файл, делать в нем чертеж и сохранять куда нужно. Возможно все это будет через меню, а возможно будет считываться из файла эксель. Пока еще не ясно, все в процессе. На данный момент идет процесс изучения. Лисп я совсем не знаю, и мне как-то кажется, что он для этого не подойдет. |
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
Цитата:
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409
|
VBA-модуль не поставляется в комплекте с AutoCAD 2010 и продуктами на его основе (но этот модуль еще можно скачать с официального сайта).
Почему "непонятно на чем программировать"? lisp / arx / .net - и вперед ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 23.07.2009
Сообщений: 35
|
Почитал я Autodesk.
VBA закончилось, советуют переходить на VB Express Edition. Он же и есть .net. А кто на чем программирует? С лиспом все ясно. Я просто думаю (свои требования я описал в первом посте) делать все на VB или переходить на что-то еще. Программистов рядом нет, так что спросить совета не у кого. А в 2009 автокаде нормально будет работать то, что сделано на VB экспресс? И как там интегрируется? Просто сейчас можно прогу запускать в самом акаде. Еще даже не законченую. |
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
VB.net, C++, C#... Я не знаю, конечно, как политика автодеска изменится, но возможно, уже для следующей версии разработанные VBA-шные модули уже будут неприменимы..
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409
|
Интегрируется как обычная .NET-сборка. Но с Express Edition лучше уточнять - на caduser.ru А.Ривилис говорил по этой теме.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 23.07.2009
Сообщений: 35
|
Попробую сделать это все на .net. От VBA откажусь.
Различия большие? Сижу ищи и не могу найти как прогу из VBA в VB.net конвертнуть. Пока кроме видео ничего не нашел. А видео у меня не показывает. Последний раз редактировалось Bart, 24.09.2009 в 17:22. |
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
Вообще, интересно было бы глянуть на какую-нибудь открытую простенькую vb.net сборку... Может, кто покажет, с чем его едят?
![]()
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
По поводу перехода с VBA на VB.NET: http://through-the-interface.typepad...on-basics.html
А сборки есть в примерах в ObjectARX SDK. |
||||
![]() |
|
||||
Регистрация: 23.07.2009
Сообщений: 35
|
А как все то же самое на vb.net пишется? Я пытаюсь просто блок вставить, но пока никак не найду как все описывается.
Покопался я во всяких обучалках, посмотрел лекции (почти ничего нет, нужно самому догадываться). Как-то все сложно в .net. Код получается раз в 5 больше, чем на VBA. Попытаюсь что-либо сотворить. Если ничего не выйдет - брошу и буду делать на VBA. Литературы нет. Хелп такой, что мало что описано. На VBA на данный момент все гораздо доступнее. Последний раз редактировалось Bart, 06.10.2009 в 17:26. |
|||
![]() |
|
||||
RU Регистрация: 04.10.2009
RU
Сообщений: 5
|
Здравствуйте. Если в VBA есть средства создания элементов управления на пользовательской форме в момент выполнения программы , то IMHO должен существовать и способ создания событий типа "onclick" во время работы программы. Подскажите ,pls, какой?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409
|
А они есть?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692
|
Да, их есть.. В смысле, возможность создания контролов и кодов обработки событий программно...
http://www.caduser.ru/forum/index.ph...#message261100
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
![]() |
|
||||
Регистрация: 23.07.2009
Сообщений: 35
|
Переписал я свою программу на vb.net.
Написанный выше скрипт вставки блока и редактирования атрибутов работает, но я его немного изменил, а то не работал. Пришлось, конечно, посидеть и во всем разобраться. Честно, скажу, не все понятно, но работает :-) Ну и вот мой код. Код:
Последний раз редактировалось Bart, 24.11.2009 в 12:32. |
|||
![]() |
|
||||
Регистрация: 23.07.2009
Сообщений: 35
|
Подскажите в чем трабл. Делаю вставку блока на vb.net так, как постил выше.
Если делаю вставку через юзер форм, то все работает. Делаю немного иначе в другом модуле (class1) - не пашет. Код вставки блока и открытия чертежа тот же. Все лишние строки отключал. Открывает файл, но вставку делает не в открытый чертеж, а в drawing1, который автоматом открывается вместе с автокадом. Делал принудительно нужный мне файл активным - все равно вставка делается в другой чертеж. В чем тут дело? |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Редактирование блока, используя значение его атрибутов | Mazai | Программирование | 14 | 19.01.2009 20:49 |
Редактирование блока | ALM | AutoCAD | 1 | 27.06.2008 10:54 |
Как в пространстве редактора блоков запустить редактирование вложенного блока. | Supermax | Программирование | 5 | 18.12.2007 17:50 |
Измнение через ексель (через макрос в VBA) аттрибутов динамического блока | VitaminC | Программирование | 4 | 20.10.2007 14:52 |