InterOp:Migration Guide/ACIS/ACIS to IDEAS Reader-Writer

From DocR18

Jump to: navigation, search

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);
Personal tools
new releases