Нахилена площину – КОМПАС в DELPHI

Нахилена площину являє собою площину, розташовану під заданим кутом по відношенню до базової площини Параметри нахиленій площині задаються інтерфейсом 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(KompasApplication5))

/ / Отримуємо інтерфейс документа-моделі

Document3D:=ksDocument3D(kompasDocument3D())

/ / Створюємо документ-модель

Document3DCreate(FALSE,true)

/ / Отримуємо інтерфейс компонента

Part:= ksPart(Document3DGetPart(pTop_Part))

/ / Отримуємо інтерфейс обєкта площину XOY

EntityPlaneXOY:=ksEntity(PartGetDefaultEntity(o3d_planeXOY))

/ / Отримуємо інтерфейс обєкта площину YOZ

EntityPlaneYOZ:=ksEntity(PartGetDefaultEntity(o3d_planeYOZ))

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

/ / Вісь, як результат перетину двох площин

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

/ / Отримуємо інтерфейс обєкта

EntityAxis:=ksEntity(PartNewEntity(o3d_axis2Planes))

/ / Отримуємо інтерфейс параметрів обєкта

Axis2PlanesDefinition:=ksAxis2PlanesDefinition(EntityAxisGetDefinition())

/ / Встановлюємо першу площину

Axis2PlanesDefinitionSetPlane(1,EntityPlaneXOY)

/ / Встановлюємо другу площину

Axis2PlanesDefinitionSetPlane(2,EntityPlaneYOZ)

/ / Створюємо вісь

EntityAxisCreate()

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

/ / Нахилена площину

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

/ / Отримуємо інтерфейс обєкта нахилена площина

EntityPlaneAngle:=ksEntity(PartNewEntity(o3d_planeAngle))

/ / Отримуємо інтерфейс параметрів обєкта нахилена площина

PlaneAngleDefinition:=ksPlaneAngleDefinition(EntityPlaneAngleGetDefinition())

/ / Кут нахилу нахиленій площині

PlaneAngleDefinitionangle:=-45

/ / Встановлюємо базову площину

PlaneAngleDefinitionSetPlane(EntityPlaneXOY)

/ / Встановлюємо вісь

PlaneAngleDefinitionSetAxis(EntityAxis)

/ / Створюємо нахилену площину

EntityPlaneAngleCreate()

end

/ / Робимо осі невидимими

Document3DhideAllAxis:=TRUE

/ / Робимо площині видимими

Document3DhideAllPlanes:=FALSE

/ / Робимо КОМПАС видимим

kompasVisible:=true

У даному прикладі створюється площину нахилена під кутом 45 ° до площини XOY і, пересічна з останньої по осі OY На малюнку нижче показаний результат роботи цієї програми

Джерело: Норсеев Сергій, «розробка програм під КОМПАС У DELPHI»

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*