--- title: "Интерфейс IModelContainer" type: interface api: [api7] domain: [sketch, feature] tags: [interface, api7, sketch, feature, imodelcontainer] sources: - imodelcontainer.html --- *API интерфейсов. Версия 7 > Документ 3D  > Операции, массивы, эскизы, точки  > Контейнер * ## Интерфейс IModelContainer Интерфейс контейнера трехмерных объектов. Иерархия: IDispatch IModelContainer Описание. Интерфейс позволяет работать с коллекциями 3D-объектов, входящих в состав 3D-объекта. Примечание. Интерфейс контейнера является дополнительным к интерфейсу IPart7. Данный интерфейс можно получить от IPart7 посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif); ## AddObject - Создает новый элемент 3D модели Синтаксис Automation: ``` LPDISPATCH AddObject( ksObj3dTypeEnum ObjectType ); ``` Синтаксис COM: ``` HRESULT AddObject( ksObj3dTypeEnum ObjectType, IModelObject * * Result ); Возвращаемое значение: - указатель на интерфейс IModelObject. Входные параметры: ObjectType - тип объекта из перечисления ksObj3dTypeEnum. ``` ## BilletsObsoletes - Коллекция деталей заготовок и зеркальных деталей Тип данных: указатель на интерфейс коллекции деталей заготовок и зеркальных деталей IBilletsObsoletes Синтаксис Automation: ``` BilletsObsoletes = Object.BilletsObsoletes; Получить свойство (* ) BilletsObsoletes = Object.GetBilletsObsoletes(); Получить свойство (**) ``` Синтаксис COM: ``` Object.get_BilletsObsoletes( &BilletsObsoletes); Получить свойство ``` Примечание: Свойство доступно только для чтения. ## BodyRepositions - Коллекция операций перепозиционирования тела, поверхности Тип данных: Указатель на интерфейс IBodyRepositions. Синтаксис Automation: ``` BodyRepositions = Object.BodyRepositions; Получить свойство (* ) BodyRepositions = Object.GetBodyRepositions(); Получить свойство (**) ``` Синтаксис COM: ``` Object.get_BodyRepositions( &BodyRepositions ); Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Booleans - Коллекция булевых операций Тип данных: Указатель на интерфейс IBooleans. Синтаксис Automation: ``` Booleans = Object.Booleans Получить свойство (* ) Booleans = Object.GetBooleans() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Booleans( &Booleans ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Chamfers - Коллекция операций Фаска Тип данных: Указатель на интерфейс IChamfers. Синтаксис Automation: ``` Chamfers = Object.Chamfers Получить свойство (* ) Chamfers = Object.GetChamfers() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Chamfers( &Chamfers ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## CollectionsGeometry - Коллекции геометрии Тип данных: указатель на интерфейс ICollectionsGeometry. Синтаксис Automation: ``` CollectionsGeometry = Object.CollectionsGeometry; Получить свойство (* ) CollectionsGeometry = Object.GetCollectionsGeometry(); Получить свойство (**) ``` Синтаксис COM: ``` Object.get_CollectionsGeometry( &CollectionsGeometry ); Получить свойство ``` Примечание: Свойство доступно только для чтения. ## CopiesGeometry - Коллекция операций копирования геометрии Тип данных: указатель на интерфейс ICopiesGeometry. Синтаксис Automation: ``` CopiesGeometry = Object.CopiesGeometry; Получить свойство (* ) CopiesGeometry = Object.GetCopiesGeometry(); Получить свойство (**) ``` Синтаксис COM: ``` Object.get_CopiesGeometry( &CopiesGeometry ); Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Cuts - Коллекция операций Cечение Тип данных: Указатель на интерфейс ICuts. Синтаксис Automation: ``` Cuts = Object.Cuts Получить свойство (* ) Cuts = Object.GetCuts() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Cuts( &Cuts ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## DraftsFromEdges - Коллекция операций "Уклон от базовой линии" Тип данных: Указатель на интерфейс IDraftsFromEdges Синтаксис Automation: ``` DraftsFromEdges = Object.DraftsFromEdges Получить свойство (* ) DraftsFromEdges = Object.GetDraftsFromEdges() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_DraftsFromEdges( &DraftsFromEdges ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия КОМПАС v22 ## ElementaryBodies - Коллекция элементарных тел Тип данных: Указатель на интерфейс IElementaryBodies Синтаксис Automation: ``` ElementaryBodies = Object.ElementaryBodies Получить свойство (* ) ElementaryBodies = Object.GetElementaryBodies() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_ElementaryBodies( &ElementaryBodies ) Получить свойство ``` Примечание: Свойство доступно только для чтения. КOMPAS v24 ## Evolutions - Коллекция кинематических операций Тип данных: Указатель на интерфейс IEvolutions. Синтаксис Automation: ``` Evolutions = Object.Evolutions Получить свойство (* ) Evolutions = Object.GetEvolutions() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Evolutions( &Evolutions ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Extrusions - Указатель на интерфейс коллекции операций выдавливания Тип данных: указатель на интерфейс коллекции операций выдавливания IExtrusions. Синтаксис Automation: ``` Extrusions = iObject.Extrusions; Получить свойство (* ) Extrusions = iObject.GetExtrusions(); Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_Extrusions( &Extrusions ); Получить свойство ``` Примечание: 1. Свойство доступно только для чтения. 2. Свойство позволяет получать коллекции операций выдавливания. ## FeaturePatterns - Указатель на интерфейс коллекции операций копирования Тип данных: указатель на интерфейс IFeaturePatterns. Синтаксис Automation: ``` FeaturePatterns = Object.FeaturePatterns Получить свойство (* ) FeaturePatterns = Object.GetFeaturePatterns() Получить свойство (**) ``` Синтаксис COM: ``` FeaturePatterns = Object.GetFeaturePatterns() Получить свойство Свойство позволяет получить коллекцию всех операций копирования, входящих в состав данного объекта. ``` Примечание: Свойство доступно только для чтения. ## Fillets - Коллекция операций Скругление Тип данных: Указатель на интерфейс IFillets. Синтаксис Automation: ``` Fillets = Object.Fillets Получить свойство (* ) Fillets = Object.GetFillets() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Fillets( &Fillets ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## FullFillets - Коллекция операций полного скругления Тип данных: Указатель на интерфейс IFullFillets Синтаксис Automation: ``` FullFillets = Object.FullFillets Получить свойство (* ) FullFillets = Object.GetFullFillets() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_FullFillets( &FullFillets ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия Компас v18.1 ## Holes3D - Коллекция отверстий 3D Тип данных: Указатель на интерфейс IHoles3D. Синтаксис Automation: ``` Holes3D = Object.Holes3D Получить свойство (* ) Holes3D = Object.GetHoles3D() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Holes3D( &Holes3D ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Inclines - Коллекция операций Уклон Тип данных: Указатель на интерфейс IInclines. Синтаксис Automation: ``` Inclines = Object.Inclines Получить свойство (* ) Inclines = Object.GetInclines() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Inclines( &Inclines ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Lofts - Коллекция операций По сечениям Тип данных: Указатель на интерфейс ILofts. Синтаксис Automation: ``` Lofts = Object.Lofts Получить свойство (* ) Lofts = Object.GetLofts() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Lofts( &Lofts ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## MacroObjects3D - Коллекция макроэлементов 3D Тип данных: Указатель на интерфейс IMacroObjects3D. Синтаксис Automation: ``` MacroObjects3D = Object.MacroObjects3D Получить свойство (* ) MacroObjects3D = Object.GetMacroObjects3D() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_MacroObjects3D( &MacroObjects3D ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## MoldCavities - Коллекция операций вычитания компонентов Тип данных: Указатель на интерфейс IMoldCavities. Синтаксис Automation: ``` MoldCavities = Object.MoldCavities Получить свойство (* ) MoldCavities = Object.GetMoldCavities() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_MoldCavities( &MoldCavities ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Objects - Трехмерные объекты, входящие в состав данного объекта Тип данных: VARIANT Синтаксис Automation: ``` Objects = iObject.Objects(ObjType) Получить свойство (* ) Objects = iObject.GetObjects(ObjType) Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_Objects( &Objects ) Получить свойство Входные параметры: ObjType - тип трехмерных объектов из перечисления ksObj3dTypeEnum или KompasAPIObjectTypeEnum. ``` Примечание: 1.Свойство доступно только для чтения. 2.Коллекция объектов возвращается в виде массива SAFEARRAY объектов LPDISPATCH (VT_ARRAY | VT_DISPATCH). Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH. 3.В качестве типа объекта может передаваться одно значение (VT_I4) или массив типов объектов (VT_ARRAY| VT_I4). Типы объектов могут быть из перечислений ksObj3dTypeEnum и KompasAPIObjectTypeEnum. Если тип передается ksObj3dTypeEnum::o3d_unknown – возвращаются все объекты. ## PipeElements - Коллекция трубчатых элементов Тип данных:  Указатель на интерфейс IPipeElements Синтаксис Automation: ``` PipeElements = Object.PipeElements Получить свойство (* ) PipeElements = Object.GetPipeElements() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_PipeElements( &PipeElements ) Получить свойство ``` Примечание: Свойство доступно только для чтения. КOMPAS v24 ## Points3D - Указатель на интерфейс коллекции элементов Пространственная точка Тип данных: указатель на интерфейс коллекции элементов Пространственная точка IPoints3D. Синтаксис Automation: ``` Points3D = iObject.Points3D; Получить свойство (* ) Points3D = iObject.GetPoints3D(); Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_Points3D( &Points3D ); Получить свойство ``` Примечание: 1. Свойство доступно только для чтения. 2. Свойство позволяет получать коллекции элементов Пространственная точка. ## Ribs - Коллекция операций Ребро жесткости Тип данных: Указатель на интерфейс IRibs. Синтаксис Automation: ``` Ribs = Object.Ribs Получить свойство (* ) Ribs = Object.GetRibs() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Ribs( &Ribs ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Rotateds - Указатель на интерфейс коллекции операций вращения Тип данных: указатель на интерфейс коллекции операций вращения IRotateds. Синтаксис Automation: ``` Rotateds = Object.Rotateds Получить свойство (* ) Rotateds = Object.GetRotateds() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Rotateds( &Rotateds ) Получить свойство Свойство позволяет получить коллекцию всех операций вращения, входящих в состав данного объекта. ``` Примечание: Свойство доступно только для чтения. ## Scalings3D - Коллекция операций масштабирования Тип данных: указатель на интерфейс IScalings3D. Синтаксис Automation: ``` Scalings3D = Object.Scalings3D Получить свойство (* ) Scalings3D = Object.GetScalings3D() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Scalings3D( &Scalings3D ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Shells - Коллекция операций Оболочка Тип данных: Указатель на интерфейс IShells. Синтаксис Automation: ``` Shells = Object.Shells Получить свойство (* ) Shells = Object.GetShells() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_Shells( &Shells ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## Sketchs - Указатель на интерфейс коллекции объектов "Эскиз" Тип данных: указатель на интерфейс коллекции элементов «Эскиз» ISketchs. Синтаксис Automation: ``` Sketchs = iObject.Sketchs; Получить свойство (* ) Sketchs = iObject.GetSketchs(); Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_Sketchs( &Sketchs ); Получить свойство ``` Примечание: 1. Свойство доступно только для чтения. 2. Свойство позволяет получать коллекции элементов "Эскиз". ## SplitSolids - Коллекция операций Разрезать Тип данных: Указатель на интерфейс ISplitSolids. Синтаксис Automation: ``` SplitSolids = Object.SplitSolids; Получить свойство (* ) SplitSolids = Object.GetSplitSolids(); Получить свойство (**) ``` Синтаксис COM: ``` Object.get_SplitSolids( &SplitSolids ); Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия: Компас v20 ## SurfaceThickenings - Указатель на интерфейс коллекции операций придания толщины Тип данных: указатель на интерфейс коллекции операций придания толщины ISurfaceThickenings. Синтаксис Automation: ``` SurfaceThickenings = Object.SurfaceThickenings Получить свойство (* ) SurfaceThickenings = Object.GetSurfaceThickenings() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_SurfaceThickenings( &SurfaceThickenings ) Получить свойство Свойство позволяет получить коллекцию всех операций придания толщины, входящих в состав данного объекта. ``` Примечание: Свойство доступно только для чтения. ## UnionsComponents - Коллекция операций объединения компонентов Тип данных: Указатель на интерфейс IUnionsComponents. Синтаксис Automation: ``` UnionsComponents = Object.UnionsComponents Получить свойство (* ) UnionsComponents = Object.GetUnionsComponents() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_UnionsComponents( &UnionsComponents ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## UserObjects - Коллекции пользовательских объектов 3D Тип данных: Указатель на интерфейс IUserObjects3D. Синтаксис Automation: ``` UserObjects = Object.UserObjects Получить свойство(* ) UserObjects = Object.GetUserObjects() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_UserObjects(&UserObjects ) Получить свойство ``` Примечание: Свойство доступно только для чтения. ## WireFrames3D - Коллекция трехмерных каркасов Тип данных: Указатель на интерфейс IWireFrames3D. | WireFrames3D = Object.WireFrames3D | Получить свойство (* ) | | --- | --- | | WireFrames3D = Object.GetWireFrames3D() | Получить свойство (**) | Синтаксис COM: ``` Object.get_WireFrames3D( &WireFrames3D ) Получить свойство ``` Примечание: Свойство доступно только для чтения. Версия: Компас v20