您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > vericut二次开发
GotoCGTechHelpLibraryVERICUTDevelopmentToolsOptiPathAPIIntroductionOptiPathAPIisdesignedtoenableaninterfacebetweenVERICUTandcustomizedplug-intoolpathoptimizationprograms.OptiPathAPIisonlyavailableonWindowsplatform.WhenasystemenvironmentvariableCGTECH_OPAPIisdefinedwithauser'soptimizationlibraryname,VERICUTwillautomaticallyrunOptiPathinAPImodeandconnecttouser'sprogram.VERICUT'sownOptiPathfunctionwillnolongerbeavailable.NOTE:Thefiles(opapi.lib,opapi_template.c,optiapi.handoptimport.h)referredtobelow,arealllocatedthe\windows\optipath_api\folderofyourVERICUTsoftwareinstallation.Howtobuildaplug-inlibraryTheplug-informatusedbyVERICUTisaWIN32DynamicLinkedLibrarywhichcanbebuiltusingMSVC.Thefollowingfiles/librariesareneeded:opapi.h,optimport.h,opapi.lib,opapi.dllandasampleCfilecalledopapi_template.cTheeasiestwaytobuildsuchaplug-indll,forexample,opapi_usr.dll,istostartwithcreatingaC/C++file,likeopapi_usr.c,withtheskeletoncodefoundinopapi_template.c.Thereisonesetupfunctionmustbepresentwithexactlythedeclarationstyleandnameprovidedbelow:voidopapi_setup(void);whereoptimizationcallbackfunctionsmustberegisteredinsidethissetupfunction.Thefollowingfunctionscanbeusedtoregisterthesecallbacksinsetup:voidopapi_set_initialize_function(OPAPI_InitializeFunction);voidopapi_set_optimize_function(OPAPI_OptimizeFunction);voidopapi_set_terminate_function(OPAPI_TerminateFunction);voidopapi_set_tool_change_setup_function(OPAI_ToolSetupFunction);voidopapi_set_user_data(void*);VERICUTDevelopmentTools1Inaddition,thereare25optionalutilityfunctionsthatprovidetheuserprogramwithdetailedprocessdata.AllthefunctionsaredescribedintheFunctionDefinitionsectionattheendofthisdocument.Examplescanbefoundinopapi_template.c.char*opapi_get_variable_value(char*);doubleopapi_get_axial_depth(void);doubleopapi_get_program_feedrate(void);doubleopapi_get_spindle_speed(void);doubleopapi_get_total_distance(void);doubleopapi_get_total_time(void);doubleopapi_get_total_volume_removed(void);doubleopapi_get_volume_removed(void);intopapi_get_conventional_cut_flag(void);intopapi_get_side_cut_flag(void);intopapi_get_thin_cut_flag(void);intopapi_get_turning_contact_profile(int*,int**,sOPAPI_PROFILE**);voidopapi_free(char*);voidopapi_get_contact_area(int*,double*);voidopapi_get_current_tool(char**,int*,sOPAPI_APT_CUTTER*);voidopapi_get_cut_machine_position(double[12],double[12]);voidopapi_get_cut_tool_position(double[6],double[6]);voidopapi_get_decompressed_map_data(sOPAPI_MAP,int*,char**);voidopapi_get_grid_map(sOPAPI_MAP*);voidopapi_get_motion_type(eOPAPI_MOTION_TYPE*,double[6]);voidopapi_get_radial_width(void);voidopapi_get_toolpath_record(int*,char**);voidopapi_send_message(char*,int);voidopapi_set_override_rpm(double);voidopapi_set_resolution(double);voidopapi_write_out_comment_line(char*);VERICUTDevelopmentTools2Includeopapi.handoptimport.hinopapi_usr.c.Compileandlinkalltheusrfileswithopapi.lib.Thiswillgeneratea.dlllibrary.SetsystemenvironmentvariableCGTECH_OPAPIsettowherethisdllis,forexample,c:\opapi\opapi_usr.dllandplaceopapi.dllinthesamedirectorywhereCGTech.dllis.OptiPathAPImodeisnowreadytogo.VERICUTDevelopmentTools3FunctionDefinitionsSetupFunctionsvoidopapi_setup(void)Setupfunction.Mustbepresentwithexactlythesamedeclarationstyleandname.CalledwhenOptiPathAPIlibraryisfirstloaded.Itistoregisteruser'soptimizationfunction.Thefollowingfunctionscanbeandshouldonlybecalledinthissetupfunction:opapi_set_initialize_function(OPAPI_InitializeFunction);opapi_set_optimize_function(OPAPI_OptimizeFunction);opapi_set_terminate_function(OPAPI_TerminateFunction);opapi_set_tool_change_setup_function(OPAI_ToolSetupFunction);opapi_set_user_data(void*);voidopapi_set_initialize_function(OPAPI_InitializeFunctionfunc_p)Registeruser'sinitializationfunctionwithVERICUT.Theinitializationfunctionregistered,func_p,shouldhavethefollowingdeclarationstyle:typedefint(*OPAPI_InitializeFunction)(void*userData);whichreturns1ifinitializationissuccessfulor0ifinitializationfailed.Iffailed,OptiPathwillbeturnedoff.Thisfunctionshouldonlybecalledinopapi_setup()function.Onceregistered,theinitializationfunction,func_p,willbecalledeachtimetheuserturnOptiPathon.voidopapi_set_optimize_function(OPAPI_OptimizeFunctionfunc_p)Registeruser'soptimizationfunctionwithVERICUT.Theoptimizationfunctionregistered,func_p,shouldhavethefollowingdeclarationstyle:typedefvoid(*OPAPI_OptimizeFunction)(void*userData);Thisfunctionshouldonlybecalledinopapi_setup()function.Onceregistered,theoptimizationfunction,func_p,willbecalledinafrequencydefinedbyuser(seeopapi_set_resolution(double))duringcuttingprocess.VERICUTDevelopmentTools4voidopapi_set_terminate_function(OPAPI_TerminateFunctionfunc_p)Registeruser'sterminatefunctionwithVERICUT.Theterminationfunctionregistered,func_p,shouldhavethefollowingdeclarationstyle:typedefvoid(*OPAPI_TerminateFunction)(void*userData);Thisfunctionshouldonlybecalledinopapi_setup()function.Onceregistered,theterminationfunction,func_p,willbecalledeachtimeOptiPathisturnedoff.voidopapi_set_tool_change_setup_function(
本文标题:vericut二次开发
链接地址:https://www.777doc.com/doc-7209053 .html