Forge, API и программирование – Русский – только для чтения
Задавайте вопросы и делитесь знаниями по Autodesk Forge и программированию на API программного обеспечения Autodesk
отмена
Отображаются результаты для 
Показать  только  | Вместо этого искать 
Вы имели в виду: 

ACAD: Объекты COM - Использование

25 ОТВЕТ 25
Ответить
Сообщение 1 из 26
Anonymous
3087 просмотров, 25 ответов

ACAD: Объекты COM - Использование

Добрый вечер!
Подскажите, пожалуйста, во-первых, в чём разница между методами GetInterfaceObject и CreateObject, а во-вторых, в каком случае лучше использовать каждый из методов.

В Help единственное примечание о методе GetInterfaceObject: "Although the object will be loaded into AutoCAD, it will not show up in its type library. The object will have its own type library. This method lets you connect to an ActiveX Automation server."

Пробовал в AutoCAD 2008 на VBA создать объект класса "Excel.Application" используя оба метода:

1) Dim obj As Object
Set obj = Application.GetInterfaceObject("Excel.Application")

2) Dim obj As Object
Set obj = CreateObject("Excel.Application")

В первом случае получил ошибку: "Run-time error '-2147221164(80040154)'". Чем может быть вызвана ошибка?

25 ОТВЕТ 25
Сообщение 21 из 26
Anonymous
в ответ: Alexander.Rivilis

Да? А что тогда в дистрибутиве AutoCAD Map 3d, скачиваемом с официального сайта Autodesk, делает папка x86\acadmap\Program Files\Root\bin\RealDWG\ ?

 

И кстати, не кажется ли вам, что мы давно занимаемся оффтопом?

Сообщение 22 из 26
Alexander.Rivilis
в ответ: Anonymous

Давай ссылку на дистрибутив. Проверю. В дистрибутиве AutoCAD Map 3D 2014, который я скачал с сайта Autodesk Developer Network есть только папки:
bin\GisPlatform

bin\FDO

которые к RealDWG отношения не имеют.

 


@Anonymous wrote:
... И кстати, не кажется ли вам, что мы давно занимаемся оффтопом?...

Как модератор раздела я могу себе это позволить. И кроме того, если действительно окажется, что ребята из Autodesk допустили промах и выложили RealDWG в свободный доступ, то это будет очень интересный и далеко идущий факт...

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Сообщение 23 из 26
Anonymous
в ответ: Anonymous

Понимаю ваш интерес.

На работе AutoCAD Map ставил не я, поэтому откуда взят дистрибутив, я знать не могу. Лицензионную чистоту, однако, можно гарантировать 🙂 Наша компания является авторизованным учебным центром Autodesk, поэтому предположить использование у нас пираток было бы абсурдно ))

 

Только что скачал триальную версию AutoCAD Map 2014: http://www.autodesk.com/products/autodesk-autocad-map-3d/free-trial

Тут путь несколько поменялся:

x86\admin\program files\Autodesk\root\bin\RealDWG

 (см. вложение)

 

Кстати, вот цитата:

RealDWG is also used internally by Autodesk to provide DWG support in non-AutoCAD-based applications, such as Autodesk® Revit® software-based products and Autodesk® Inventor® software products.

отсюда

Еще вопросы есть?

Сообщение 24 из 26
Alexander.Rivilis
в ответ: Anonymous


@Anonymous wrote:
Только что скачал триальную версию AutoCAD Map 2014: http://www.autodesk.com/products/autodesk-autocad-map-3d/free-trial

Тут путь несколько поменялся:

x86\admin\program files\Autodesk\root\bin\RealDWG


Наличие каталога и файлов подтверждаю. Кстати, в AutoCAD Map 3D 2013 этот каталог оказался по тому пути, который Вы указали. Впрочем это не помогло. Дальше объясню почему.


jimjam wrote: 

...Кстати, вот цитата:

RealDWG is also used internally by Autodesk to provide DWG support in non-AutoCAD-based applications, such as Autodesk® Revit® software-based products and Autodesk® Inventor® software products.

 

Еще вопросы есть?


Да. Вопрос есть. Вы пробовали использовать эти библиотеки, т.е. получить работоспособное exe-приложение? У Вас получилось? Уточню почему я это спрашиваю. Сам факт наличия этого каталога и dll-файлов в нём еще не означает, что ими можно воспользоваться не имея лицензионного ключа для RealDWG. Во всяком случае мои попытки не увенчались успехом. Читаем статью Киана Вамсли по поводу RealDWG: http://through-the-interface.typepad.com/through_the_interface/2007/10/au-handouts-the.html
В ней четко указано, что для того чтобы создать работоспособное RealDWG-приложение необходимо использовать атрибут SecuredApplication:

'<Assembly: SecuredApplication("<Placeholder for the clear text license>", "<Placeholder for the Autodesk encrypted text license>", "<Placeholder for the client encrypted text license>", "<Placeholder for the client public key>")> 

В противном случае приложение работать не должно. У меня не заработало простейшее приложение, которое просто создаёт Database:

private void button1_Click(object sender, EventArgs e)
{
 Database db = new Database(false, true);
}

 Вывалилось с защитой памяти.

 

 

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Сообщение 25 из 26
Anonymous
в ответ: Alexander.Rivilis

Да, я использовал эти библиотеки и получил работающее приложение — причем не зная ничего про то, что требуется атрибут SecuredApplication 🙂

Могу только предположить, что у нас среди прочего лицензирована какая-нибудь сетевая лицензия RealDWG (чего у нас только не лицензировано?), почему все и заработало без каких-либо проблем. Забавно )

Во всяком случае, дома воспроизводится только тот эффект, который вы описали.

 

Сообщение 26 из 26
Alexander.Rivilis
в ответ: Anonymous


@Anonymous wrote:

Да, я использовал эти библиотеки и получил работающее приложение — причем не зная ничего про то, что требуется атрибут SecuredApplication 🙂

Могу только предположить, что у нас среди прочего лицензирована какая-нибудь сетевая лицензия RealDWG (чего у нас только не лицензировано?), почему все и заработало без каких-либо проблем. Забавно )

Во всяком случае, дома воспроизводится только тот эффект, который вы описали.

 


Посему вывод - предложенный Вами способ можно советовать, но не всем, а только обладателям лицензий RealDWG. Иначе работать не будет.

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Не нашли то, что искали? Задайте вопросы в сообществе или поделитесь своими знаниями.

Новая тема  

Autodesk Design & Make Report