Подключение к документу nanoCAD из MS Excel Автор: Dmitry Rudenko Альтернативная версия статьи: http://habrahabr.ru/post/238867/ Доступ к объектам чертежа nanoCAD можно получить прямо из Excel. Для этого: нажимаем Alt + F11 (запускаем MS VB for App) в дереве проекта создаём новый модуль подключаем следующие библиотеки (Tools - References…): nanoCAD Type Library (NCAuto.dll) MechaniCS COM 2.0 type library (McCOM2.dll) OdaX 3.04 Type Library (OdaX_csd.dll) добавляем следующий код в модуль: 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 Полезные ссылки Форум nanoCAD: Программирование под платформу nanoCAD http://vbamodel.narod.ru/ - Объектная модель AutoCAD http://www.alex160570.narod.ru/AcadVBA/vba01.htm - программирование на VBA swell , nanocad , excel , vba