Classes | |
| class | asm_cleanup_options |
| Class object to encapsulate requests for optional behaviors when cleaning up handle objects. More... | |
| class | asm_get_options |
| Provides a data structure for passing optional arguments to assembly modeling "get" commands. More... | |
| class | asm_list_options |
| Class object to encapsulate requests for optional behaviors of assembly modeling list objects. More... | |
| class | asm_model |
| Class object to represent an assembly or part model within assembly modeling. More... | |
| class | asm_model_entity_mgr |
| Interface class to wrap customer "part model" and "assembly model" objects. More... | |
| class | asm_model_holder |
Holds a pointer to an asm_model. More... | |
| class | asm_model_info |
| Structure to contain information about an assembly modeling model. More... | |
| class | asm_model_list |
| Implements a variable length list of assembly models with set and index behavior and optional holding and counting mechanisms. More... | |
| class | asm_restore_options |
| More... | |
| class | asm_save_options |
| options object for asmi_save_model_list() More... | |
| class | asmi_model_save_entities_options |
| Specifies options for using asmi_model_save_entities. More... | |
| class | component_entity_handle |
| Assembly modeling proxy for the occurrence of an ENTITY within an assembly component. More... | |
| class | component_entity_handle_holder |
Holds a pointer to a component_entity_handle. More... | |
| class | component_entity_handle_list |
| Implements a variable length list of component entity handles with set and index behavior and optional holding and counting mechanisms. More... | |
| class | component_handle |
| Assembly modeling proxy for an assembly component. More... | |
| class | component_handle_holder |
Holds a pointer to an component_handle. More... | |
| class | component_handle_list |
| Implements a variable length list of component handles with set and index behavior and optional holding and counting mechanisms. More... | |
| class | default_entity_mgr |
Concrete entity manager class that simply wraps an ENTITY_LIST. More... | |
| class | default_entity_mgr_factory |
Concrete entity manager factory class for creating default_entity_mgr objects. More... | |
| class | entity_handle_holder |
| Holds a pointer to an entity_handle. More... | |
| class | entity_handle_list |
| Implements a variable length list of entity handles with set and index behavior and optional holding and counting mechanisms. More... | |
| class | entity_mgr_factory |
| Abstract class from which customers derive factory objects to create entity manager sub-class objects. More... | |
Defines | |
| #define | API_MODEL_BEGIN(_model_) asm_info this_asm_info( _model_); API_BEGIN asm_model_entity_mgr* mgr = (_model_)->mgr(); |
| | |
| #define | API_MODEL_END(_event_type_) API_END this_asm_info.end( result, _event_type_); |
| | |
| #define | API_MODEL_END2(_event_type_, _event_info_) API_END this_asm_info.end( result, _event_type_, _event_info_); |
| | |
| #define | ASM_END EXCEPTION_CATCH_FALSE status = resignal_no; EXCEPTION_END_NO_RESIGNAL outcome result(status); |
| | |
| #define | ASM_VERS_BEGIN(opts) int status = 0; EXCEPTION_BEGIN ALGORITHMIC_VERSION_BLOCK(opts ? &opts->get_version() : NULL); EXCEPTION_TRY |
| | |
| #define | MODEL_BEGIN(_model_) asm_info this_asm_info( _model_); outcome result; EXCEPTION_BEGIN asm_model_entity_mgr* mgr = (_model_)->mgr(); EXCEPTION_TRY |
| Make model active. | |
| #define | MODEL_END(_event_type_) EXCEPTION_CATCH_FALSE result = outcome(resignal_no); EXCEPTION_END_NO_RESIGNAL this_asm_info.end( result, _event_type_ ); |
| | |
| #define | MODEL_END2(_event_type_, _event_info_) EXCEPTION_CATCH_FALSE result = outcome(resignal_no); EXCEPTION_END_NO_RESIGNAL this_asm_info.end( result, _event_type_, _event_info_ ); |
| | |
Typedefs | |
| typedef asm_property_options | asm_options |
| | |
Enumerations | |
| enum | asm_event_type |
| Enumeration to indicate the degree of change which occurred to entities within a model during a MODEL_BEGIN/MODEL_END block. More... | |
| enum | asm_get_request |
| Specifier for which types of nodes should be walked in a request on a tree. More... | |
| enum | asm_hold_state |
| Enumeration to indicate whether a list of pointers to use-counted objects holds those objects by incrementing their use counts. More... | |
Functions | |
| outcome | api_asm_assembly_get_owning_model (const ASM_ASSEMBLY *assembly, asm_model *&model, AcisOptions *ao=NULL) |
| Returns the model that owns an assembly. | |
| outcome | api_asm_component_add_property (component_handle *component, ATTRIB *prop, asm_property_options *asmo=NULL, AcisOptions *ao=NULL) |
| Adds a property to the specified component. | |
| outcome | api_asm_component_get_property_owner (component_handle *comp, ATTRIB_COMPONENT_PROP_OWNER *&owner_attrib, logical create_if_absent, asm_property_options *asmo=NULL, AcisOptions *ao=NULL) |
| Finds the component property-owner attribute in a specific model that modifies a specific component. | |
| outcome | api_asm_component_has_property (component_handle *component, int attrib_type, ATTRIB *&prop, asm_property_options *asmo=NULL, AcisOptions *ao=NULL) |
| Determines if a property of the specified type has been added to the specified component. | |
| outcome | api_asm_entity_handle_get_ptr (entity_handle *handle, ENTITY *&ent, AcisOptions *ao=NULL) |
Returns the ENTITY associated with an entity handle. | |
| outcome | api_asm_model_find_components_with_property (const asm_model *model, int attrib_type, component_handle_list &prop_comps, AcisOptions *ao=NULL) |
| Returns a list of all components of the specified model that have a given property. | |
| outcome | api_asm_model_get_entity_handle (ENTITY *ent, asm_model *owning_model, entity_handle *&handle, logical check_entity_owner, AcisOptions *ao=NULL) |
Returns the entity handle associated with an ENTITY. | |
| outcome | api_asm_model_get_owned_property_owners (const asm_model *model, ENTITY_LIST &prop_atts, AcisOptions *ao=NULL) |
| Returns the component property-owner attributes that are owned by the specified model. | |
| outcome | api_asm_prune_assembly_history (HISTORY_STREAM *hs, logical &cleared_history, AcisOptions *ao=NULL) |
Prunes a history stream at any delta states which contains ASM_ASSEMBLY bulletins. | |
| outcome | asmi_check_model (const asm_model *given_asm_model, error_info *&return_err, AcisOptions *ao=NULL) |
Checks the consistency of an asm_model. | |
| outcome | asmi_cleanup (asm_cleanup_options const *copts=NULL, AcisOptions *ao=NULL) |
| Deletes all unneeded model and handle objects. | |
| outcome | asmi_cleanup_handles (asm_cleanup_options const *copts=NULL, AcisOptions *ao=NULL) |
| Deletes all unneeded handle objects. | |
| outcome | asmi_cleanup_models (AcisOptions *ao=NULL) |
| Deletes all unneeded model objects. | |
| outcome | asmi_component_entity_handle_decompose (component_entity_handle *comp_ent, component_handle *&comp, entity_handle *&ent, AcisOptions *ao=NULL) |
| Returns the entity and component handles corresponding to a component entity. | |
| outcome | asmi_component_find_color (component_handle *component, rgb_color &color, logical &found, AcisOptions *ao=NULL) |
| Gets the highest priority color property affecting a component of an assembly. | |
| outcome | asmi_component_find_name (component_handle *component, const wchar_t *&name, AcisOptions *ao=NULL) |
| Finds the name of the specified component in the assembly model. | |
| outcome | asmi_component_find_next_property (component_handle *component, int attrib_type, entity_handle *start_attrib, entity_handle *&the_property, AcisOptions *ao=NULL) |
| Searches an assembly tree for the next highest priority property attribute, of the specified type, that modifies a component of an assembly. | |
| outcome | asmi_component_find_property (component_handle *component, int attrib_type, entity_handle *&the_property, AcisOptions *ao=NULL) |
| Searches an assembly tree for the highest priority property attribute, of the specified type, that modifies a component of an assembly. | |
| outcome | asmi_component_find_transparency (component_handle *component, double &transparency, AcisOptions *ao=NULL) |
| Gets the highest priority transparency property affecting a component of an assembly. | |
| outcome | asmi_component_get_box (component_handle const *component, SPAbox &box, SPAboxing_options *boxing_opts=NULL, AcisOptions *ao=NULL) |
| Returns the box of a component of an assembly in the context of the assembly's root model. | |
| outcome | asmi_component_get_component_entities (component_handle *comp, component_entity_handle_list &comp_ent_list, AcisOptions *ao=NULL) |
| Returns a list of component-entity handles corresponding to the top-level entities of a component. | |
| outcome | asmi_component_get_entities (component_handle const *component, entity_handle_list &ents, AcisOptions *ao=NULL) |
| Returns a list of entity handles for the part-modeling entities contained within a component's model. | |
| outcome | asmi_component_get_parent (component_handle *component, component_handle *&parent, AcisOptions *ao=NULL) |
| Returns the parent component of a specified component. | |
| outcome | asmi_component_get_path (component_handle const *component, asm_model *&root_model, entity_handle_list &model_refs, AcisOptions *ao=NULL) |
| Returns the path of model references, through the folded assembly tree, that corresponds to a particular component. | |
| outcome | asmi_component_get_property_owners (const component_handle *component, entity_handle_list &prop_atts, AcisOptions *ao=NULL) |
| Returns all of the component property-owner attributes that modify a specific component. | |
| outcome | asmi_component_get_relative_transform (component_handle const *origin_comp, component_handle const *target_comp, SPAtransf &relative_transf, logical include_units_rescaling, AcisOptions *ao=NULL) |
| Returns the relative transform between two components of an assembly. | |
| outcome | asmi_component_get_root_model (component_handle *component, asm_model *&root_model, AcisOptions *ao=NULL) |
| Returns the root model of a specified component. | |
| outcome | asmi_component_get_sub_components (const component_handle *component, asm_get_request which_components, logical include_suppressed, component_handle_list &sub_components, AcisOptions *ao=NULL) |
| Returns a list of the sub-components of a component of a model, by walking the underlying model's assembly tree. | |
| outcome | asmi_component_get_transform (component_handle const *component, SPAtransf &component_transf, logical include_units_rescaling, AcisOptions *ao=NULL) |
| Returns the total transform that positions and orients a component within the root assembly. | |
| outcome | asmi_component_get_unmodified_model (component_handle const *component, asm_model *&model, AcisOptions *ao=NULL) |
| Returns a pointer to the raw end model associated with a component. | |
| outcome | asmi_component_get_unmodified_model (component_handle const *component, asm_model *&model, logical &is_modified, AcisOptions *ao=NULL) |
| Returns a pointer to the raw end model associated with a component. | |
| outcome | asmi_component_has_color_modifications (component_handle *component, logical &has_child_modifications, logical &has_component_modifications, logical &has_parent_modifications, AcisOptions *ao=NULL) |
| Determines if there are color properties that affect the specified component of an assembly model. | |
| outcome | asmi_component_has_hiding_modifications (component_handle *component, logical &has_child_modifications, logical &has_component_modifications, logical &has_parent_modifications, AcisOptions *ao=NULL) |
| Determines if there are properties that hide the specified component of an assembly model. | |
| outcome | asmi_component_has_material_modifications (component_handle *component, logical &has_child_modifications, logical &has_component_modifications, logical &has_parent_modifications, AcisOptions *ao=NULL) |
| Determines if there are material properties which affect the specified component in the assembly model. | |
| outcome | asmi_component_has_physical_modifications (component_handle *component, logical &has_child_modifications, logical &has_component_modifications, logical &has_parent_modifications, AcisOptions *ao=NULL) |
| Determines if there are physical properties (such as suppression) that affect the specified component of an assembly model. | |
| outcome | asmi_component_has_property_modifications (component_handle *component, int attrib_type, logical &has_child_modifications, logical &has_component_modifications, logical &has_parent_modifications, AcisOptions *ao=NULL) |
| Determines if there are property attributes, of the specified type, that affect the specified component of an assembly model. | |
| outcome | asmi_component_hide (component_handle *component, asm_property_options *asmo=NULL, AcisOptions *ao=NULL) |
| Hides the specified component within an assembly model. | |
| outcome | asmi_component_is_hidden (component_handle *component, logical &is_hidden, AcisOptions *ao=NULL) |
| Determines if the specified component is hidden by any property in its owning model's assembly tree. | |
| outcome | asmi_component_is_model_modified (component_handle const *component, logical &is_modified, AcisOptions *ao=NULL) |
| Queries whether a component has been modified by properties applied higher in the assembly tree. | |
| outcome | asmi_component_is_suppressed (component_handle *component, logical &is_suppressed, AcisOptions *ao=NULL) |
| Determines if the specified component is suppressed by any property in its owning model's assembly tree. | |
| outcome | asmi_component_mass_props (component_handle const *component, mass_props &mp, mass_props_options *mpo=NULL, AcisOptions *ao=NULL) |
| Determines the mass properties of a component. | |
| outcome | asmi_component_remove_color (component_handle *component, asm_property_options *asmo=NULL, AcisOptions *ao=NULL) |
| Removes the assembly-level color property of the specified component within an assembly. | |
| outcome | asmi_component_set_color (component_handle *component, rgb_color &color, asm_property_options *asmo=NULL, AcisOptions *ao=NULL) |
| Sets the color at the assembly level of the specified component within an assembly. | |
| outcome | asmi_component_set_name (component_handle *component, const wchar_t *name, AcisOptions *ao=NULL) |
| Sets the name of the specified component in the assembly model. | |
| outcome | asmi_component_set_transparency (component_handle *component, double transparency, asm_property_options *asmo=NULL, AcisOptions *ao=NULL) |
| Sets the transparency of the specified component of an assembly model. | |
| outcome | asmi_component_suppress (component_handle *component, asm_property_options *asmo=NULL, AcisOptions *ao=NULL) |
| Suppresses the specified component of an assembly model. | |
| outcome | asmi_component_unhide (component_handle *component, asm_property_options *asmo=NULL, AcisOptions *ao=NULL) |
| Removes the hide property from the specified component of an assembly model. | |
| outcome | asmi_component_unsuppress (component_handle *component, asm_property_options *asmo=NULL, AcisOptions *ao=NULL) |
| Removes the suppression property from the specified component of an assembly model. | |
| outcome | asmi_entity_handle_list_get_live_entities (entity_handle_list const &ent_handles, ENTITY_LIST &live_ent_list, AcisOptions *ao=NULL) |
| Returns ENTITY_LIST containing pointers to live entities associated with entity_handle_list. | |
| outcome | asmi_get_entity_mgr_factory (entity_mgr_factory *&factory, AcisOptions *ao=NULL) |
| Gets a pointer to the globally registered entity manager factory. | |
| outcome | asmi_get_models_which_share_history (asm_model *this_model, asm_model_list &sharing_models, AcisOptions *ao=NULL) |
| Returns a list of all models whose entity managers are bound to the same history stream as this model's entity manager. | |
| outcome | asmi_model_add_model_ref (asm_model *assembly_model, SPAtransf &transform, asm_model *referenced_model, entity_handle *&model_ref, AcisOptions *ao=NULL) |
| Creates a new model reference object and adds it to an assembly model. | |
| outcome | asmi_model_cleanup (asm_model_list &model_list, asm_cleanup_options const *copts=NULL, AcisOptions *ao=NULL) |
| Deletes a list of model objects and their handle objects, if unneeded. | |
| outcome | asmi_model_cleanup (asm_model *&model, asm_cleanup_options const *copts=NULL, AcisOptions *ao=NULL) |
| Deletes a model object and its handle objects, if unneeded. | |
| outcome | asmi_model_cleanup_handles (asm_model_list &model_list, asm_cleanup_options const *copts=NULL, AcisOptions *ao=NULL) |
| Deletes all unneeded handle objects belonging to a models in a list. | |
| outcome | asmi_model_cleanup_handles (asm_model *model, asm_cleanup_options const *copts=NULL, AcisOptions *ao=NULL) |
| Deletes all unneeded handle objects belonging to a model. | |
| outcome | asmi_model_cleanup_model (asm_model_list &model_list, AcisOptions *ao=NULL) |
| Deletes a list of model objects, if they are unneeded. | |
| outcome | asmi_model_cleanup_model (asm_model *&model, AcisOptions *ao=NULL) |
| Deletes a model object, if it is unneeded. | |
| outcome | asmi_model_cleanup_tree (asm_model_list &model_list, logical force_clear, asm_cleanup_options const *copts=NULL, AcisOptions *ao=NULL) |
| Deletes all sub-models of a list of model objects and their handle objects, if unneeded. | |
| outcome | asmi_model_create (asm_model_info &model_info, asm_model *&new_model, AcisOptions *ao=NULL) |
Creates a new asm_model object that wraps an asm_model_entity_mgr provided by the globally registered entity_mgr_factory. | |
| outcome | asmi_model_create (asm_model_entity_mgr *mgr, logical create_assembly, asm_model *&new_model, AcisOptions *ao=NULL) |
Creates a new asm_model object that wraps an asm_model_entity_mgr. | |
| outcome | asmi_model_create_assembly (asm_model *model, AcisOptions *ao=NULL) |
| Creates an assembly entity within a model, which changes the model from a part model into an assembly model. | |
| outcome | asmi_model_create_for_export (ENTITY_LIST &ents, asm_model_info &model_info, asm_model *&new_model, AcisOptions *ao=NULL) |
Creates a new asm_model object that wraps a new default_entity_mgr. | |
| outcome | asmi_model_del_assembly (asm_model *model, AcisOptions *ao=NULL) |
| Loses the assembly entity within a model, which changes the model from an assembly model into a part model. | |
| outcome | asmi_model_get_component_entity_handle (component_handle *comp, entity_handle *ent, component_entity_handle *&comp_ent, AcisOptions *ao=NULL) |
| Returns the component-entity handle corresponding to the specified component handle and entity handle. | |
| outcome | asmi_model_get_component_handle (entity_handle *model_ref, component_handle *&comp_handle, AcisOptions *ao=NULL) |
| Returns a component handle corresponding to a single model reference in the assembly tree. | |
| outcome | asmi_model_get_component_handle (asm_model *comp_model, component_handle *&comp_handle, AcisOptions *ao=NULL) |
| Returns a component handle corresponding to a single model in the assembly tree. | |
| outcome | asmi_model_get_component_handle (component_handle_list &components, component_handle *&comp_handle, AcisOptions *ao=NULL) |
| Returns a component handle corresponding to a list (path) of components. | |
| outcome | asmi_model_get_component_handle (asm_model *root_model, entity_handle_list &model_refs, component_handle *&comp_handle, AcisOptions *ao=NULL) |
| Returns a component handle corresponding to a list of model references that describe a path through the folded assembly tree. | |
| outcome | asmi_model_get_component_handle (entity_handle_list &model_refs, component_handle *&comp_handle, AcisOptions *ao=NULL) |
| Returns a component handle corresponding to a list of model references that describe a path through the folded assembly tree. | |
| outcome | asmi_model_get_components (asm_model *model, component_handle_list &components, asm_get_options *get_opts=NULL, AcisOptions *ao=NULL) |
| Returns a list of the components of a model by walking the model's assembly tree. | |
| outcome | asmi_model_get_entities (asm_model const *model, entity_handle_list &ents, AcisOptions *ao=NULL) |
| Returns a list of entity handles for the top-level part-modeling entities contained within a model. | |
| outcome | asmi_model_get_entity_mgr (asm_model const *model, asm_model_entity_mgr *&mgr, AcisOptions *ao=NULL) |
| Returns a pointer to the entity manager owned by a model. | |
| outcome | asmi_model_get_info (asm_model const *model, asm_model_info &model_info, AcisOptions *ao=NULL) |
Returns a model_info object containing information about a model. | |
| outcome | asmi_model_get_model_refs (asm_model const *assembly_model, entity_handle_list &model_ref_handles, AcisOptions *ao=NULL) |
| Gets all immediate model references belonging to an assembly model. | |
| outcome | asmi_model_get_sub_models (asm_model *root_model, asm_get_request which_models, asm_model_list &models, AcisOptions *ao=NULL) |
| Returns a list of all models upon which the input root model depends, that is, all models that appear below the root model in the assembly tree. | |
| outcome | asmi_model_has_assembly (asm_model *model, logical &answer, AcisOptions *ao=NULL) |
| Queries a model to determine if it contains a live assembly. | |
| outcome | asmi_model_ref_apply_transform (entity_handle *model_ref_or_assembly, SPAtransf &transf, AcisOptions *ao=NULL) |
| Applies a transform to a model reference or to all of the model references in an assembly. | |
| outcome | asmi_model_ref_get_model (entity_handle *model_ref, asm_model *&model, AcisOptions *ao=NULL) |
| Returns the model to which the specified model reference refers. | |
| outcome | asmi_model_ref_get_owning_model (entity_handle *model_ref, asm_model *&model, AcisOptions *ao=NULL) |
| Returns the model containing the assembly that owns a particular model reference. | |
| outcome | asmi_model_ref_get_transform (entity_handle *model_ref, SPAtransf &transf, AcisOptions *ao=NULL) |
| Gets the transform associated with a model reference. | |
| outcome | asmi_model_ref_set_transform (entity_handle *model_ref, SPAtransf &transf, AcisOptions *ao=NULL) |
| Resets the transform associated with a model reference. | |
| outcome | asmi_model_remove_model_ref (entity_handle *model_ref, AcisOptions *ao=NULL) |
| Removes an existing model reference from its owning assembly and loses it. | |
| outcome | asmi_model_save_entities (asm_model *model, FILE *file_to_save_to, asmi_model_save_entities_options *opts=NULL, AcisOptions *ao=NULL) |
| Saves an assembly model to a SAT or SAB file. | |
| outcome | asmi_property_remove (entity_handle *the_property, AcisOptions *ao=NULL) |
| Removes a previously applied property attribute from its owner. | |
| outcome | asmi_raytest_ents (SPAposition const &ray_point, SPAunit_vector const &ray_direction, double ray_radius, int hits_wanted, asm_model_list const &targets, component_entity_handle_list &ceh_hit, double *&ray_parameters, AcisOptions *ao=NULL) |
Gets the list of component_entity_handles that are hit when a ray is fired at one or more assembly models. | |
| outcome | asmi_restore_model_list (FileInterface *file_if, asm_model_list &primary_models, asm_restore_options *ropts=NULL, AcisOptions *ao=NULL) |
Restores a list of asm_model objects using a FileInterface object. | |
| outcome | asmi_restore_model_list (FILE *file_ptr, logical text_mode, asm_model_list &primary_models, asm_restore_options *ropts=NULL, AcisOptions *ao=NULL) |
| Restores one or more assembly models from a file. | |
| outcome | asmi_save_model_atomic (asm_model *model, asm_save_options *sopts=NULL, AcisOptions *ao=NULL) |
| Saves an assembly model and its sub-models to multiple files in atomic mode. | |
| outcome | asmi_save_model_list (FileInterface *file_if, asm_model_list &primary_models, asm_save_options *sopts=NULL, AcisOptions *ao=NULL) |
Saves a list of asm_model objects to a single file using a FileInterface object. | |
| outcome | asmi_save_model_list (FILE *file_ptr, logical text_mode, asm_model_list &primary_models, asm_save_options *sopts=NULL, AcisOptions *ao=NULL) |
Saves a list of asm_model objects to a single file. | |
| outcome | asmi_set_entity_mgr_factory (entity_mgr_factory *&factory, AcisOptions *ao=NULL) |
| Resets the globally registered entity manager factory. | |
| logical | has_assembly (asm_model *model) |
| Queries a model to determine if it contains a live assembly. | |
| #define API_MODEL_BEGIN | ( | _model_ | ) | asm_info this_asm_info( _model_); API_BEGIN asm_model_entity_mgr* mgr = (_model_)->mgr(); |
| #define API_MODEL_END | ( | _event_type_ | ) | API_END this_asm_info.end( result, _event_type_); |
| #define API_MODEL_END2 | ( | _event_type_, | |||
| _event_info_ | ) | API_END this_asm_info.end( result, _event_type_, _event_info_); |
| #define ASM_END EXCEPTION_CATCH_FALSE status = resignal_no; EXCEPTION_END_NO_RESIGNAL outcome result(status); |
| #define ASM_VERS_BEGIN | ( | opts | ) | int status = 0; EXCEPTION_BEGIN ALGORITHMIC_VERSION_BLOCK(opts ? &opts->get_version() : NULL); EXCEPTION_TRY |
| #define MODEL_BEGIN | ( | _model_ | ) | asm_info this_asm_info( _model_); outcome result; EXCEPTION_BEGIN asm_model_entity_mgr* mgr = (_model_)->mgr(); EXCEPTION_TRY |
Make model active.
| #define MODEL_END | ( | _event_type_ | ) | EXCEPTION_CATCH_FALSE result = outcome(resignal_no); EXCEPTION_END_NO_RESIGNAL this_asm_info.end( result, _event_type_ ); |
| #define MODEL_END2 | ( | _event_type_, | |||
| _event_info_ | ) | EXCEPTION_CATCH_FALSE result = outcome(resignal_no); EXCEPTION_END_NO_RESIGNAL this_asm_info.end( result, _event_type_, _event_info_ ); |
| typedef asm_property_options asm_options |
| enum asm_event_type |
Enumeration to indicate the degree of change which occurred to entities within a model during a MODEL_BEGIN/MODEL_END block.
Role: asm_event_type is an enumerated type used by MODEL_END and API_MODEL_END to indicate the type of change that was made to entities in a model while it was active. Only the most severe type of change should be reported.
| ASM_BREP_GEOM_CHANGE | indicates that a change occurred to entities within the model that affects the model's physical properties (e.g. mass properties). An example of an action which would require this notification would be performing a Boolean operation on an entity within the model. | |
| ASM_COMP_GEOM_CHANGE | indicates that a change occurred to the assembly structure of the model that affects the model's physical properties (e.g. mass properties). Examples would be: deleting the model's assembly; adding, deleting or moving model references owned by the assembly; or applying a physical property, such as suppression, in the assembly model. | |
| ASM_BREP_RENDER_CHANGE | indicates that a change occurred to entities within the model that affects the way the model is rendered, and that the change was not of type ASM_GEOM_CHANGE. An example of this would be applying a color to a body within the model. | |
| ASM_COMP_RENDER_CHANGE | indicates that a change occurred to the assembly that affects the way the model is rendered, and that the change was not of type ASM_GEOM_CHANGE. An example would be adding a color property to a component. | |
| ASM_OTHER_CHANGE | indicates that a change occurred to entities within the model (e.g. adding a name), but the the change was not of type ASM_BREP_GEOM_CHANGE, ASM_COMP_GEOM_CHANGE, ASM_BREP_RENDER_CHANGE, or ASM_COMP_RENDER_CHANGE. Examples would be adding a name to a component or adding a user attribute to a model. | |
| ASM_NO_CHANGE | indicates that no significant change to entities within the model occurred. |
include <asm_event_type.hxx>
| enum asm_get_request |
Specifier for which types of nodes should be walked in a request on a tree.
| ASM_IMMEDIATE | Immediate children of the specified node only. Does not include the specified node. | |
| ASM_SUB | All children of the specified node. Does not include the specified node. | |
| ASM_ALL | All children of the specified node, plus the specified node. | |
| ASM_LEAF | All children of the specified node which do not themselves have children. Includes the specified node if the specified node has no children (in this case, the specified node is the only leaf). |
include <asm_api.hxx>
| enum asm_hold_state |
Enumeration to indicate whether a list of pointers to use-counted objects holds those objects by incrementing their use counts.
Role: asm_hold_state is an enumerated type used by asm_list_options to specify whether the list should hold a use count for its entries.
The class objects asm_model_list, entity_handle_list, component_handle_list, and component_entity_list have the ability to "hold" their entries, i.e. to increment the use counts of their entries. Whether or not a list is holding its entries is indicated by its hold state. If a list is holding its entries, their use count is incremented by one.
| ASM_NO_HOLD | indicates that the list does not hold its entries. | |
| ASM_HOLD | indicates that the list holds its entries. |
include <asm_list_opts.hxx>
| outcome api_asm_assembly_get_owning_model | ( | const ASM_ASSEMBLY * | assembly, | |
| asm_model *& | model, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the model that owns an assembly.
Effect: Read only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| assembly | assembly whose owning model is returned. | |
| model | model that owns the assembly. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome api_asm_component_add_property | ( | component_handle * | component, | |
| ATTRIB * | prop, | |||
| asm_property_options * | asmo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Adds a property to the specified component.
Role: This API attaches a property attribute to an ATTRIB_COMPONENT_PROPERTY_OWNER entity, which points to the component, in an assembly model. The model in which the property will be added is specified by the asm_property_options object; by default the property is added in the component's root model.
If no ATTRIB_COMPONENT_PROPERTY_OWNER exists for the component, one is created. Refer to the section Properties in Assembly Modeling for more details. Note that adding a property to the root component of a part model (with no assembly) is not allowed. Because this is equivalent to modifying the part, part-modeling operations should be used to change the contents of the part instead. Modifying the root component of an assembly model is allowed, however.
Also note that the property attribute must be created and that this API must be called while the history stream of the model in which the property will be added is active. This is because this API attaches the property attribute to an entity in that model.
Errors: Non-existent component, root component of part model, property allocated in different model, incorrect history stream active.
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component which is modifed by the property. | |
| prop | the property attribute being attached. | |
| asmo | options object - controls model in which property is applied. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome api_asm_component_get_property_owner | ( | component_handle * | comp, | |
| ATTRIB_COMPONENT_PROP_OWNER *& | owner_attrib, | |||
| logical | create_if_absent, | |||
| asm_property_options * | asmo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Finds the component property-owner attribute in a specific model that modifies a specific component.
Role: If an attribute is not found, one will be created if the create_if_absent flag is TRUE. Note that owning_model is not necessarily the root model of the component; it can be above the component's root model in the assembly tree.
Errors: NULL component, NULL model, NULL assembly.
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| comp | model component to which the attribute refers. | |
| owner_attrib | the attribute. | |
| create_if_absent | create an attribute if one is not found. | |
| asmo | options object - controls model which owns property owner. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome api_asm_component_has_property | ( | component_handle * | component, | |
| int | attrib_type, | |||
| ATTRIB *& | prop, | |||
| asm_property_options * | asmo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Determines if a property of the specified type has been added to the specified component.
Role: This API is used to determine if a property has been added to a component in a model by api_asm_component_add_property. It is intended to be called before calling api_asm_component_add_property to determine if a new property attribute needs to be added to a component, or if an existing one (returned by this routine) can be re-used.
The routine searches the ATTRIB_COMPONENT_PROPERTY_OWNER entity associated with the component in that model for an attribute of the specified type, and returns a pointer to the first such attribute that is found. If no ATTRIB_COMPONENT_PROPERTY_OWNER exists for the component in that model, or if the component does not have an attribute of the specified type attached, a NULL pointer is returned.
Note: This API must be called while the history stream of the model being searched is active.
Errors: Incorrect history stream active.
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component that the property modifies. | |
| attrib_type | the type ID of the attribute being sought. | |
| prop | the property attribute that was found, or NULL. | |
| asmo | options object - controls model in which property is applied. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome api_asm_entity_handle_get_ptr | ( | entity_handle * | handle, | |
| ENTITY *& | ent, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the ENTITY associated with an entity handle.
Errors: Non-existent handle.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| handle | pointer to the entity handle. | |
| ent | pointer to the handle's entity. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome api_asm_model_find_components_with_property | ( | const asm_model * | model, | |
| int | attrib_type, | |||
| component_handle_list & | prop_comps, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a list of all components of the specified model that have a given property.
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model whose components are examined for the given property. | |
| attrib_type | attribute type for the property being sought. | |
| prop_comps | list of components having the given property. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome api_asm_model_get_entity_handle | ( | ENTITY * | ent, | |
| asm_model * | owning_model, | |||
| entity_handle *& | handle, | |||
| logical | check_entity_owner, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the entity handle associated with an ENTITY.
Role: If the ENTITY does not have an associated entity handle, one will be created. Note that the ENTITY must be managed by the model's entity manager, either directly or through its owner.
Errors: Entity does not belong to model.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| ent | pointer to the input entity. | |
| owning_model | model which owns the entity, and which manages the entity handle. | |
| handle | pointer to the entity's handle. | |
| check_entity_owner | Check if the entity belongs to the owning model before creating a handle. This parameter affects the performance of this API when the model has a large number of top level entities. Users of this API should always turn this check ON in Debug Builds. To obtain better performance in Release builds, they can turn it off they require. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome api_asm_model_get_owned_property_owners | ( | const asm_model * | model, | |
| ENTITY_LIST & | prop_atts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the component property-owner attributes that are owned by the specified model.
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model owning the property owners. | |
| prop_atts | list of component property-owner attributes owned by the model. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome api_asm_prune_assembly_history | ( | HISTORY_STREAM * | hs, | |
| logical & | cleared_history, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Prunes a history stream at any delta states which contains ASM_ASSEMBLY bulletins.
Role: This routine searches all delta states of the input history stream for bulletins involving ASM_ASSEMBLY entities, and prunes the history stream at those delta states using api_prune_history.
It is provided for use by customers in overriding asm_model_entity_mgr::clear_vf, since a requirement of that method is that no such delta states survive the clear_vf operation. Note that this routine will clear the history stream (resulting in deletion of all entities in the stream) if ASM_ASSEMBLY bulletins have been added to the stream since the last "note state" operation. For this reason, we strongly recommend that api_note_state be called on the input stream before calling this routine.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| hs | history stream to be pruned. | |
| cleared_history | returns TRUE if the history stream was cleared by this routine. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_check_model | ( | const asm_model * | given_asm_model, | |
| error_info *& | return_err, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Checks the consistency of an asm_model.
Errors: None.
Effect: None.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| given_asm_model | assembly model to be tested. | |
| err | error_info object returned. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_cleanup | ( | asm_cleanup_options const * | copts = NULL, |
|
| AcisOptions * | ao = NULL | |||
| ) |
Deletes all unneeded model and handle objects.
Role: An object is considered unneeded if it is not being held by any other object (see technical article on assembly-modeling use counting). This routine (recursively) asks the global model manager to search for and delete any asm_model objects that are not being held. It also calls cleanup on each asm_model object, which removes unneeded handles from the model objects. This procedure is performed recursively until only objects that are being held remain. An asm_cleanup_options object can be passed in to specify which types of handle are cleaned up. The default behavior is to clean all handle types.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| copts | cleanup options object, which determines which types of handle will be cleaned. | |
| ao | ACIS options. |
include <asm_cleanup_api.hxx>
| outcome asmi_cleanup_handles | ( | asm_cleanup_options const * | copts = NULL, |
|
| AcisOptions * | ao = NULL | |||
| ) |
Deletes all unneeded handle objects.
Role: An object is considered unneeded if it is not being held by any other object (see technical article on assembly-modeling use counting). This routine (recursively) asks the global model manager to call cleanup on each asm_model object, which removes unneeded handles from the model object. This procedure is performed recursively until only handles that are being held remain. An asm_cleanup_options object can be passed in to specify which types of handle are cleaned up. The default behavior is to clean all handle types.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| copts | cleanup options object, which determines which types of handle will be cleaned. | |
| ao | ACIS options. |
include <asm_cleanup_api.hxx>
| outcome asmi_cleanup_models | ( | AcisOptions * | ao = NULL |
) |
Deletes all unneeded model objects.
Role: An object is considered unneeded if it is not being held by any other object (see technical article on assembly-modeling use counting). This routine (recursively) asks the global model manager to search for and delete any asm_model objects that are not being held. This procedure is performed recursively until only model objects that are being held remain. Note that this routine does not attempt to clean up handle objects.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| ao | ACIS options. |
include <asm_cleanup_api.hxx>
| outcome asmi_component_entity_handle_decompose | ( | component_entity_handle * | comp_ent, | |
| component_handle *& | comp, | |||
| entity_handle *& | ent, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the entity and component handles corresponding to a component entity.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| comp_ent | the input component-entity. | |
| comp | the output component. | |
| ent | the output entity. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_find_color | ( | component_handle * | component, | |
| rgb_color & | color, | |||
| logical & | found, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Gets the highest priority color property affecting a component of an assembly.
Role: This routine searches for all color properties which affect the input component. If one or more color properties are found, the color of the one with highest priority (see the technical article Properties in Assembly Modeling for a discussion of the priority rules) is returned and the found flag is set to TRUE. If no color properties are found, the default color is returned and the found flag is set to FALSE.
Errors: non-existent component
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to query. | |
| color | rgb color. | |
| found | logical: TRUE if color property is found, otherwise FALSE. | |
| ao | ACIS options. |
include <rh_asm_api.hxx>
| outcome asmi_component_find_name | ( | component_handle * | component, | |
| const wchar_t *& | name, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Finds the name of the specified component in the assembly model.
Errors: non-existent component, root component of part model, wrong history stream active.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | named component. &name component name. | |
| ao | ACIS options. |
include <ga_asm_api.hxx>
| outcome asmi_component_find_next_property | ( | component_handle * | component, | |
| int | attrib_type, | |||
| entity_handle * | start_attrib, | |||
| entity_handle *& | the_property, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Searches an assembly tree for the next highest priority property attribute, of the specified type, that modifies a component of an assembly.
Errors: non-existent component.
Effect: Read-only
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component that is modified by the property to be found. | |
| attrib_type | type identifier for the attribute class. The routine will search for attributes of this type or derived from this type. | |
| start_attrib | entity handle for the attribute at which the search will continue. | |
| the_property | entity handle for the attribute of the specified type (or a sub-type). | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_find_property | ( | component_handle * | component, | |
| int | attrib_type, | |||
| entity_handle *& | the_property, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Searches an assembly tree for the highest priority property attribute, of the specified type, that modifies a component of an assembly.
Errors: non-existent component.
Effect: Read-only
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component that is modified by the property to be found. | |
| attrib_type | type identifier for the attribute class. The routine will search for attributes of this type or derived from this type. | |
| the_property | entity handle for the attribute of the specified type (or a sub-type). | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_find_transparency | ( | component_handle * | component, | |
| double & | transparency, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Gets the highest priority transparency property affecting a component of an assembly.
Role: The transparency value lies between 0 (transparent) and 1 (opaque).
Errors: Non-existent component
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to query. | |
| transparency | transparency value (0 for transparent, 1 for opaque). | |
| ao | ACIS options. |
include <rh_asm_api.hxx>
| outcome asmi_component_get_box | ( | component_handle const * | component, | |
| SPAbox & | box, | |||
| SPAboxing_options * | boxing_opts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the box of a component of an assembly in the context of the assembly's root model.
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component whose box is to be calculated. | |
| box | box of the component in the space of the assembly's root model. | |
| boxing_opts | boxing options. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_get_component_entities | ( | component_handle * | comp, | |
| component_entity_handle_list & | comp_ent_list, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a list of component-entity handles corresponding to the top-level entities of a component.
Role: This is a convenience routine which repackages the result of asmi_component_get_entities as a list of component_entity_handles.
Errors: NULL component_handle pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| comp | component to be queried. | |
| comp_ent_list | the list of component_entity_handles. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_get_entities | ( | component_handle const * | component, | |
| entity_handle_list & | ents, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a list of entity handles for the part-modeling entities contained within a component's model.
Role: Does not include the model's assembly entity, if any, in the list. This is the preferred query function for client code to use in order to obtain the part data associated with a particular component within the assembly tree, as it correctly takes into account suppressed and over-ridden models.
Errors: Non-existent component.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component whose part modeling entities are to be found. | |
| ents | list of entity handles for the requested entities. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_get_parent | ( | component_handle * | component, | |
| component_handle *& | parent, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the parent component of a specified component.
Errors: Non-existent component.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be queried. | |
| parent | parent component. NULL if component is a root component, that is, if the component corresponds to a zero-length model-ref path. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_get_path | ( | component_handle const * | component, | |
| asm_model *& | root_model, | |||
| entity_handle_list & | model_refs, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the path of model references, through the folded assembly tree, that corresponds to a particular component.
Role: The path is returned as a root model at which the path begins, plus a list of model-reference entity handles. The intent of this routine is to allow client code to generate a unique identifier for the component, based on the combination of the model and the list of model references. No two components in memory will have identical paths, so customers may use identifiers for the elements of the path (assigned by the customer) to uniquely identify the corresponding components.
Note that the model-reference list is tip-to-tail, with the highest model reference in the tree (the one owned by the root model) appearing first. Also, note that the root model is only needed as an identifier for zero-length paths (with no model references). Such paths correspond to the root component of a model.
Errors: Non-existent component.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be queried. | |
| root_model | the root model of the component. | |
| model_refs | list of model-reference entity handles that specify the steps in the component's path through the folded assembly tree. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_get_property_owners | ( | const component_handle * | component, | |
| entity_handle_list & | prop_atts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns all of the component property-owner attributes that modify a specific component.
Errors: NULL component.
Effect: Read-only
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component for which to find property-owner attributes. | |
| prop_atts | prioritized handle list for the attributes found; property owners earlier in the list over-ride those later in the list. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_get_relative_transform | ( | component_handle const * | origin_comp, | |
| component_handle const * | target_comp, | |||
| SPAtransf & | relative_transf, | |||
| logical | include_units_rescaling, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the relative transform between two components of an assembly.
Role: An object at origin_comp that is transformed by the returned transform will appear at the same position and with the same orientation as target_comp in the coordinate system of origin_comp.
The units_rescale_factor argument determines if the transform includes the rescaling necessary to account for a difference in units between the component model and the root assembly.
Errors: Non-existent component(s).
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| origin_comp | component that determines origination point of transformation. | |
| target_comp | component that determines target point of transformation. | |
| relative_transf | transform required to move from origin_comp to target_comp. | |
| include_units_rescaling | if TRUE, the returned transform includes the rescale factor implied by different units. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_get_root_model | ( | component_handle * | component, | |
| asm_model *& | root_model, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the root model of a specified component.
Role: This is the model corresponding to the root assembly in which the component occurs.
Errors: Non-existent component.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be queried. | |
| root_model | model corresponding to the component's root assembly. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_get_sub_components | ( | const component_handle * | component, | |
| asm_get_request | which_components, | |||
| logical | include_suppressed, | |||
| component_handle_list & | sub_components, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a list of the sub-components of a component of a model, by walking the underlying model's assembly tree.
Role: This is a preferred query function for client code to use to unfold the assembly tree, as it correctly takes into account suppressed and over-ridden models. An options object allows client code to specify which components are returned.
Note: The caller must specify which sub-components (for example, ASM_IMMEDIATE) should be returned.
Errors: Non-existent component.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component whose sub-components are to be found. | |
| which_components | specifies which components are to be returned. | |
| include_suppressed | if TRUE, suppression will be ignored when walking the model's assembly tree. | |
| sub_components | sub-components of the input component. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_get_transform | ( | component_handle const * | component, | |
| SPAtransf & | component_transf, | |||
| logical | include_units_rescaling, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the total transform that positions and orients a component within the root assembly.
Role: The units_rescale_factor argument determines if the transform includes the rescaling necessary to account for differences in units between the component model and the root assembly.
Errors: Non-existent component.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component being queried. | |
| component_transf | transform required to move component from the origin to its location within the root assembly. | |
| include_units_rescaling | if TRUE, returned transform includes the rescale factor implied by different units. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_get_unmodified_model | ( | component_handle const * | component, | |
| asm_model *& | model, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a pointer to the raw end model associated with a component.
Role: This routine returns a pointer to the raw end model of the component, that is, the model referenced by the last model reference in the component's model reference path. The (sub-)components of the queried component's raw end model might not correspond to the queried component's actual (sub-)components due to properties applied to the component or its sub-components at higher levels of the assembly tree. For example, if the front left wheel of a car were suppressed, the components of the actual front axle assembly (with only one wheel) would be different from the components of the raw front axle assembly (with two wheels).
This signature of the routine is much faster than the signature which returns an is_modified flag, because it does not have to scan the assembly tree for properties which might modify the component.
Errors: Non-existent component.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be queried. | |
| model | pointer to the component's raw end model. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_get_unmodified_model | ( | component_handle const * | component, | |
| asm_model *& | model, | |||
| logical & | is_modified, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a pointer to the raw end model associated with a component.
Role: This routine should be used with caution, since the (sub-)components of the queried component's raw end model might not correspond to the queried component's actual (sub-)components, due to properties applied to the component or its sub-components at higher levels of the assembly tree. For example, if the front left wheel of a car were suppressed, the components of the actual front axle assembly (with only one wheel) would be different from the components of the raw front axle assembly (with two wheels).
The intent of this routine is to aid customers translating into an assembly format that does not support the application of properties (such as suppression) to components from higher levels in the assembly tree. Such customers need to be able to query whether two components of the assembly are defined by exactly the same model data in order to share model data between instances. If the is_modified flag for a component's model is TRUE, then the translated component cannot share model data with any other translated component. If the is_modified flag will not be used by the caller, then the alternate signature of this routine (which omits the flag) should be used for performance reasons.
Errors: Non-existent component.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be queried. | |
| model | pointer to the component's raw end model. | |
| is_modified | if TRUE, then the component's model data is modified by properties applied higher in the assembly tree. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_has_color_modifications | ( | component_handle * | component, | |
| logical & | has_child_modifications, | |||
| logical & | has_component_modifications, | |||
| logical & | has_parent_modifications, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Determines if there are color properties that affect the specified component of an assembly model.
Errors: non-existent component, root component of part model.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to query. | |
| has_child_modifications | TRUE if one or more proper sub-components of the component are modified by one or more color properties owned by a model above the component's end model. | |
| has_component_modifications | TRUE if the component is modified by one or more color properties owned by a model above the component's end model. | |
| has_parent_modifications | TRUE if one or more parents of the component are modified by one or more color properties. | |
| ao | ACIS options. |
include <rh_asm_api.hxx>
| outcome asmi_component_has_hiding_modifications | ( | component_handle * | component, | |
| logical & | has_child_modifications, | |||
| logical & | has_component_modifications, | |||
| logical & | has_parent_modifications, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Determines if there are properties that hide the specified component of an assembly model.
Errors: non-existent component, root component of part model.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to query. | |
| has_child_modifications | TRUE if one or more proper sub-components of the component are hidden by one or more properties owned by a model above the component's end model. | |
| has_component_modifications | TRUE if the component is hidden by one or more properties owned by a model above the component's end model. | |
| has_parent_modifications | TRUE if one or more parents of the component are hidden by one or more properties. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_has_material_modifications | ( | component_handle * | component, | |
| logical & | has_child_modifications, | |||
| logical & | has_component_modifications, | |||
| logical & | has_parent_modifications, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Determines if there are material properties which affect the specified component in the assembly model.
Errors: non-existent component, root component of part model.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to query. | |
| has_child_modifications | TRUE if one or more proper sub-components of the component are modified by one or more material properties owned by a model above the component's end model. | |
| has_component_modifications | TRUE if the component is modified by one or more material properties owned by a model above the component's end model. | |
| has_parent_modifications | TRUE if one or more parents of the component are modified by one or more material properties. | |
| ao | ACIS options. |
include <rh_asm_api.hxx>
| outcome asmi_component_has_physical_modifications | ( | component_handle * | component, | |
| logical & | has_child_modifications, | |||
| logical & | has_component_modifications, | |||
| logical & | has_parent_modifications, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Determines if there are physical properties (such as suppression) that affect the specified component of an assembly model.
Role: A physical property is one that changes one or more components of the assembly in such a way that the (un-instanced) B-Rep model equivalent to the assembly would be different.
Errors: non-existent component, root component of part model.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to query. | |
| has_child_modifications | TRUE if one or more proper sub-components of the component are modified by one or more physical properties owned by a model above the component's end model. | |
| has_component_modifications | TRUE if the component is modified by one or more physical properties owned by a model above the component's end model. | |
| has_parent_modifications | TRUE if one or more parents of the component are modified by one or more physical properties. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_has_property_modifications | ( | component_handle * | component, | |
| int | attrib_type, | |||
| logical & | has_child_modifications, | |||
| logical & | has_component_modifications, | |||
| logical & | has_parent_modifications, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Determines if there are property attributes, of the specified type, that affect the specified component of an assembly model.
Errors: non-existent component, root component of part model.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to query. | |
| attrib_type | type identifier for the attribute class. The routine will search for attributes of this type or derived from this type. | |
| has_child_modifications | TRUE if one or more proper sub-components of the component are modified by one or more properties owned by a model above the component's end model. | |
| has_component_modifications | TRUE if the component is modified by one or more properties owned by a model above the component's end model. | |
| has_parent_modifications | TRUE if one or more parents of the component are modified by one or more properties. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_hide | ( | component_handle * | component, | |
| asm_property_options * | asmo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Hides the specified component within an assembly model.
Errors: non-existent component, root component of part model.
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be hidden. | |
| asmo | options object - controls model in which hiding is applied. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_is_hidden | ( | component_handle * | component, | |
| logical & | is_hidden, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Determines if the specified component is hidden by any property in its owning model's assembly tree.
Role: This routine searches for any "hiding" properties which affect the input component. If one or more hiding properties are found, TRUE is returned. If no hiding properties are found, FALSE is returned.
Errors: non-existent component
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to query. | |
| is_hidden | TRUE if component is hidden. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_is_model_modified | ( | component_handle const * | component, | |
| logical & | is_modified, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Queries whether a component has been modified by properties applied higher in the assembly tree.
Role: Refer to the documentation of asmi_component_get_unmodified_model() for details.
Errors: Non-existent component.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be queried. | |
| is_modified | if TRUE, then the component's model data is modified by properties applied higher in the assembly tree. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_component_is_suppressed | ( | component_handle * | component, | |
| logical & | is_suppressed, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Determines if the specified component is suppressed by any property in its owning model's assembly tree.
Role: This routine searches for any "suppress" properties which affect the input component. If one or more suppress properties are found, TRUE is returned. If no suppress properties are found, FALSE is returned.
Errors: non-existent component
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to query. | |
| is_suppressed | TRUE if component is suppressed. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_mass_props | ( | component_handle const * | component, | |
| mass_props & | mp, | |||
| mass_props_options * | mpo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Determines the mass properties of a component.
Role: This API finds the mass properties requested by the user. These may include the volume, center of gravity (centroid), inertia tensor, principal moments, and principal axes of the given component. Options controlling the calculation are specified by means of an (optional) mass_props_options object; the results are returned in the form of a mass_props object. Please refer to the documentation of these two classes for details on setting options and retrieving the calculated results, respectively.
When the mass_props_options argument is omitted, the following default behavior is followed:
1) projection-plane information is selected by the API;
2) volume, centroid, and inertia are all calculated;
3) the requested relative accuracy is one-percent;
4) sheets are treated as having zero thickness; and,
5) errors are thrown when voids or open, one-sided sheets are encountered.
The user should provide a mass_props_options object configured otherwise if some alternate behavior is preferred.
NULL or does not point to a BODY. A zero-length normal is specified by the mpo argument. A negative accuracy is requested by the mpo argument. A negative sheet thickness is specified by the mpo argument. A void or an open, single-sided sheet was encountered. [The user may avoid this type of error by calling mpo->set_one_sided_sheet_opt() with an argument of AS_2SIDED or AS_SOLID, as appropriate. Please see the documentation of this method for further details.]
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be examined. | |
| mp | mass properties computed by the API. | |
| mpo | options object used to configure non-default behavior. | |
| ao | ACIS options. |
include <intr_asm_api.hxx>
| outcome asmi_component_remove_color | ( | component_handle * | component, | |
| asm_property_options * | asmo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Removes the assembly-level color property of the specified component within an assembly.
Errors: non-existent component
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component whose color attribute is to be removed. | |
| asmo | options object - controls model in which color was applied. | |
| ao | ACIS options. |
include <rh_asm_api.hxx>
| outcome asmi_component_set_color | ( | component_handle * | component, | |
| rgb_color & | color, | |||
| asm_property_options * | asmo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Sets the color at the assembly level of the specified component within an assembly.
Errors: non-existent component, root component of part model
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component whose color is to be set. | |
| color | rgb color. | |
| asmo | options object - controls model in which color is applied. | |
| ao | ACIS options. |
include <rh_asm_api.hxx>
| outcome asmi_component_set_name | ( | component_handle * | component, | |
| const wchar_t * | name, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Sets the name of the specified component in the assembly model.
Errors: non-existent component, root component of part model, wrong history stream active.
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be named. | |
| name | component name. | |
| ao | ACIS options. |
include <ga_asm_api.hxx>
| outcome asmi_component_set_transparency | ( | component_handle * | component, | |
| double | transparency, | |||
| asm_property_options * | asmo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Sets the transparency of the specified component of an assembly model.
Role: The transparency value must be between 0 (transparent) and 1 (opaque).
Errors: non-existent component, root component of part model
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component whose transparency is to be set. | |
| transparency | transparency value (0 for transparent, 1 for opaque). | |
| asmo | options object - controls model in which transparency is applied. | |
| ao | ACIS options. |
include <rh_asm_api.hxx>
| outcome asmi_component_suppress | ( | component_handle * | component, | |
| asm_property_options * | asmo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Suppresses the specified component of an assembly model.
Errors: non-existent component, root component of part model
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be suppressed. | |
| asmo | options object - controls model in which suppression is applied. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_unhide | ( | component_handle * | component, | |
| asm_property_options * | asmo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Removes the hide property from the specified component of an assembly model.
Errors: non-existent component, root component of part model
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to be unhidden. | |
| asmo | options object - controls model in which hiding was applied. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_component_unsuppress | ( | component_handle * | component, | |
| asm_property_options * | asmo = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Removes the suppression property from the specified component of an assembly model.
Errors: non-existent component
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| component | component to have suppression removed. | |
| asmo | options object - controls model in which suppression was applied. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_entity_handle_list_get_live_entities | ( | entity_handle_list const & | ent_handles, | |
| ENTITY_LIST & | live_ent_list, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns ENTITY_LIST containing pointers to live entities associated with entity_handle_list.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| ent_handles | entity handle list from which you want to get live entity pointers. | |
| live_ent_list | list which will contain exactly the live entities associated with entity handles on the input list. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_get_entity_mgr_factory | ( | entity_mgr_factory *& | factory, | |
| AcisOptions * | ao = NULL | |||
| ) |
Gets a pointer to the globally registered entity manager factory.
Role: This function returns a pointer to the current globally registered entity manager factory (used to create entity managers during ASAT restore).
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| factory | The currently registered entity_mgr_factory object. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_get_models_which_share_history | ( | asm_model * | this_model, | |
| asm_model_list & | sharing_models, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a list of all models whose entity managers are bound to the same history stream as this model's entity manager.
Role: Note that the input model is included in the list.
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| this_model | model to be tested for history sharing. | |
| sharing_models | list of models whose entity managers share this_model's entity manager's history stream, including this_model. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_add_model_ref | ( | asm_model * | assembly_model, | |
| SPAtransf & | transform, | |||
| asm_model * | referenced_model, | |||
| entity_handle *& | model_ref, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Creates a new model reference object and adds it to an assembly model.
Role: The supplied transform determines the location and orientation of the model reference within the assembly, in the assembly model's coordinate system and units. This transform may only involve rotation and translation; reflection, shear, and scaling transforms are not valid.
Errors: owning_model not an assembly, invalid transform for assembly modeling.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| assembly_model | assembly model to which the model reference will be added. | |
| transform | location and orientation of the model reference. | |
| referenced_model | the model to which the model reference refers. | |
| model_ref | entity_handle for the newly created ASM_MODEL_REF object. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_cleanup | ( | asm_model_list & | model_list, | |
| asm_cleanup_options const * | copts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Deletes a list of model objects and their handle objects, if unneeded.
Role: An object is considered unneeded if it is not being held by any other object (see technical article on assembly-modeling use counting). This routine tests each model object to see if it is being held. If it is not being held, the model object is deleted. If the model object is being held (and so is not deleted), the routine attempts to clean up the handles owned by that object. An asm_cleanup_options object can be passed in to specify which types of handle are cleaned up. The default behavior is to clean all handle types.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_list | list of models to be cleaned (models that are deleted are removed from the list). | |
| copts | cleanup options object, which determines which types of handle will be cleaned. | |
| ao | ACIS options. |
include <asm_cleanup_api.hxx>
| outcome asmi_model_cleanup | ( | asm_model *& | model, | |
| asm_cleanup_options const * | copts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Deletes a model object and its handle objects, if unneeded.
Role: An object is considered unneeded if it is not being held by any other object (see technical article on assembly-modeling use counting). This routine tests a single model object to see if it is being held. If it is not being held, the model object is deleted. If the model object is being held (and so is not deleted), the routine attempts to clean up the handles owned by that object. An asm_cleanup_options object can be passed in to specify which types of handle are cleaned up. The default behavior is to clean all handle types.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model to be cleaned (is set to NULL if the model is deleted). | |
| copts | cleanup options object, which determines which types of handle will be cleaned. | |
| ao | ACIS options. |
include <asm_cleanup_api.hxx>
| outcome asmi_model_cleanup_handles | ( | asm_model_list & | model_list, | |
| asm_cleanup_options const * | copts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Deletes all unneeded handle objects belonging to a models in a list.
Role: An object is considered unneeded if it is not being held by any other object (see technical article on assembly-modeling use counting). This routine cleans up the handles associated with each model object in the list. An asm_cleanup_options object can be passed in to specify which types of handle are cleaned up. The default behavior is to clean all handle types.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_list | list of models to be cleaned. | |
| copts | cleanup options object, which determines which types of handle will be cleaned. | |
| ao | ACIS options. |
include <asm_cleanup_api.hxx>
| outcome asmi_model_cleanup_handles | ( | asm_model * | model, | |
| asm_cleanup_options const * | copts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Deletes all unneeded handle objects belonging to a model.
Role: An object is considered unneeded if it is not being held by any other object (see technical article on assembly-modeling use counting). This routine cleans up the handles associated with a single model object. An asm_cleanup_options object can be passed in to specify which types of handle are cleaned up. The default behavior is to clean all handle types.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model to be cleaned | |
| copts | cleanup options object, which determines which types of handle will be cleaned. | |
| ao | ACIS options. |
include <asm_cleanup_api.hxx>
| outcome asmi_model_cleanup_model | ( | asm_model_list & | model_list, | |
| AcisOptions * | ao = NULL | |||
| ) |
Deletes a list of model objects, if they are unneeded.
Role: An object is considered unneeded if it is not being held by any other object (see technical article on assembly-modeling use counting). This routine tests each model object to see if it is being held. If it is not being held, the model object is deleted. Note that this routine does not attempt to clean up handle objects.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_list | list of models to be cleaned (models that are deleted are removed from the list). | |
| ao | ACIS options. |
include <asm_cleanup_api.hxx>
| outcome asmi_model_cleanup_model | ( | asm_model *& | model, | |
| AcisOptions * | ao = NULL | |||
| ) |
Deletes a model object, if it is unneeded.
Role: An object is considered unneeded if it is not being held by any other object (see technical article on assembly-modeling use counting). This routine tests a single model object to see if it is being held. If it is not being held, the model object is deleted. Note that this routine does not attempt to clean up handle objects.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model to be cleaned (is set to NULL if the model is deleted). | |
| ao | ACIS options. |
include <asm_cleanup_api.hxx>
| outcome asmi_model_cleanup_tree | ( | asm_model_list & | model_list, | |
| logical | force_clear, | |||
| asm_cleanup_options const * | copts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Deletes all sub-models of a list of model objects and their handle objects, if unneeded.
Role: An object is considered unneeded if it is not being held by any other object (see technical article on assembly-modeling use counting). This routine sets the input list to not hold the models in the list. It finds all sub-models of the models in the list (including the models in the list) tests each sub-model object to see if it is being held. If it is not being held, the (sub-)model object is deleted. If the model object is being held (and so is not deleted), the routine attempts to clean up the handles owned by that object.
If the force_clear flag is set to TRUE, the clear method is called on the entity managers of all the sub-models, even if the use count is not zero, and the asm_model objects are removed from the global model manager and put into a state that they will automatically be deleted (without a further call to cleanup) when their use count goes to zero.
An asm_cleanup_options object can be passed in to specify which types of handle are cleaned up. The default behavior is to clean all handle types.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_list | list of models to be cleaned (models that are deleted are removed from the list). | |
| force_clear | logical to force associated entity managers to be cleared regardless of model use count. | |
| copts | cleanup options object, which determines which types of handle will be cleaned. | |
| ao | ACIS options. |
include <asm_cleanup_api.hxx>
| outcome asmi_model_create | ( | asm_model_info & | model_info, | |
| asm_model *& | new_model, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Creates a new asm_model object that wraps an asm_model_entity_mgr provided by the globally registered entity_mgr_factory.
Role: Note that if model_info.model_has_asm is TRUE, a new assembly object will be automatically created and added to the model. A customer-specific factory can be globally registered by using asmi_set_entity_mgr_factory.
Errors: NULL input manager.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_info | state information for the new model; used to create the entity manager. If model_info.model_has_asm is TRUE, an assembly object will be added to the model. | |
| new_model | pointer to the newly created model. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_create | ( | asm_model_entity_mgr * | mgr, | |
| logical | create_assembly, | |||
| asm_model *& | new_model, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Creates a new asm_model object that wraps an asm_model_entity_mgr.
Errors: NULL input manager.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| mgr | entity manager that will be bound to the model. | |
| create_assembly | if TRUE, an assembly entity will be automatically added to the new model. | |
| new_model | pointer to the newly created model. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_create_assembly | ( | asm_model * | model, | |
| AcisOptions * | ao = NULL | |||
| ) |
Creates an assembly entity within a model, which changes the model from a part model into an assembly model.
Errors: Model already has assembly or has no entity manager.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model to which the assembly entity will be added. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_create_for_export | ( | ENTITY_LIST & | ents, | |
| asm_model_info & | model_info, | |||
| asm_model *& | new_model, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Creates a new asm_model object that wraps a new default_entity_mgr.
Role: This function is intended for use by customers who have their own assembly modeling system and wish to export one of their assemblies into ASAT format. It creates a default_entity_mgr object which is bound to the history stream associated with the first entity in the ents list, or the default stream if there are no entities in the list. Or, if the first entity does not point to a history stream, it creates a new asm_model object which wraps the entity manager, and adds the entities from the ents list to the model.
The default entity manager is created with settings such that it owns neither its entities nor its associated history stream; this is so the customer's entities and/or stream will not be deleted during cleanup after the ASAT file has been written. Note that if model_info.model_has_asm is TRUE, a new assembly object will be automatically created and added to the model
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| ents | list of top-level entities to be added to the model. Should not include an ASM_ASSEMBLY entity. | |
| model_info | state information for the new model used to create the entity manager. If model_info.model_has_asm is TRUE, an assembly object will be added to the model. | |
| new_model | pointer to the newly created model. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_del_assembly | ( | asm_model * | model, | |
| AcisOptions * | ao = NULL | |||
| ) |
Loses the assembly entity within a model, which changes the model from an assembly model into a part model.
Errors: Model has no entity manager.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model from which assembly entity will be removed. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_component_entity_handle | ( | component_handle * | comp, | |
| entity_handle * | ent, | |||
| component_entity_handle *& | comp_ent, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the component-entity handle corresponding to the specified component handle and entity handle.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| comp | the input component. | |
| ent | the input entity. | |
| comp_ent | the output component-entity. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_component_handle | ( | entity_handle * | model_ref, | |
| component_handle *& | comp_handle, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a component handle corresponding to a single model reference in the assembly tree.
Role: This corresponds to a length-one path in the folded assembly tree.
CAUTION: This routine is intended to be used only by experts working with the folded assembly tree (for example, in a translation application). Most customers should instead use the component interface (for example, asmi_model_get_components) to walk the assembly tree.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_ref | a single model-reference entity handle. | |
| comp_handle | pointer to the resulting component's handle. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_component_handle | ( | asm_model * | comp_model, | |
| component_handle *& | comp_handle, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a component handle corresponding to a single model in the assembly tree.
Role: This corresponds to a zero-length path in the folded assembly tree.
CAUTION: This routine is intended to be used only by experts working with the folded assembly tree (for example, in a translation application). Most customers should instead use the component interface (for example, asmi_model_get_components) to walk the assembly tree.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| comp_model | list of model-reference entity handles. | |
| comp_handle | pointer to the resulting component's handle. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_component_handle | ( | component_handle_list & | components, | |
| component_handle *& | comp_handle, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a component handle corresponding to a list (path) of components.
Role: Because a component is just a path through the folded (model reference) assembly tree, a tip-to-tail list of components (path) can be concatenated to form a new component (path). The path list must be tip-to-tail, with the highest (nearest the root of the assembly tree) model reference appearing first.
Errors: Non-existent component.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| components | ordered list of component handles. | |
| comp_handle | pointer to the resulting component's handle. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_component_handle | ( | asm_model * | root_model, | |
| entity_handle_list & | model_refs, | |||
| component_handle *& | comp_handle, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a component handle corresponding to a list of model references that describe a path through the folded assembly tree.
Role: This is a convenience routine, for use when it is unknown whether the model reference list is empty. The path list must be tip-to-tail, with the highest (nearest the root of the assembly tree) model reference appearing first. Note that it is not necessary to specify the root model of the path, since it is the owner of the first model reference in the list. If the path is zero-length (corresponding to a single model in the assembly), then the alternate signature of this routine that takes an asm_model pointer should instead be used.
CAUTION: This routine is intended to be used only by experts working with the folded assembly tree (for example, in a translation application). Most customers should instead use the component interface (for example, asmi_model_get_components) to walk the assembly tree.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| root_model | start of path. | |
| model_refs | list of model-reference entity handles. | |
| comp_handle | pointer to the resulting component's handle. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_component_handle | ( | entity_handle_list & | model_refs, | |
| component_handle *& | comp_handle, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a component handle corresponding to a list of model references that describe a path through the folded assembly tree.
Role: The path list must be tip-to-tail, with the highest (nearest the root of the assembly tree) model reference appearing first. Note that it is not necessary to specify the root model of the path, since it is the owner of the first model reference in the list. If the path is zero-length (corresponding to a single model in the assembly), then the alternate signature of this routine that takes an asm_model pointer should be used.
CAUTION: This routine is intended to be used only by experts working with the folded assembly tree (for example, in a translation application). Most customers should instead use the component interface (for example, asmi_model_get_components) to walk the assembly tree.
Errors: None.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_refs | list of model-reference entity handles. | |
| comp_handle | pointer to the resulting component's handle. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_components | ( | asm_model * | model, | |
| component_handle_list & | components, | |||
| asm_get_options * | get_opts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a list of the components of a model by walking the model's assembly tree.
Role: This is a preferred query function for client code to use to unfold the assembly tree, as it correctly takes into account suppressed and over-ridden models. An options object allows client code to specify which components are returned. The default behavior is ASM_ALL, which includes all components, including the root component (corresponding to the model object).
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model whose components are to be found. | |
| components | returned list of entity_handles for components of the model. | |
| get_opts | options object that specifies which components are to be returned. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_entities | ( | asm_model const * | model, | |
| entity_handle_list & | ents, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a list of entity handles for the top-level part-modeling entities contained within a model.
Role: Does not include the model's assembly entity, if any, in the list. This query does not take into account suppressed and over-ridden models.
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model to be queried. | |
| ents | list of entity handles of the requested entities. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_entity_mgr | ( | asm_model const * | model, | |
| asm_model_entity_mgr *& | mgr, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a pointer to the entity manager owned by a model.
Role: The intent of this ASM routine is to allow customer code to determine which customer part is bound to a model.
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model to be queried. | |
| mgr | pointer to the model's entity manager. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_info | ( | asm_model const * | model, | |
| asm_model_info & | model_info, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a model_info object containing information about a model.
Role: This information includes units, tolerances, and a customer ID number.
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model to be queried. | |
| model_info | object in which returned model information will be stored by the routine. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_model_refs | ( | asm_model const * | assembly_model, | |
| entity_handle_list & | model_ref_handles, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Gets all immediate model references belonging to an assembly model.
Role: Does not search deeper into the tree for sub-references. Ignores suppression and overrides. This routine will generally be called when translating the assembly into another format.
Errors: owning_model does not have an assembly.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| assembly_model | assembly model that will be queried for its model references. | |
| model_ref_handles | list of entity handles corresponding to the model references. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_get_sub_models | ( | asm_model * | root_model, | |
| asm_get_request | which_models, | |||
| asm_model_list & | models, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns a list of all models upon which the input root model depends, that is, all models that appear below the root model in the assembly tree.
Role: The intent of this routine is to allow the user to find all the models that are involved in the definition of an assembly, so that, for example, a global assembly state can be noted (by noting each of the models' state). The asm_get_request enumeration determines which models are returned. The value ASM_ALL specifies that all sub-models of the root_model, including itself, be returned; ASM_SUB specifies all proper sub-models of the root_model; ASM_IMMEDIATE specifies only the proper sub-models referenced by the root's assembly model; ASM_LEAF specifies all sub-models that are not assembly models (if root_model is not an assembly, the root model is returned).
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| root_model | root model to be queried. | |
| which_models | specifies which models are to be returned. | |
| models | returned list of models upon which the root depends. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_has_assembly | ( | asm_model * | model, | |
| logical & | answer, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Queries a model to determine if it contains a live assembly.
Errors: No entity manager.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model which is queried to determine if it owns an assembly entity. | |
| answer | result of the query. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_ref_apply_transform | ( | entity_handle * | model_ref_or_assembly, | |
| SPAtransf & | transf, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Applies a transform to a model reference or to all of the model references in an assembly.
Role: The composition of the supplied transform with the existing transform determines the location and orientation of the model reference within the assembly, in the assembly model's coordinate system and units. This transform may only involve rotation and translation; reflection, shear, and scaling transforms are not valid.
Errors: Non-existent entity, invalid transform for assembly modeling.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_ref_or_assembly | entity handle for the model reference or the assembly containing the model references to which the transform will be applied. | |
| transf | the transform to be applied. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_ref_get_model | ( | entity_handle * | model_ref, | |
| asm_model *& | model, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the model to which the specified model reference refers.
Errors: Non-existent model reference.
Effect: Read-only
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_ref | entity handle for the model reference whose model is being requested. | |
| model | model referred to by model_ref. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_ref_get_owning_model | ( | entity_handle * | model_ref, | |
| asm_model *& | model, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns the model containing the assembly that owns a particular model reference.
Errors: Non-existent model reference.
Effect: Read-only
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_ref | entity handle for the model reference whose owning model is being requested. | |
| model | model owning the assembly containing model_ref. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_ref_get_transform | ( | entity_handle * | model_ref, | |
| SPAtransf & | transf, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Gets the transform associated with a model reference.
Errors: Non-existent model reference.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_ref | entity handle for the model reference to be queried. | |
| transf | the model reference's transform. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_ref_set_transform | ( | entity_handle * | model_ref, | |
| SPAtransf & | transf, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Resets the transform associated with a model reference.
Role: The supplied transform determines the location and orientation of the model reference within the assembly, in the assembly model's coordinate system and units. This transform may only involve rotation and translation; reflection, shear, and scaling transforms are not valid.
Errors: Non-existent model reference, invalid transform for assembly modeling.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_ref | entity handle for the model reference whose transform will be reset. | |
| transf | the new transform. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_remove_model_ref | ( | entity_handle * | model_ref, | |
| AcisOptions * | ao = NULL | |||
| ) |
Removes an existing model reference from its owning assembly and loses it.
Errors: owning_model not an assembly; non-existent model_ref.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model_ref | entity_handle of the ASM_MODEL_REF object that is to be removed. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_model_save_entities | ( | asm_model * | model, | |
| FILE * | file_to_save_to, | |||
| asmi_model_save_entities_options * | opts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Saves an assembly model to a SAT or SAB file.
Role: This function saves the entities from an assembly model. It does not store any assembly related information: for example, how many times each ENTITY is used in the model, or which transforms are associated with each model reference. It is most useful with part models; use with assembly models is not recommended.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | model with entities to be stored. | |
| file_to_save_to | file handle where you want the entities to be saved. | |
| opts | options object for controlling whether you are allowed to save a model with an assembly (which could destroy information), and whether text or binary mode is used. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_property_remove | ( | entity_handle * | the_property, | |
| AcisOptions * | ao = NULL | |||
| ) |
Removes a previously applied property attribute from its owner.
Role: This routine unhooks and loses the attribute. If the property being removed is the last attribute attached to the property-owner attribute, the property-owner attribute is also unhooked and lost.
Errors: non-existent component entity.
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| the_property | entity handle for the attribute that is to be removed. | |
| ao | ACIS options. |
include <asm_prop_api.hxx>
| outcome asmi_raytest_ents | ( | SPAposition const & | ray_point, | |
| SPAunit_vector const & | ray_direction, | |||
| double | ray_radius, | |||
| int | hits_wanted, | |||
| asm_model_list const & | targets, | |||
| component_entity_handle_list & | ceh_hit, | |||
| double *& | ray_parameters, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Gets the list of component_entity_handles that are hit when a ray is fired at one or more assembly models.
Role: This assembly API fires a ray at an array of assembly models, already selected in some way, from the given ray point in the given ray direction with the given ray radius. It returns a list that contains the n component_entity_handles nearest the ray point (where n is the number of hits recorded) and an array that holds the n parameter values of the points along the ray. Only component_entity_handles in the forward direction along the ray can be hit. hits_wanted indicates the maximum number of hits to return. To return all hits, specify hits_wanted as zero.
If ray_parameters is not NULL, it must point to an array of doubles large enough to hold all of the returned parameters. When ray_parameters is specified as NULL, an array large enough to hold the returned parameters is allocated and its address is returned. The caller is responsible for deleting the array.
When several connected component_entity_handles are wanted, for example, all edges of a face, pick one component_entity_handle, for instance, the face, and the others are found by following the model pointers.
If the ray, that is, the straight line from a given point and a given direction, hits the face at a point at least the length of the ray radius from any edge or vertex of the face, it returns the face. If it hits an edge of a face or passes within ray radius of the edge, it returns the edge. If it passes within ray radius of a vertex, it returns the vertex.
If the ray lies along the surface (planar or ruled) of a face and crosses the interior of the face, the edges or vertices of the face hit by the ray are returned. If there are no edges or vertices, the face is returned.
The option ray_test_control influences the behavior of the API. For details on the various values the option can take and the corresponding API behavior, refer to the documentation of the ray_test_control option.
To pick edges or vertices, it is often helpful to increase the ray radius, but to pick a face, keep the ray radius small to avoid picking edges or vertices of the face.
If the ray hits an entity more than once, only the hit at the smallest ray parameter is returned.
A call to this assembly API will cause bounding boxes to be computed, causing a model change and the creation of a bulletin board. To make the process read-only, wrap the call asmi_raytest_ents in an API_NOP_BEGIN API_NOP_END block:
outcome out(0); API_NOP_BEGIN out = asmi_raytest_ents(...) API_NOP_END
ray_direction specified. Ray radius less than SPAresabs. Entity pointer in array is NULL.
Effect: Changes model
Journal: Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| ray_point | Specifies the starting point of the ray. | |
| ray_direction | Specifies the direction of the ray. | |
| ray_radius | Specifies the radius of the ray. | |
| hits_wanted | Specifies the number of hits requested. | |
| targets | Specifies the array of target assembly models. | |
| ceh_hit | Specifies the list of component_entity_handles hits returned. | |
| ray_parameters | Specifies the parameters of the ray returned. | |
| ao | Specifies the ACIS options such as versioning and journaling. |
include <intr_asm_api.hxx>
| outcome asmi_restore_model_list | ( | FileInterface * | file_if, | |
| asm_model_list & | primary_models, | |||
| asm_restore_options * | ropts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Restores a list of asm_model objects using a FileInterface object.
Role: The list of primary models that was specified in asmi_save_model_list is returned. Each restored model is bound to a customer entity manager, created by the customer-created entity_mgr_factory that has been globally registered using asmi_set_entity_mgr_factory. This globally registered factory can be overridden for this particular call to asmi_restore_model_list by using an asm_restore_options object.
Errors: NULL model pointer.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| file_if | FileInterface object. | |
| primary_models | list of root models that were saved. | |
| ropts | restore options. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_restore_model_list | ( | FILE * | file_ptr, | |
| logical | text_mode, | |||
| asm_model_list & | primary_models, | |||
| asm_restore_options * | ropts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Restores one or more assembly models from a file.
Role: The list of primary models that was specified in asmi_save_model_list is returned. Each restored model is bound to a customer entity manager, created by the customer-created entity_mgr_factory that has been globally registered using asmi_set_entity_mgr_factory. This globally registered factory can be overridden for this particular call to asmi_restore_model_list by using an asm_restore_options object.
Errors: NULL model pointer.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| file_ptr | open file descriptor. | |
| text_mode | TRUE if the file is text, FALSE if it is binary. | |
| primary_models | list of root models that were saved. | |
| ropts | restore options. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_save_model_atomic | ( | asm_model * | model, | |
| asm_save_options * | sopts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Saves an assembly model and its sub-models to multiple files in atomic mode.
Role: Only the top-level model needs to be specified; the routine automatically saves any sub-models upon which the input model depends.
Note: This routine should only be used to embed atomic ASAT (or ASAB) segments in customer files; it should never be used to write files with .ASAT or .ASAB extensions.
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| model | top-level model to save. | |
| sopts | save options; these include save-with-history and save-as-text. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_save_model_list | ( | FileInterface * | file_if, | |
| asm_model_list & | primary_models, | |||
| asm_save_options * | sopts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Saves a list of asm_model objects to a single file using a FileInterface object.
Role: Only top-level (primary) models need to be specified; the routine automatically saves any sub-models upon which the primary models depend.
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| file_if | FileInterface object. | |
| primary_models | list of root models to save. | |
| sopts | save options. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_save_model_list | ( | FILE * | file_ptr, | |
| logical | text_mode, | |||
| asm_model_list & | primary_models, | |||
| asm_save_options * | sopts = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Saves a list of asm_model objects to a single file.
Role: Only top-level (primary) models need to be specified; the routine automatically saves any sub-models upon which the primary models depend.
Errors: NULL model pointer.
Effect: Read-only.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| file_ptr | open file descriptor. | |
| text_mode | TRUE indicates an ASCII file format; FALSE indicates a binary file. | |
| primary_models | list of root models to save. | |
| sopts | save options | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| outcome asmi_set_entity_mgr_factory | ( | entity_mgr_factory *& | factory, | |
| AcisOptions * | ao = NULL | |||
| ) |
Resets the globally registered entity manager factory.
Role: This function replaces the current globally registered entity manager factory (used to create entity managers during ASAT restore) with the new factory being passed in. Note that this will call the lose method (signalling a destruction request) on the entity manager factory which is currently registered, and that the lose method will be called on the entity manager factory which is registered when ACIS is terminated.
Effect: Changes model.
Journal: Not Available
Product(s): 3D ACIS Exchange, 3D Viz Exchange, 3D ACIS Modeler
| factory | The entity_mgr_factory object to be registered. | |
| ao | ACIS options such as versioning and journaling. |
include <asm_api.hxx>
| logical has_assembly | ( | asm_model * | model | ) |
Queries a model to determine if it contains a live assembly.
Errors: No entity manager.
Effect: Read-only.
Journal: Not Available
| model | model which is queried to determine if it owns an assembly entity. |
include <asm_api.hxx>