![]() |
ATTGEO |
Equivalent PK functions: |
PK_FACE_attach_surfs PK_EDGE_attach_curves PK_FIN_attach_curves PK_VERTEX_attach_points |
ATTGEO ( topol, geom, sense, ifail ) ==================================== Attach geometry to topology Receives: KI_tag_topology *topol --- topological entity KI_tag_geometry *geom --- geometric entity KI_cod_logical *sense --- face sense Returns: KI_cod_error *ifail --- failure code Specific errors: KI_has_parent 'geom' is already attached KI_bad_shared_dep attempt to illegally share a dependent of 'geom' KI_bad_shared_entity attempt to illegally share 'geom' KI_geom_not_needed 'topol' already owns geometry KI_geom_topol_mismatch geometry/topology mismatch KI_inconsistent_geom inconsistent geometry KI_wrong_entity type of 'topol' incorrect KI_invalid_geometry geometry does not pass checks KI_not_in_same_partition Topol and geom are in different partitions Description: The geometric entity is connected to the topological entity if their types permit. The combinations of topology and geometry allowed are: geometry | topology ----------------|------------ surface | face curve | edge curve | fin point | vertex transform | instance ATTGEO will not copy any geometric entity, thus attachments are further restricted by constraints on the sharing of geometry: o A point or transform cannot be attached to more than one topological entity. A curve or surface may be shared by more than one topological entity, so long as they are in the same body. o Orphan geometry may be attached to a face, edge or vertex if neither the entity nor any of its dependents are attached to topology and neither the entity nor any of its dependents are shared with any other orphan entity. o Construction geometry in a body may be attached to a face, edge or vertex so long as it is in the same body. There are also restrictions on the types of curve that may be attached to edges and fins. Only trimmed curves with SP curve basis curves may be attached to fins and the corresponding edge must have a user defined tolerance. No curve may be attached to a toleranced edge and no curves may be attached to the fins of a non-toleranced edge. If a transform is being attached to an instance it may only contain translation and rotation components. Reflections, scales and shears are not allowed. If data checking is on, (see SEINTP and OUINTP ), simple checks are made that geometry to be attached to a face, edge or vertex is geometrically consistent with any geometry attached to neighbouring topological entities, but the checks do not guarantee that the body is valid. For example, if a surface is attached to a face, a check is made that the curves of the edges of the face lie on the surface, but no check is made that the surface does not intersect other faces of the body. If the checks fail, attachment will not take place. If data checking is off, the only checks that will be performed are that the entity to be attached is of the correct type. When surfaces are attached to faces, 'sense' specifies the value to which the face sense is set. If 'sense' is true, the face normal is parallel to the surface normal. For all other combinations of geometry and topology the 'sense' is ignored. The curve or surface must be capable of passing the checks imposed by CHCKEN. The composite geometry checks are only performed if SLIPCO (see SEINTP) is set to 0. The self intersection check is only performed if SLIPSI (see SEINTP) is set to a non zero value. Note: ATTGEO may not be used to attach construction geometry to a body or assembly: use DEFCON for this.