Главная » Delphi, OLE, САПР » Наклоненная плоскость – КОМПАС в DELPHI

0

Параметры наклоненной плоскости (ksPlaneAngleDefinition)

Наклоненная плоскость представляет собой плоскость, расположенную под заданным углом по отношению к базовой плоскости. Параметры наклоненной плоскости задаются интерфейсом ksPlaneAngleDefinition. Его возвращает метод GetDefinition() интерфейса ksEntity.

У интерфейса ksPlaneAngleDefinition всего одно свойство.

angle – угол между наклоненной и базовой плоскостями. Рассмотрим основные методы интерфейса ksPlaneAngleDefinition.

GetAxis()  –  возвращает  интерфейс  ksEntity,  описывающий  ось,  по

которой пересекаются наклоненная и базовая плоскости.

GetPlane() – возвращает интерфейс ksEntity, описывающий базовую плоскость.

SetAxis – устанавливает новую ось, по которой пересекаются наклоненная и базовая плоскости. В качестве единственного параметра принимает интерфейс ksEntity, описывающий устанавливаемую ось. В случае успеха метод возвращает значение TRUE.

SetPlane – устанавливает новую базовую плоскость. В качестве единственного параметра принимает интерфейс ksEntity описывающий устанавливаемую плоскость. В случае успеха метод возвращает значение TRUE.

Пример

Ниже приводится ключевой фрагмент исходного текста программы, демонстрирующей построение наклоненной плоскости.

const

pTop_Part = -1;

o3d_planeXOY = 1;

o3d_planeYOZ = 3;

o3d_axis2Planes = 9;

o3d_planeAngle = 15;

var

kompas: KompasObject; Document3D: ksDocument3D; Part: ksPart;

EntityPlaneXOY, EntityPlaneYOZ, EntityPlaneAngle: ksEntity;

EntityAxis: ksEntity;

Axis2PlanesDefinition: ksAxis2PlanesDefinition;

PlaneAngleDefinition: ksPlaneAngleDefinition;

begin

//Подключаемся к КОМПАСу

kompas:=KompasObject(CreateOleObject(‘Kompas.Application.5′));

//Получаем интерфейс документа-модели

Document3D:=ksDocument3D(kompas.Document3D());

//Создаем документ-модель

Document3D.Create(FALSE,true);

//Получаем интерфейс компонента

Part:= ksPart(Document3D.GetPart(pTop_Part));

//Получаем интерфейс объекта "плоскость XOY"

EntityPlaneXOY:=ksEntity(Part.GetDefaultEntity(o3d_planeXOY));

//Получаем интерфейс объекта "плоскость YOZ"

EntityPlaneYOZ:=ksEntity(Part.GetDefaultEntity(o3d_planeYOZ));

//////////////////////////////////////////////

//Ось, как результат пересечения двух плоскостей

//////////////////////////////////////////////

//Получаем интерфейс объекта

EntityAxis:=ksEntity(Part.NewEntity(o3d_axis2Planes));

//Получаем интерфейс параметров объекта

Axis2PlanesDefinition:=ksAxis2PlanesDefinition(EntityAxis.GetDefinition());

//Устанавливаем первую плоскость

Axis2PlanesDefinition.SetPlane(1,EntityPlaneXOY);

//Устанавливаем вторую плоскость

Axis2PlanesDefinition.SetPlane(2,EntityPlaneYOZ);

//Создаем ось

EntityAxis.Create();

////////////////////////////////////////////////

//Наклоненная плоскость

////////////////////////////////////////////////

//Получаем интерфейс объекта "наклоненная плоскость"

EntityPlaneAngle:=ksEntity(Part.NewEntity(o3d_planeAngle));

//Получаем интерфейс параметров объекта "наклоненная плоскость"

PlaneAngleDefinition:=ksPlaneAngleDefinition(EntityPlaneAngle.GetDefinition());

//Угол наклона наклоненной плоскости

PlaneAngleDefinition.angle:=-45;

//Устанавливаем базовую плоскость

PlaneAngleDefinition.SetPlane(EntityPlaneXOY);

//Устанавливаем ось

PlaneAngleDefinition.SetAxis(EntityAxis);

//Создаем наклоненную плоскость

EntityPlaneAngle.Create();

end;

//Делаем оси невидимыми

Document3D.hideAllAxis:=TRUE;

//Делаем плоскости видимыми

Document3D.hideAllPlanes:=FALSE;

//Делаем КОМПАС видимым

kompas.Visible:=true;

В данном примере создается плоскость наклоненная под углом 45° к плоскости XOY и, пересекающаяся с последней по оси OY. На рисунке ниже показан результат работы этой программы.

Источник: Норсеев Сергей, «РАЗРАБОТКА ПРИЛОЖЕНИЙ ПОД КОМПАС В DELPHI»

По теме:

  • Комментарии