InterOp:Migration Guide/ACIS/ACIS to IDEAS Reader-Writer
From DocR18
The following table provides mapping between the Legacy APIs and Connect options:
| API in Legacy Translator | Corresponding Option in Connect |
|---|---|
| api_initialize_xideas | No option; functionality handled internally |
| api_terminate_xideas | No option; functionality handled internally |
| api_xideas_enable_attrib_transfer
api_xideas_disable_attrib_transfer api_xideas_get_attrib_transfer_flag | TranslateAttributes |
| api_xideas_enable_translate_from_workbench
api_xideas_disable_translate_from_workbench api_xideas_get_translation_flag | IDEAS.Brep.TranslateFromWorkBench |
| api_xideas_set_spline_resurface_option
api_xideas_get_spline_resurface_option | DoSplineResurface |
| api_xideas_get_write_tolerance
api_xideas_set_write_tolerance | IDEAS.Brep.WriteTolerance |
| api_xideas_set_server_name
api_xideas_get_server_name | IDEAS.Brep.ServerName |
The following table provides mapping between the Legacy APIs and Connect code:
| API in Legacy Translator | Corresponding Code for Connect |
|---|---|
| api_xideas_import | ENTITY_LIST* pAcisEntities=NULL; SPAIDocument src(InputPart.mf1); SPAIAcisDocument dst; converter.Convert(src, dst); dst.GetEntities(pAcisEntities); dst.DetachEntities(); |
| api_xideas_import (using xml) | SPAIDocument src(Input.mf1); SPAIDocument dst(Output.xml); dst.SetType("EBOM"); SPAIOptions options; SPAIValue representation("Assembly "); options.Add(SPAIOptionName::Representation, representation); SPAIConverter converter; converter.SetOptions(options); converter.Convert(src,tgt); |
| api_xideas_session_import | ENTITY_LIST* pAcisEntities=NULL; SPAIDocument src(InputPart.mf1); SPAIAcisDocument dst; converter.Convert(src, dst); dst.GetEntities(pAcisEntities); DetachEntities(); |
| api_xideas_export | src(const ENTITY_LIST* ipEntities); SPAIDocument dst(OutputPart.m1); converter.Convert(src, dst); |
| api_xideas_session_export | SPAIAcisDocument src(const ENTITY_LIST* ipEntities); SPAIDocument dst(OutputPart.m1); converter.Convert(src, dst); |
The following table provides mapping for the Callback mechanism between the Legacy translator and Connect:
| Callback Mechanism in Legacy Translator | Corresponding Code for Connect |
|---|---|
| api_xideas_set_abort | SetProgressCallback of SPAIConverter class. Example:void myProgressCallbackFunction(double iProgress, SPAXBoolean& oAbort) { "\rTranslation Progress : %.10f %%", iProgress*100.0); oAbort = 0; // setting oAbort to 1 will abort translation if(iProgress>0.1) oAbort = 1; } int main(int argc, char *argv) { SPAIDocument src(pszInputFile); if( strlen(pszInputFormat) > 0 )src.SetType(pszInputFormat); SPAIDocument dst(pszOutputFile); converter.SetProgressCallback((SPAIProgressCallback)myProgressCallbackFunction); converter.Convert(src, dst); } |
| api_xideas_set_conversion_unit_callback
api_xideas_get_conversion_unit_callback | SetUnit and GetUnit method of the SPAIConverter class. Example: SPAIDocument src(pszInputFile); if (strlen(pszInputFormat)>0)src.SetType(pszInputFormat); SPAIUnit sourceUnit; src.GetUnit(sourceUnit); SPAIDocument dst(pszOutputFile); // Select Target Document Unit if (strlen(pszUnit)>0) { SPAIUnit requestedUnit("Millimeter"); result&=dst.SetUnit(requestedUnit); } SPAIFile console(1); SPAIConverter converter; result&=converter.StartLog(console); result&=converter.Convert(src, dst); result&=converter.StopLog(console); // Get Target Document Unit SPAIUnit outputUnit; result&=dst.GetUnit(outputUnit); |
