Тема: Кто поможет получить параметры объектов?

Каким образом можно получить в программу на Дельфи координаты линий?
Я импортировал файл TLB, связал Автокад и Дельфи, обработчик OnSelectionChange срабатывает, но как получить координаты линий, которые входят в область выделения?
Мне просто нужно выполнять условие: "Если выделен один объект и этот объект линия, то занести в Мемо на форме его координаты". Вместо координат можно даже заносить в Мемо любой другой уникальный для каждой линии параметр (если есть у них какой-нибудь Name или ID), чтобы можно было однозначно определить какая из линий выделена. Не знаю как использовать SelectionSets и ActiveSelectionSet. Помогите пожалуйста примером, а то мне никогда такое делать не приходилось и без примера не разберусь.

Re: Кто поможет получить параметры объектов?

procedure TForm1.Button1Click(Sender: TObject);
var Acad:IAcadApplication;
    SelSet:IAcadSelectionSet;
    i:integer;
begin
  Acad:=GetActiveOleObject('AutoCAD.Application') as IAcadApplication;
  with Acad.ActiveDocument do
    begin
      for i:=0 to SelectionSets.Count-1 do
        if SelectionSets.Item(i).Name='SelSet' then
          begin
            SelectionSets.Item(i).Delete;
            Break;
          end;
      SelSet:=SelectionSets.Add('SelSet');
      SelSet.SelectOnScreen(EmptyParam,EmptyParam);
      Memo1.Clear;
      for i:=0 to SelSet.Count-1 do
        begin
          case SelSet.Item(i).EntityType of
          acLine:   with (SelSet.Item(i) as iAcadLine) do
                      begin
                        Memo1.Lines.Add(EntityName);
                        Memo1.Lines.Add('Layer: '+Layer);
                        Memo1.Lines.Add('Handle: '+Handle);
                        Memo1.Lines.Add('Object ID: '+IntToStr(ObjectID));
                        Memo1.Lines.Add('Length: '+FloatToStr(Length));
                        Memo1.Lines.Add('Stat Point: ');
                        Memo1.Lines.Add('   X: '+FloatToStr(StartPoint[0]));
                        Memo1.Lines.Add('   Y: '+FloatToStr(StartPoint[1]));
                        Memo1.Lines.Add('   Z: '+FloatToStr(StartPoint[2]));
                        Memo1.Lines.Add('End Point: ');
                        Memo1.Lines.Add('   X: '+FloatToStr(EndPoint[0]));
                        Memo1.Lines.Add('   Y: '+FloatToStr(EndPoint[1]));
                        Memo1.Lines.Add('   Z: '+FloatToStr(EndPoint[2]));
                        Memo1.Lines.Add('');
                      end;
          acCircle: with (SelSet.Item(i) as iAcadCircle) do
                      begin
                      end;
          end; //case
        end; //for
        SelSet.Delete;
    end; //with
    Acad:=nil;
end;

Re: Кто поможет получить параметры объектов?

зы.
вот загадка... а в доках про EntityType ничего нету  :(
загулянул в Autocad_TLB.pas (сгенерированный Delphi при импорте библиотеки типов), а там есть сей "волшебный "интерфейс IAcadEntity.

Re: Кто поможет получить параметры объектов?

> Леприкон
Огромное спасибо тебе за такой подробный ответ-пример.
Процедура выполняет всё, что мне надо.
Выручил!
Побольше бы таких людей ! и ответов!
Ещё раз огромное спасибо!