Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Delphi и Autocad. Отрисовывает точки на новом листее.

Delphi и Autocad. Отрисовывает точки на новом листее.

Ответ
Поиск в этой теме
Непрочитано 28.10.2008, 01:13 #1
Delphi и Autocad. Отрисовывает точки на новом листее.
Kajas
 
Регистрация: 28.10.2008
Сообщений: 3

Доброго времени суток. Есть небольшая проблема, имеется программа на Delphi, которая должна отрисовать точки согласно координатам. Подключаюсь к автокаду
Код:
[Выделить все]
 v:= CreateOleObject('AutoCAD.Application');
        Result := IDispatch(v) as IAcadApplication;
загружаю документ
Код:
[Выделить все]
S:=AcadApp.Application.Documents.Open(Edit2.text,1,'');
Создаю массив и заполняю значениями
Код:
[Выделить все]
Points:=VarArrayCreate([0,2], VarDouble);
  for j:=0 to StringGrid1.RowCount-2 do
 begin
  points[0]:=  StrToFloat(StringGrid1.Cells[0,j]);
  points[1]:=  StrToFloat(StringGrid1.Cells[1,j]);
  points[2]:=0.0;
Потом рисую точку
Код:
[Выделить все]
 PP:=AcadDocument1.Application.ActiveDocument.ModelSpace.AddPoint(Points);
  end;
Так вот, сначала выскакивает окно открытия шаблона, а затем точки ставятся в новом документе. Как сделать, чтоб рисовать в открытом файле?
Спасибо!
Просмотров: 3042
 
Непрочитано 28.10.2008, 08:40
#2
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


ТАк тебе надо подключится к открытому документу, а не новый создавать
Код:
[Выделить все]
Function GetAcadApplication(Visible: Boolean): IAcadApplication;
var
  v : OleVariant;
begin
  Try
// пытаемся присоединиться к уже запущенной копии AutoCad
    v := GetActiveOleObject('AutoCAD.Application');    
  Except
// если не получилось присоединиться, то запускаем новую копию AutoCad
    v:= CreateOleObject('AutoCAD.Application');
  end;
// приводим переменную типа OleVariant к типу IAcadApplication
  Result := IDispatch(v) as IAcadApplication;
// далее проверяем, надо ли делать приложение AutoCad видимым
  if Visible then Result.Visible := True;
end;
Объектная модель AutoCad применительно к языку программирования Delphi
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 28.10.2008, 11:51
#3
Kajas


 
Регистрация: 28.10.2008
Сообщений: 3


Этот код присутствует. Происходит вот так:
код нажатия кнопки отрисовка:
Код:
[Выделить все]
procedure TForm1.Button7Click(Sender: TObject);
var Points:OleVariant; PP:OleVariant; j:integer; S:IAcadDocument;
begin
S:=AcadApp.Application.Documents.Open(Edit2.text,1,'');
Points:=VarArrayCreate([0,2], VarDouble);
  for j:=0 to StringGrid1.RowCount-2 do
 begin
  points[0]:=  StrToFloat(StringGrid1.Cells[0,j]);
  points[1]:=  StrToFloat(StringGrid1.Cells[1,j]);
  points[2]:=0.0;
    PP:=AcadDocument1.Application.ActiveDocument.ModelSpace.AddPoint(Points);
  end;
AcadApp.ZoomAll;
ShowMessage('DONE!');
end;
Вот только АвтоКад выкидывает окно выбора шаблона. Я выбираю шаблон, он создаёт новый документ и в нем производит рисование. Но заданный файл он открывает.
Kajas вне форума  
 
Непрочитано 28.10.2008, 12:25
#4
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


ХММММ
Если честно то с Делфями Я еще пока на Вы, начал недавно разбираться.
Попробуйте по смотреть в Инете статьи по этому поводу, да и на Автокад.РУ темы есть. Ну и на нашем форуме что то обсуждалось.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
 
Автор темы   Непрочитано 28.10.2008, 21:12
#5
Kajas


 
Регистрация: 28.10.2008
Сообщений: 3


DEM, спасибо! Разобрался. Вы подтолкнули в нужном направлении. ))
Kajas вне форума  
 
Непрочитано 28.10.2008, 21:15
#6
DEM

YngIngKllr
 
Регистрация: 29.03.2005
СПб
Сообщений: 12,968


Дык а в чем проблема то была.
А то Я с Делфями щаз разбираюсь, может и мне пригодится.
__________________
Работаю за еду.
Working for food.
Für Essen arbeiten.
العمل من أجل الغذاء
Працую за їжу.
DEM вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Delphi и Autocad. Отрисовывает точки на новом листее.

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
AutoCad и Delphi. Добавление точки Зойберг Программирование 15 28.02.2008 23:18
Литература по программированию на Delphi для AutoCAD Sokolru Программирование 6 30.03.2006 08:12
Delphi и AutoCAD Kulon Программирование 1 14.07.2005 15:42
Delphi and AutoCAD John Ch. Программирование 4 31.01.2004 13:58