Главная » Языки программирования и собственно написание компьютерных программ

Управление функциями AutoCad из программы на Visual Basic

Если результатом работы вашей программы должен быть какой-либо векторный чертеж(техническая документация, строительный чертеж, географическая карта и пр.), то самый быстрый путь создания такого приложения — это обращение к функциям AutoCAD из вашей VВ2010-программы. AutoCAD (Computer-Aided Design) — это 2- и 3-мерная система автоматизированного проектирования и черчения. Эта система, также как и пакет приложений Microsoft Office, может являться сервером OLE-объектов, и его функции могут использоваться другими приложениями.

Графическими примитивами векторной графики являются отрезки, дуги, окружности, тексты, которые можно выводить под различными углами к горизонту, и, может быть, еще некоторые простейшие геометрические фигуры. Чертеж, подлежащий построению, состоит из совокупности таких элементов. VВ2010-программа путем обращения к соответствующим функциям AutoCAD формирует такой чертеж и записывает его в DWG-файл. Пользователь может просмотреть этот файл в среде AutoCAD, отредактировать его и вывести на печать.

Приступаем к программированию поставленной задачи. Как обычно после запуска VB2010, выбираем шаблон Windows Forms Application. Далее следует подключить библиотеку объектов AutoCAD, для этого в пункте меню Project выбираем команду Add Reference, затем на вкладке СОМ дважды щелкнем на ссылке AutoCAD 2000 Object Library. Эта ссылка соответствует файлу ACAD.TLD в соответствующей папке Program Files, где расположен результат инсталляции AutoCAD. Теперь после компиляции проекта в папке obj\x86\Debug появится файл Interop.AutoCAD.dll.

Таким образом, мы подключили библиотеку объектов AutoCAD версии 2000. Если на вашем компьютере инсталлирована другая версия AutoCAD, то действуйте аналогично. Программа, выводящая в DWG-файл два отрезка, а также два горизонтально и вертикально ориентированных текста представлена ниже:

Построение отрезков и двух строк текста в AutoCAD

‘ Программа строит средствами объектов библиотеки AutoCAD

‘ элементарный чертеж из отрезков и некоторого текста.
‘ Этот чертеж сохраняется в файле формата DWG.
PublicClass Form1
Private Sub Form1_Load(ByVal senderAs System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
‘ Эта программа запускает AutoCAD 2000i, рисует
‘ два отрезка, два текста, сохраняет чертеж в
‘ C:\a.dwg и завершает работу AutoCAD.
‘ Следует подключить библиотеку объектов AutoCAD:
‘ Project — Add Reference — вкладка COM —
‘ AutoCAD — 2000 Object Library — OK.
Dim AcadApp As AutoCAD.AcadApplication = New AutoCAD.AcadApplication
‘ Также можно создать объект AcadApp таким образом:
‘ Dim AcadApp As AutoCAD.AcadApplication
‘ AcadApp = CreateObject("AutoCAD.Application")
‘ Dim Docs As AutoCAD.AcadDocuments = AcadApp.Documents
Dim Docs = AcadApp.Documents
‘ Dim Doc As AutoCAD.AcadDocument = Docs.Add
Dim Doc = Docs.Add
‘ Видимость:
AcadApp.Visible =True
‘ Точки:
Dim T1() AsDouble = {10, 10, 0}
Dim T2() AsDouble = {200, 200, 0}
Dim T3() AsDouble = {200, 10, 0}
Dim T4() AsDouble = {15, 200, 0}
‘ Нарисовать отрезок:
Doc.ModelSpace.AddLine(T1, T2)
‘ Нарисовать отрезок красным цветом:
Doc.ModelSpace.AddLine(T2, T3).Color = AutoCAD.ACAD_COLOR.acRed
‘ Горизонтальный текст (с разворотом 0 градусов):
Doc.ModelSpace.AddText("Горизонтальный", T4, 22)
‘ Вертикальный текст с разворотом на 90 град = ПИ/2:
Doc.ModelSpace.AddText("Вертикальный", T1, 22).Rotation = Math.PI / 2
Doc.SaveAs("C:\a.dwg")
AcadApp.Quit()
‘ Теперь ищите на своем винчестере файл C:\a.dwg
End Sub
EndClass

Как видно из программного кода, весь процесс работы программы происходит при загрузке формы Form1_Load. Вначале создается объект AutoCAD.Application, причем его можно создать одним предложением или двумя, как показано в комментарии. Далее создаем коллекцию документов AcadDocuments и открываем (делаем активным) один документ предложением Docs.Add. В комментариях приведены варианты написания команд.

Затем задаем видимость работы AutoCAD visible = True, при этом AutoCAD только мелькнет на экране. Замечу, что для конечной цели, т. е. для получения DWG-файла, видимость не обязательна. Далее задаем четыре точки, которые будут участвовать в построении чертежа. Обратите внимание, что каждая точка имеет три координаты, хотя мы собираемся строить плоский чертеж. Третью координату мы будем воспринимать, как напоминание того, что AutoCAD способен строить трехмерные чертежи.

Затем рисуем два отрезка AddLine через точки Tl, T2 и T2, тз. Причем мы показали, как второй отрезок задать красным цветом. Далее подаем команду выводить текст горизонтально, потом другой текст — вертикально с разворотом на90°, т. е. π/2. Затем, используя метод SaveAs, записываем построенный в документе чертеж в DWG-файл на логический диск С:.

В результате работы этой программы на Visual Basic получаем чертеж в системе AutoCAD.

Добавить комментарий

Ваш комментарий появится после модерации.