Тема: Visual Basic для создания программ для AutoCAD

Как подключить в Visual Basic поддержку для создания программ для AutoCAD (используя именно Visual Basic, а не VBA приложение)

Re: Visual Basic для создания программ для AutoCAD

В меню Project выбрать referenses. В появившемся списке
библиотек выбрать AutoCAD 2xxx object library или подключить
библиотеку acad.tlb.
Далее:

***
 Dim acadappl as object
 ***
 set acadappl=createobject("Autocad.application")
 acadappl.visible=true

Примечание
Visual basic будет поддерживать автокадовские типы переменных такие как acadline,acadlayer и др. только после подключения библиотеки acad.tlb

Re: Visual Basic для создания программ для AutoCAD

> Kostya
!!!
Спасибо !!!
В продолжение к этой теме:
у меня AutoCAD Map 2004; в Visual Basic/ Project/ Reference есть несколько ссылок на продукт Autodesk:
-AutoCAD 2004 Type Library;
-AutoCAD Focus Control for VBA Type Library;
-Autodesk Map 2004
Какая из этих ссылок поддерживает связь с AutoCAD и что из них является библиотекой acad.tlb ?

Re: Visual Basic для создания программ для AutoCAD

У меня стоит AutoCAD 2000i , поэтому затрудняюсь ответить, но думаю , что это AutoCAD 2004 Type Library.
В фрейме , что под списком библиотек должен выводиться полный путь к выделенной библиотеке с ее названием.Если
библиотеки acad.tlb в этом списке нет, то ее можно загрузить вручную.

Re: Visual Basic для создания программ для AutoCAD

> Kostya
Нашелся ответ на свой же вопрос: для AutoCAD 2004 это файл acax16enu.tlb, ф для более ранних версий - acad.tlb
Но для меня остался открытым вопрос, как загрузить вручную библиотеку.
С уважением к Вам, Kostya, и ко всем кто тратит свое время для желающих познать, но обладающих недостаточными знаниями.
Спасибо !!!

Re: Visual Basic для создания программ для AutoCAD

В окне References нажать кнопку Browse... и найти ф  acad.tlb. Он находится в папке Program files\ AutoCAD***\ или в другой папке в которой находится сама программа.
Выбрать ф acad.tlb и щелкнуть Открыть.

Re: Visual Basic для создания программ для AutoCAD

если установить референс на библиотеку Автокада, то прога будет работать только с этой версией. Но это удобно в процессе написания программы(после точки-раскрывается возможный список). Для того, чтобы прога работала с любой версией , есть  технология поздного связывания с объектом
-после отладки программы надо убрать референс на acax16enu.tlb и заремить  AcadApplication - заменить на  Object
Public oApp As Object  ' AcadApplication
Public oADoc As Object  ' AcadDocument
а такое определение объекта работает для 2000-2005 версии без проблем
Set oApp = GetObject(, "AutoCAD.Application")
(в хелпе написано, что надо Set oApp = GetObject(, "AutoCAD.Application.16") - можно сделать селектор версий-но не надо)
Set oADoc = oApp.Documents.Open(fileN1...........
oApp.Visible = True
If Err Then MsgBox "ACAD must be RUN!", vbCritical, "start application"
при таком подходе, программа будет работать под 2000-2005 АКАДом!

Re: Visual Basic для создания программ для AutoCAD

> Тютюнников
Большое Вам спасибо !!!
Ваш совет в процессе моего ипытания.
Я самоучка в VB и VBA. Работаю в AutoCAD, в этой области много лет. Нужда заставила взяться за VB и VBA. Честно были прочитаны и изучены основы VB и VBA, но советы Форума оказались неоценимы. Если Вы богаты ссылками на литературу в области практического применения VB для AutoCAD, с огромной благодарностью приму.

Re: Visual Basic для создания программ для AutoCAD

> Melena
Рад что помог! Лучшая литература - хелп, MSDN и конечно ADN(Autodesk Developer Network). Пользуйтесь первоисточниками. А ссылки на литературу посмотрите у меня на сайте - www.mechmagic.com   www.russian.mechmagic.com
А книги, которые российских авторов.... некоторым похоже конкуренты Autodesk платят....

Re: Visual Basic для создания программ для AutoCAD

> Тютюнников
Может подскажете как простым смертным получить доступ к ADN(Autodesk Developer Network).

Re: Visual Basic для создания программ для AutoCAD

Ув. Melena!
Есть такое ощущение, что Вы хороший человек, уже хотя бы потому, что взялись за VB, VBA.Удивляюсь что Вас еще не посылали (в хорошем смысле этого слова) на сайт с примерами кода по VBA.Рад быть первым:
http://www.cad.dp.ua/stats/a_vba/
И еще. Вы непременно хотите писать под AutoCAD на чистом VB. Вы должны знать, что на этом пути встретятся проблемы.
Например, если использовать схему позднего связывания(> Тютюнников (2004-07-26 10:31:01)) ,то
резко, примерно на два порядка, снижается реальное быстродействие программы (по сравнению с VBA) из-за многоступенчатого доступа к объектам AutoCAD.
Вообще, использование в программе сочетаний из разных языков программмирования и различных технологий (COM,OLE,*.dll) это развлечения для изощренных профессионалов, попробуйте для начала разобраться с VBA.
Удачи!

Re: Visual Basic для создания программ для AutoCAD

> igor
Там все - простые смертные!!! Не видел ни одного бессмертного!! Нет проблем, там же(на ADN) условия -чуть больше штуки в год и все!!
Как добавиться туда-
http://usa.autodesk.com/adsk/servlet/it … ;id=723350

> Leonid
снижение скорости не из-за позднего связывания,(этот механизм только для того, чтобы не быть привязанным к какой-то конкретной версии продукта) VBA работает в одном адресном пространстве с АКАДом, а внешнее приложение, есть свои плюсы и минусы.. программирование, это не кубик Рубика, вариантов несколько больше. VB- наиболее удачный выбор, потому что он же и в VBA Офиса и прочих прог используется. Математику конечно на С++ писать  лучше. А Visual Studio потому так и называется, что интерфейс для пользователей на VB пишется, а если скорость нужна, то это на С++ выносится как dll.
К Автокаду хелп по программированию очень хороший и почти без ошибок. Для VB VBA более чем достаточно.

Re: Visual Basic для создания программ для AutoCAD

> igor
кстати, быть в ADN еще хорошо и тем, что проги, которые Вы пишете, пользователи не боялись юзать - сертификацию программ можно пройти и поставить лейбл Certified Autodesk! А это уже очень неплохо выглядит, когда прога в базе данных Autodesk есть! например у меня на сайте www.mechmagic.com можете посмотреть, как это выглядит. И проги в http://www.inventor-certified.com/index.php
зарегистрированы, причем это доступно на поглядеть любому желающему, ткнул линк на Вашем сайте и попал на сайт Autodesk. По-моему , это того стоит.