GMOperatorsInterfaces Global Function CATCGMCreateTopAssemble


CATCGMCreateTopAssemble( iFactory,
iData,
iBodiesToAssemble)
Constructs a CATICGMHybAssemble that assembles bodies. THIS FUNCTION CAN BE USED FOR SHELLS AND WIRES. HOWEVER, THE CATCGMCreateNewTopAssemble FUNCTION SHOULD BE PREFERED OVER CATCGMCreateTopAssemble WHEN THE INPUT BODIES ARE SHELLS. CAA DEVELOPERS USING THIS FUNCTION ARE RECOMMENDED TO MIGRATE TO CATCGMCreateNewTopAssemble WHICH IS MORE ROBUST. In the case of shell domains the operator detects the edges of shell domains laying on curves that are geometrically coiencident, gathers them in one edge, and manages the topology to return a valid body. The operator only scans the shell domains. It can create closed shells.
Orientation: The orientation of a resulting shell is the orientation of the first face (obtained by the CATDomain::GetCell method) of the first shell (obtained by the CATBody::GetDomain method). Even if a shell cannot be assembled, it is put in the resulting body. However, its orientation may have been changed, if the orientation of its first face and its own orientation are opposite. In the case of wire domains the operator detects the vertices of wire domains laying on points that are geometrically coiencident, gathers them in one vertex, and manages the topology to return a valid body. The operator only scans the wire domains. It can create closed wires.
Each input body each can contain several disconnected wires. If all the wires of the input bodies can be connected in one resulting wire, the orientation of the result is the orientation of the first wire (CATBody::GetWire(1)) of the first body. If not, the result contains several disconnected wires, which orientation is given by the first wire found in the list and belonging to this portion.
Parameters:
iFactory
The pointer to the factory of the geometry.
iData
The pointer to the data defining the software configuration and the journal. If the journal inside iData is NULL, it is not filled.
iBodiesToAssemble
The pointer to the list of bodies containing the domains to assemble. These bodies must contain at least one shell domain. Wires and lumps domains are ignored. The operator does not any self-intersecting tests. If shells are intersecting each other, the operator does not assemble them. However, it put them into the resulting body.
Returns:
[out, IUnknown#Release] The pointer to the created operator. To be released with the Release method after use.

This object is included in the file: CATCGMCreateTopAssemble.h

Copyright © 1999-2015, Dassault Systèmes. All rights reserved.