<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[UG&#x2F;Open API二次开发入门——用C语言编写第一个UG外挂程序]]></title><description><![CDATA[<p dir="auto">&lt;p&gt;&lt;strong&gt;UG/Open API是UG（现NX）提供的一套C语言开发接口，允许开发者编写自定义的工具来扩展UG的功能。&lt;/strong&gt;本文面向零基础入门，带你从环境配置到跑通第一个程序。&lt;/p&gt;</p>
<p dir="auto">&lt;h3&gt;一、开发环境准备&lt;/h3&gt;</p>
<p dir="auto">&lt;h4&gt;1.1 安装VS+UG&lt;/h4&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;安装 Visual Studio（VS2015/2017/2019均可）&lt;/li&gt;<br />
&lt;li&gt;安装 NX 10.0 以上版本&lt;/li&gt;<br />
&lt;li&gt;确保安装时勾选了 &lt;strong&gt;UG/Open API&lt;/strong&gt; 组件&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p dir="auto">&lt;h4&gt;1.2 环境变量配置&lt;/h4&gt;</p>
<p dir="auto">&lt;p&gt;需要设置以下环境变量：&lt;/p&gt;<br />
&lt;pre&gt;&lt;code&gt;<br />
UGII_BASE_DIR = D:\Program Files\Siemens\NX 12.0<br />
UGII_ROOT_DIR = %UGII_BASE_DIR%\UGII<br />
&lt;/code&gt;&lt;/pre&gt;</p>
<p dir="auto">&lt;h3&gt;二、第一个程序：Hello World&lt;/h3&gt;</p>
<p dir="auto">&lt;h4&gt;2.1 创建源文件&lt;/h4&gt;</p>
<p dir="auto">&lt;p&gt;新建一个 &lt;code&gt;hello.c&lt;/code&gt;：&lt;/p&gt;</p>
<p dir="auto">&lt;pre&gt;&lt;code&gt;<br />
#include &lt;stdio.h&gt;<br />
#include &lt;uf.h&gt;<br />
#include &lt;uf_ui.h&gt;</p>
<p dir="auto">void ufusr(char *param, int *retcod, int param_len)<br />
{<br />
int error_code;<br />
UF_initialize();</p>
<pre><code>// 弹出UG界面消息框
UF_UI_open_listing_window();
UF_UI_write_listing_window("Hello, 模极社！\n");

// 或者用对话框
uc1601("Hello, 模极社！", 1);

UF_terminate();
</code></pre>
<p dir="auto">}<br />
&lt;/code&gt;&lt;/pre&gt;</p>
<p dir="auto">&lt;h4&gt;2.2 编译链接&lt;/h4&gt;</p>
<p dir="auto">&lt;p&gt;在VS开发者命令提示符中：&lt;/p&gt;<br />
&lt;pre&gt;&lt;code&gt;<br />
cl /c /I"%UGII_BASE_DIR%\UGOPEN" hello.c<br />
link /dll /out:hello.dll hello.obj "%UGII_BASE_DIR%\UGOPEN\libufun.lib"<br />
&lt;/code&gt;&lt;/pre&gt;</p>
<p dir="auto">&lt;h4&gt;2.3 运行&lt;/h4&gt;</p>
<p dir="auto">&lt;ul&gt;<br />
&lt;li&gt;将生成的 &lt;code&gt;hello.dll&lt;/code&gt; 复制到 &lt;code&gt;%UGII_BASE_DIR%\UGII\menus&lt;/code&gt;&lt;/li&gt;<br />
&lt;li&gt;启动NX，菜单栏会多出一个&lt;strong&gt;用户自定义菜单项&lt;/strong&gt;&lt;/li&gt;<br />
&lt;li&gt;点击即可运行你的第一个UG外挂&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p dir="auto">&lt;h3&gt;三、常用API速查&lt;/h3&gt;</p>
<p dir="auto">&lt;table&gt;<br />
&lt;tr&gt;&lt;td&gt;功能&lt;/td&gt;&lt;td&gt;API函数&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;初始化&lt;/td&gt;&lt;td&gt;UF_initialize()&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;终止&lt;/td&gt;&lt;td&gt;UF_terminate()&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;创建直线&lt;/td&gt;&lt;td&gt;UF_CURVE_create_line()&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;创建圆&lt;/td&gt;&lt;td&gt;UF_CURVE_create_arc()&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;创建方块&lt;/td&gt;&lt;td&gt;UF_MODL_create_block1()&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;选择对象&lt;/td&gt;&lt;td&gt;UF_UI_select_with_single_dialog()&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;显示消息&lt;/td&gt;&lt;td&gt;uc1601()&lt;/td&gt;&lt;/tr&gt;<br />
&lt;tr&gt;&lt;td&gt;获取部件&lt;/td&gt;&lt;td&gt;UF_PART_ask_display_part()&lt;/td&gt;&lt;/tr&gt;<br />
&lt;/table&gt;</p>
<p dir="auto">&lt;h3&gt;四、注意事项&lt;/h3&gt;</p>
<p dir="auto">&lt;ol&gt;<br />
&lt;li&gt;&lt;strong&gt;UG/Open API是C语言接口&lt;/strong&gt;，不是C++，虽然C++也能调用但不能用C++类&lt;/li&gt;<br />
&lt;li&gt;所有UF_开头的函数返回 &lt;code&gt;int&lt;/code&gt; 类型错误码，&lt;strong&gt;必须检查每个API的返回值&lt;/strong&gt;&lt;/li&gt;<br />
&lt;li&gt;编译时注意64位/32位匹配——UG 10.0以上都是64位&lt;/li&gt;<br />
&lt;li&gt;调试最方便的方法是 &lt;code&gt;uc1601()&lt;/code&gt; 弹消息框，或者写日志文件&lt;/li&gt;<br />
&lt;/ol&gt;</p>
<p dir="auto">&lt;p&gt;掌握这些，UG外挂开发就入门了，后续可以扩展做自动建模、批量出图等功能。&lt;/p&gt;</p>
<p dir="auto">&lt;hr&gt;</p>
<p dir="auto">&lt;p&gt;&lt;strong&gt;<img src="https://forum.mj7.cn/assets/plugins/nodebb-plugin-emoji/emoji/android/1f527.png?v=k0o2a4s5i30" class="not-responsive emoji emoji-android emoji--wrench" title=":wrench:" alt="🔧" /> 相关工具推荐：使用在线模具计算器快速估算参数&lt;/strong&gt;&lt;/p&gt;</p>
<p dir="auto">&lt;p&gt;[mj-mechanical-calc]&lt;/p&gt;</p>
<p dir="auto">&lt;hr&gt;</p>
<p dir="auto">&lt;p&gt;&lt;em&gt;<img src="https://forum.mj7.cn/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4a1.png?v=k0o2a4s5i30" class="not-responsive emoji emoji-android emoji--bulb" title=":bulb:" alt="💡" /> 提示：以上计算工具为纯前端实现，数据仅在本地运算，不会上传至服务器。&lt;/em&gt;&lt;/p&gt;</p>
<p dir="auto">&lt;hr&gt;<br />
&lt;h4&gt;<img src="https://forum.mj7.cn/assets/plugins/nodebb-plugin-emoji/emoji/android/1f517.png?v=k0o2a4s5i30" class="not-responsive emoji emoji-android emoji--link" title=":link:" alt="🔗" /> 你可能还感兴趣&lt;/h4&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;&lt;a href="/t/solidworks%E7%84%8A%E4%BB%B6%E8%AE%BE%E8%AE%A1%E6%95%99%E7%A8%8B%EF%BC%9A%E7%BB%93%E6%9E%84%E6%9E%84%E4%BB%B6%E4%B8%8E%E7%84%8A%E6%8E%A5%E5%88%87%E5%89%B2%E6%B8%85%E5%8D%95/5385"&gt;SolidWorks焊件设计教程：结构构件与焊接切割清单&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="/t/4238/4238"&gt;discourse-yungouos-pay&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="/t/4234/4234"&gt;discourse-mj-steel-query&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p dir="auto">&lt;hr&gt;<br />
&lt;h4&gt;<img src="https://forum.mj7.cn/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4cb.png?v=k0o2a4s5i30" class="not-responsive emoji emoji-android emoji--clipboard" title=":clipboard:" alt="📋" /> 相关标准参考&lt;/h4&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;GB/T 12555 塑料注射模模架&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p dir="auto">&lt;hr&gt;<br />
&lt;p&gt;&lt;strong&gt;相关推荐：&lt;/strong&gt;&lt;/p&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;&lt;a href="<a href="https://www.mj7.cn/t/siemens-nx-2506-cam-5" rel="nofollow ugc">https://www.mj7.cn/t/siemens-nx-2506-cam-5</a>"&gt;Siemens NX 2506新版发布：CAM刀路显示升级、5轴去毛刺增强&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="<a href="https://www.mj7.cn/t/ug-nx" rel="nofollow ugc">https://www.mj7.cn/t/ug-nx</a>"&gt;UG NX扫掠与网格曲面高级技巧&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="<a href="https://www.mj7.cn/t/ug-nx-5332" rel="nofollow ugc">https://www.mj7.cn/t/ug-nx-5332</a>"&gt;UG NX焊接模块应用：焊缝建模与焊接仿真&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p dir="auto">&lt;hr&gt;<br />
&lt;p&gt;这个参数你们一般设多少？评论区说说。&lt;/p&gt;</p>
]]></description><link>https://forum.mj7.cn/topic/7734/ug-open-api二次开发入门-用c语言编写第一个ug外挂程序</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 13:44:39 GMT</lastBuildDate><atom:link href="https://forum.mj7.cn/topic/7734.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Apr 2026 01:20:24 GMT</pubDate><ttl>60</ttl></channel></rss>