Автор: Dmitry Rudenko
Доступ к объектам чертежа 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