Доброго времени суток.
Пишу внешнее приложение, которое должно открывать AutoCAD, открывать чертеж *.dwg, получать доступ к свойствам примитивов этого чертежа и менять эти свойства.
Конкретно меня интересуют размеры примитивов (радиус, длина, если это отрезок, высота выдавливания и тд.)
Пишу вот такой код ("F:\Чертеж1.dwg" - нарисован круг с каким-то радиусом, к которому нужно получить доступ и менять его программно):
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using CADAutomation;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Interop.Common;
namespace CADAutomation
{
public static class PF
{
public static AcadApplication gbl_app;
public static AcadDocument gbl_doc;
#region PublicFunctions
public static void CloseAllInstance()
{
Process[] aCAD = Process.GetProcessesByName("acad");
foreach (Process aCADPro in aCAD) {
aCADPro.CloseMainWindow();
}
}
public static void CreateAutoCADObject()
{
CloseAllInstance();
gbl_app = new AcadApplication();
var v_file = gbl_app.Documents.Open(@"F:\Чертеж1.dwg", false);
var v_item = v_file.ModelSpace.Item(0);
var v_block = v_file.Blocks.Item(0);
}
}
}
То, что я получаю в
v_item и
v_block, не дает мне возможности менять размеры.
Подскажите, что я делаю не так или как лучше справиться с подобной задачей.
Спасибо.