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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Модуль на vba для autocad: найти объект на который ссылается поле (field)

Модуль на vba для autocad: найти объект на который ссылается поле (field)

Ответ
Поиск в этой теме
Непрочитано 11.06.2020, 16:53 #1
Модуль на vba для autocad: найти объект на который ссылается поле (field)
slav008
 
Регистрация: 11.06.2020
Сообщений: 7

Добрый день, уважаемые форумчане!

Столкнулся с задачей, как определить (найти) объект текст, мтекст или блок, на который ссылается поле. Данную задачу пока что пытаюсь решить используя vba. C# начал недавно изучать и вижу что его функционал позволяет решить эту задачу. Для себя вижу отображение результата как прорисовка отрезка, начало которого т.вставки родительского элемента, а конец - т.вставки элемента с полем. Прошу подсказать можно ли это сделать на VBA? Благодарю за уделенное время
Просмотров: 3053
 
Непрочитано 11.06.2020, 18:20
#2
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


зачем, делай на c#
там же в поле objectid кажется...
trir вне форума  
 
Непрочитано 11.06.2020, 18:50
1 | #3
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Если я правильно помню, то VBA умеет получать поля только из Текста и МТекста (вроде бы метод FieldCode).
Получив код поля, легко достать Id объекта на который поле ссылается, потом у документа или базы данных есть метод ObjectIDToObject(ID)
Ну а получив объект на который ссылается поле и так понятно что делать дальше...

Но вот зачем все это делать на VBA, тем более изучая C#... загадка.
Boxa вне форума  
 
Автор темы   Непрочитано 12.06.2020, 16:20
#4
slav008


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Ну а получив объект на который ссылается поле и так понятно что делать дальше...
Благодарю Вас, получилось с простыми полями.
Но вот как быть с полями которые внутри имеют формулу? пока-что нет идеи как на vba это сделать.

Цитата:
Сообщение от Boxa Посмотреть сообщение
Но вот зачем все это делать на VBA, тем более изучая C#... загадка.
уровень знаний C# пока-что очень и очень не значителен, хотелось бы пока решить этот вопрос более простым инструментом
slav008 вне форума  
 
Автор темы   Непрочитано 14.06.2020, 10:18
#5
slav008


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


видимо в vba не получается...
подскажите пожалуйста, как в c# реализовать поиск objectid объекта в полях содержащих формулу
slav008 вне форума  
 
Непрочитано 15.06.2020, 07:49
#6
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


И чем парсинг строки поля на VBA отличается от парсинга на C# ?
Сплитуть строку по "ObjId ", пройтись по полученному массиву и элементы массива еще раз сплитнуть по пробелу, полученный результат проверить на длину и на то, что бы все символы были цифрами. Убрать дубли. Вам же не нужно разбираться что там за формула, Вам грубо, в лоб нужно выдрать Id. Указанный выше алгоритм не единственный, повторный сплит легко можно заменить на взятие субстроки заданной длинны или подобными механиками.

Язык тут вообще не причем, была бы фантазия.
Boxa вне форума  
 
Непрочитано 15.06.2020, 12:45
#7
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,004


А если не стоит задача разбирать ссылки в полях уже существующих чертежей - то в случае использования .Net для связывания данных примитивов на чертеже и поля зачастую не нужны...
Сергей812 вне форума  
 
Непрочитано 17.06.2020, 12:20
#8
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


slav008, есть уже как минимум три-четыре готовых решения на лиспе. Не подойдет?
Где в Mtext хранится макрос?
Подсветить(выделить) объекты связанные с полем?
skkkk вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Модуль на vba для autocad: найти объект на который ссылается поле (field)

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Autodesk СПДС модуль не работает при запуске AutoCAD от имени администратора. egnitu Прочее ПО от Autodesk 2 25.05.2016 13:33
Как при помощи VBA открыть OLE объект (Excel) в AutoCad 2013 Stormy_Day Программирование 3 13.03.2014 10:37
Word 2007/2010 не открывает объект AutoCAD 2009 Andersenqwer Прочее. Программное обеспечение 3 20.12.2010 21:46
OLE объект Excel,я перевести в таблицу AutoCAD zenon AutoCAD 6 10.03.2009 12:25
Вывод значения атрибута в поле field batart AutoCAD 2 09.07.2008 12:06