Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

AutoCAD automation


GLFox ©   (2004-12-09 13:39:00) 

Необходимо вызвать функцию SelectionSet.SelectXXX, но проблема!
При передаче параметра FilterType начинается грязная ругань, на то что invalid.
Если кто может, нарисуйте пример вызова.


k2   (2005-01-31 08:32:00) [1]

С SelectionSet очень несложно работать, просто при раннем связывании нужно правильно объявить фильтр (пример давала пару недель назад, но поиском не могу найти, так как он был в потрепаловке):


procedure TForm1.Button1Click(Sender: TObject);
var
 acad: AcadApplication;
 adoc: IAcadDocument;
 ss: IAcadSelectionSet;  
 ft, fd, llp, urp: OleVariant;
 i: integer;
begin
 try
   acad := GetActiveOleObject('AutoCAD.Application')as AcadApplication;
 except
   showmessage('Откройте Автокад.');
 end;
 if not assigned(acad) then
   exit;
 adoc := acad.ActiveDocument;
 try
   ss := adoc.SelectionSets.Add('ss');
 except
   ss := adoc.SelectionSets.Item('ss');
 end;
 if not assigned(ss) then
   exit;
 ft := VarArrayCreate([0, 0], varSmallint);
 fd := VarArrayCreate([0, 0], varVariant);
 ft[0] := 0; fd[0] := 'Spline';
 ss.Clear;
 ss.Select(acSelectionSetAll, EmptyParam, EmptyParam, ft, fd);
 ss.Highlight(true);
 acad.Update;
 Memo1.Lines.Add(IntToStr(ss.Count));
end;


Владимир   (2005-01-29 14:43:00) [2]

А какая версия када? Работает по разному.
SelectionSet вообще работает своебразно :)
скорее всего это связано с тем, что оно несколько по разному поддерживается в командной строке, лиспе и VB , поэтому лучше на мой взгляд эту SelectionSet на VB вообще обойти, не для него она делалась. я решал проблему предварительно посылая через SendCommand очистку селекшинов или наоборот select с фильтром


Наверх

Титульная страница Поиск, карта сайта Написать письмо