|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
VBA. Autocad. Как добраться до всех свойств Mtext'а.
Изыскатель
Самара
Регистрация: 09.02.2017
Сообщений: 14
|
||
Просмотров: 14859
|
|
||||
Изыскатель Регистрация: 09.02.2017
Самара
Сообщений: 14
|
|
|||
![]() |
|
||||
Изыскатель Регистрация: 09.02.2017
Самара
Сообщений: 14
|
Цитата:
Поставил себе VS2015. Проект на VisualBasic Подключил Autodesk.AutoCAD.Interop Interop.AXDBLib В этих сборках для MText нет таких свойств, как BackgroundScaleFactor, как у вас. Может что не так делаю конечно. Буду рад любой помощи ... Последний раз редактировалось Кулик Алексей aka kpblc, 15.02.2017 в 12:13. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
А зачем Interop? В данном случае, мне кажется, надо без него работать.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
COM Interop (Взаимодействие с COM) — технология, включённая в .NET CLR, позволяющая объектам COM взаимодействовать с объектами .NET, и наоборот.
механизмы те же, просто "зашли" со стороны Net-сборки, а не со стороны VBA/ внешней программы через COM-интерфейс. |
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616
|
samaratopograf, через Autodesk.AutoCAD.Interop Вы к СОМ подключаетесь и получаете то же, что и в VBA, и смысл...
Я не знаю какую версию акада Вы используете, но в последних (с 2013 и далее), для того что бы воспользоваться кодом ниже, нужно подключить acCoreMgd, AcDbMgd, acMgd (копировать локально - false) ну и версию .NEt указать правильно в настройках проекта. Код:
Удачи. |
|||
![]() |
|
||||
Изыскатель Регистрация: 09.02.2017
Самара
Сообщений: 14
|
Цитата:
----- добавлено через ~4 мин. ----- Цитата:
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616
|
Там где Вы ищите его и нет, о чем было написано в #2 сообщении, это свойство есть в .NET API, т.е. нужно смотреть другой раздел справки.
----- добавлено через 59 сек. ----- Смешно. Вы код в #12 посмотрите. В VBA / COM дохрена чего нет, чтож только на него ровняться. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
значит, смиритесь) Даже в Net API не на всю объектную модель акада сделали реализацию оберток по сравнению с ObjectARX, а в COM-интерфейсе и подавно.
----- добавлено через ~1 мин. ----- Boxa, vb - это VBA скорее, судя по заголовку.. а не VB.NET |
|||
![]() |
|
||||
Регистрация: 05.11.2014
Сообщений: 944
|
Цитата:
https://knowledge.autodesk.com/searc...9FE30-htm.html Это сторонняя настройка, поэтому и нужно подключать AcDbMgd.dll Цитата:
----- добавлено через ~2 мин. ----- Поэтому ни VBA ни Lisp ни СОМ работать не будут, нет этого в автокаде. |
|||
![]() |
|
||||
Изыскатель Регистрация: 09.02.2017
Самара
Сообщений: 14
|
Цитата:
Да вроде в заголовке VBA написано))) |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
не поверите, любой примитив что в VBA, что в Net API - это объект) |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Если начали упираться в ограничения VBA объектной модели акада, но страшно переходить на Net полностью - можно в одной сборке (язык VB.NET) писать как в VBA-стиле (Interop), так и в Net. Это плохой стиль программирования, но вы же не на сторону пишете скорее всего.
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616
|
baksconstructor, Спасибо. Вы сделали мой день.
Цитата:
ЗЫ. скопировав отправку сообщения из C# в код VB.NET с удивлением обнаружил, что оператор конкатенации $ и тут работает... я особо за развитием VB.NEt не слежу, но прикольно. Последний раз редактировалось Boxa, 15.02.2017 в 14:33. Причина: ЗЫ. |
|||
![]() |
|
||||
Регистрация: 05.11.2014
Сообщений: 944
|
Offtop:
Цитата:
Здеся мы, я не программист, я пользователь, и как пользователь это утверждаю. |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,114
|
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
и способами - которыми другим и не снились из-за наличия штатных средств. Все познается в сравнении. |
|||
![]() |
|
||||
Регистрация: 05.11.2015
Сообщений: 585
|
|
|||
![]() |
|
||||
Регистрация: 14.07.2022
Сообщений: 1
|
Цитата:
Вопрос изначально был о доступе к свойствам MTEXT из-под VBA. Для себя решил эту задачу при помощи VLAX. Недавно (2022). Код:
Последний раз редактировалось MapperPro, 14.07.2022 в 15:52. Причина: Форматирование |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как изменить шрифт всех надписей чертежа за один раз в Autocad? | massa99 | AutoCAD | 15 | 09.12.2018 11:55 |
Видеоуроки AutoCAD | kosmax | AutoCAD | 173 | 17.02.2017 15:08 |
Возможно ли программно добраться до данных из библиотеки Autocad? | alex8888 | Программирование | 5 | 04.08.2011 14:01 |
проблема с отображением кнопок и всех панелей,кроме свойств в акаде 2008 | 1eternal | AutoCAD | 13 | 14.05.2010 15:52 |
AutoCad 2008 зависает при вызове свойств штриховки | LiSa | AutoCAD | 34 | 06.03.2009 00:17 |