NX二次开发 UG内部函数调UG宏
string g_nxlib_path = "D:\Program Files\Siemens\NX 10.0.0.24\UGII";//请指定正确的UGII路径
//调NX宏
bool CALL_MACRO(const string macro)
{
string str = Trim(macro);
if ((int)str.length() < 7 || (int)str.length() > 256)
return false;
if (!IsPathExist(str))
return false;
if (0 == UF_is_initialized())
UF_initialize();
if (0 == (int)g_nxlib_path.length())
return false;
string libugdll = CharMakeLower(g_nxlib_path + "\\libugui.dll");
if (!IsPathExist(libugdll))
return false;
typedef void(*call_macro_p_t)(char* macro);
call_macro_p_t CallCallMacro = NULL;
wchar_t* wp0 = StringToWchar(libugdll);
HMODULE ssss = LoadLibrary(wp0);
data_free(wp0);
#ifdef _WIN64
CallCallMacro = (call_macro_p_t)GetProcAddress(ssss, "?MACRO_playback_from_usertool@@Y
本文探讨了NX(UG)二次开发中如何通过C++代码实现对UG宏的调用,深入理解UG内部函数的应用,提升软件功能定制的效率。
订阅专栏 解锁全文

1万+

被折叠的 条评论
为什么被折叠?



