Как построить перпендикулярную плоскость?

Автор BoyAn, 03.04.08, 00:43:18

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

BoyAn

Подскажите как программно построить плоскость, проходящую через вершину перпендикулярно ребру. Пробовал сам но не получается, получить указатель на ребро и вершину.

   iPart:=ksPart(iDocument3D.GetPart(pNew_Part));
  iPerpendicular1Entity:=ksEntity(iPart.NewEntity(o3d_planePerpendicular));
  if iPerpendicular1Entity <> nil then begin
    iPerpendicular1PlaneDef:=ksPlanePerpendicularDefinition(iPerpendicular1Entity.GetDefinition);
   if iPerpendicular1PlaneDef <> nil then begin

       iPerpendicular1PlaneDef.SetEdge(iSketchEntity);  :?: Здесь iSketchEntity - эскиз окружности
    iPerpendicular1PlaneDef.SetPoint(iSketch1Entity);  :?: ,а здесь точка принадлежащая окр-сти
     iPerpendicular1Entity.Create;
end;
end;

Выдается ошибка: "Ребро не определено" / "Вершина не определена"

BoyAn

Забыл добавить, скорее всего SetEdge и SetPoint получают входные параметры из переменной типа ksEntityCollection, но вот как... поскольку я полный нуб в энтом вопросе, пожалуйста подскажить механиз работы, а то диплом горит!

yarikv

06.04.08, 14:34:05 #2 Последнее редактирование: 06.04.08, 15:18:20 от yarikv
Перед тем как что то делать программно необходимо четко представлять как это делается вручну. Советую сначала то что вы хотите сделать программно сделать вручную.

Насчет определения вершины или ребра на этом форуме есть тема Исходники, Описания, примеры...
там вы найдете необходимые примеры. воспользуйтесь поиском. было много подобных тем.

есть функция  ksEntityCollection.SetByPoint. если известна геометрия, с помощью этой функции можно легко отфильтровать нужные элементы.

если что будет непонятно - пишите. всегда поможем:)