Содержание

Подключение к документу nanoCAD из MS Excel

Автор: Dmitry Rudenko

Альтернативная версия статьи:
http://habrahabr.ru/post/238867/

Доступ к объектам чертежа nanoCAD можно получить прямо из Excel. Для этого:

Sub NANO()
    Dim app As nanoCAD.Application
    Set app = GetObject("", "nanoCAD.Application")
    app.Visible = True
 
    Dim ThisDrawing As nanoCAD.Document
    Set ThisDrawing = app.ActiveDocument
 
    Dim ms As AcadModelSpace
    Set ms = ThisDrawing.ModelSpace
 
    Dim ut As nanoCAD.Utility
    Set ut = ThisDrawing.Utility
 
    Dim server As McCOM2.IServer
    Set server = CreateObject("McCOM2.Server")
 
    Dim spdsobjects As McCOM2.ObjectsCollection
    Set spdsobjects = server.Query()
End Sub

Теперь с коллекцией ThisDrawing можно делать всё что угодно. Например, чтобы нарисовать линию, можно использовать следующий код:

    Dim line As AcadLine
    Dim pt0(2), pt1(2) As Double
    pt0(0) = 0
    pt0(1) = 0
    pt0(2) = 0
    pt1(0) = 1000
    pt1(1) = 1000
    pt1(2) = 1000
    Set line = ThisDrawing.ModelSpace.AddLine(pt0, pt1)

Свойства объекта

Чтобы посмотреть все свойства объекта, нужно щёлкнуть по переменной правой кнопкой и выбрать "Add Watch…". Теперь в режиме отладки можно следить за свойствами объекта в реальном времени.

Доступ к командной строке

Иногда возникает необходимость имитировать ввод каких-то команд в командную строку. Для этого можно использовать следующую конструкцию:

    ThisDrawing.SendCommand "CIRCLE" & vbCr & "100,100,0" & vbCr & "1000" & vbCr

Полезные ссылки