--- title: "Интерфейс операции вычитания компонентов (ksMoldCavityDefinition, IMoldCavityDefinition)" type: interface api: [api7] domain: [2d, assembly, feature] tags: [interface, api7, 2d, assembly, feature, ksmoldcavitydefinition] sources: - ksmoldcavitydefinition.html --- *API интерфейсов. Версия 5 > Документ-модель (Интерфейсы - ksDocument3D, IDocument3D )  > Компонент сборки (деталь или подсборка). Интерфейсы ksPart и IPart  > Объект модели (Интерфейсы ksEntity и IEntity)  > Интерфейсы ksEntity и iEntity - Интерфейс элемента модели (оси, плоскости, формообразующего элемента)  > Интерфейсы поверхностей * ## Интерфейс операции вычитания компонентов (ksMoldCavityDefinition, IMoldCavityDefinition) Интерфейс операции вычитания компонентов. | ksMoldCavityDefinition | - интерфейс Automation | | --- | --- | | IMoldCavityDefinition | - интерфейс COM | Примечания. 1. Позволяет создать полость, имеющую форму другой детали. 2. Операция доступна в режиме редактирования детали в контексте сборки. 3. Для входа в режим редактирования детали в контексте сборки используется функция ksPart::BeginEdit. 4. В операции вычитания могут участвовать только детали. Вычесть из детали подсборку невозможно. 5. Если необходимо, чтобы размеры создаваемой полости отличались от размеров вычитаемой детали, нужно задать коэффициент масштабирования в процентах scale. 6. Данный интерфейс можно получить, используя метод интерфейса элемента модели ksEntity::GetDefinition или IEntity::GetDefinition. ## GetScaleCentre - Получить вершину, относительно которой выполняется масштабирование Синтаксис Automation: ``` LPDISPATCH GetScaleCentre(); ``` Синтаксис COM: ``` LPENTITY GetScaleCentre(); Возвращаемое значение: - указатель на интерфейс коллекции компонентов ksEntity или IEntity, NULL - если вершина не задана. Примечания. В качестве вершины могут использоваться характерные точки графических объектов в эскизах, (например, конец отрезка, центр окружности и т.п.) или начала координат. Если вершина не указана, то используется точка, являющаяся центром масс деталей. ``` ## PartArray - Получить массив вычитаемых компонентов Синтаксис Automation: ``` LPDISPATCH PartArray(); ``` Синтаксис COM: ``` LPPARTCOLLECTION PartArray(); Возвращаемое значение: - Указатель на интерфейс коллекции компонентов ksPartCollection или IPartCollection. ``` ## scale - Коэффициент маcштабирования в % Тип данных: double Синтаксис Automation: ``` scale = iObject.scale Получить свойство (* ) iObject.scale = scale Установить свойство(* ) scale = iObject.GetScale() Получить свойство (**) iObject.SetScale (scale) Установить свойство (**) ``` ## SetScaleCentre - Установить вершину, относительно которой выполняется масштабирование Синтаксис Automation: ``` VARIANT_BOOL SetScaleCentre( LPDISPATCH vert ); ``` Синтаксис COM: ``` BOOL SetScaleCentre( LPENTITY vert ); Входные параметры: vert - Указатель на интерфейс коллекции компонентов ksEntity или IEntity. Возвращаемое значение: TRUE - в случае успеха, FALSE - в случае неудачи Примечания. В качестве вершины могут использоваться характерные точки графических объектов в эскизах (например, конец отрезка, центр окружности и т.п.) или начала координат. Если вершина не указана, то используется точка, являющаяся центром масс деталей. ```