Тема: Операции с selectionset
в Visual Basic
for each entity in selectionset * * * (ent.move, ent.scaleentity и др. next ent
Как это будет в Delphi?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → Delphi → Операции с selectionset
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
в Visual Basic
for each entity in selectionset * * * (ent.move, ent.scaleentity и др. next ent
Как это будет в Delphi?
procedure TForm1.Button1Click(Sender: TObject); var ssSet:IAcadSelectionSet; i:integer; begin ssSet:=IAcad.ActiveDocument.SelectionSets.Add('My ssSet'); ssSet.SelectOnScreen(EmptyParam,EmptyParam); for i:=0 to ssSet.Count-1 do begin ssSet.Item(i).ScaleEntity(...); end; ssSet.Delete; end;
Спасибо за подсказку . Работает вроде нормально, но выдает неопознанную ошибку.
Что, и даже так?
procedure TForm1.Button1Click(Sender: TObject); var IAcad:IAcadApplication; ssSet:IAcadSelectionSet; i:integer; Point:OleVariant; begin IAcad:=GetActiveOleObject('AutoCAD.Application') as IAcadApplication; if IAcad=nil then Exit; ssSet:=IAcad.ActiveDocument.SelectionSets.Add('My ssSet'); ssSet.SelectOnScreen(EmptyParam,EmptyParam); Point:=IAcad.ActiveDocument.Utility.GetPoint(EmptyParam,'Укажите точку'); for i:=0 to ssSet.Count-1 do begin ssSet.Item(i).ScaleEntity(Point,1.5); ssSet.Item(i).Update; end; ssSet.Delete; IAcad:=nil; end;
Я понял свою ошибку:
надо
for i:=0 to ssSet.Count-1 do
а я написал:
for i:=0 to ssSet.Count do
поэтому и выдавало ошибку.
Большое спасибо.
> Kostya
Кеды в магазине тоже будешь брать в количестве 3-х штук? :)))
(шутка)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → Delphi → Операции с selectionset
Форум работает на PunBB, при поддержке Informer Technologies, Inc