概述
UG OPEN API的开发模块是为了使NX和外部接口之间调用的一个开放平台。UG OPEN API包括:
-
用户可以调用API函数或子程序,使用NX图形交互,文件管理,数据库管理。
-
执行程序链接和运行用户程序。
-
使用NX的交互式界面运行这些程序。.
UG OPEN API程序可以运行在2个不同的环境,取决于程序的规定。两个环境:
-
外部 - 这些UG OPEN API程序是独立的程序,可以运行于操作系统,在NX,或作为一个辅助的过程中产生的NX.
-
内部 - 这些UG OPEN API程序只能运行在NX界面环境下。这些程序被加载到NX分配的内存运行空间中。他的特点是可执行代码小,链接快。一旦一个内部的API程序加载到内存中,他就成为NX的会话框中的一部分。
UG OPEN API函数或子程序基本支持内部和外部方式。只有一些,主要是用户界面程序,只有在内部模式下运行.
UG OPEN API产品是不打算取代OPEN GRIP (GRaphics
Interactive Programming) 产品,因为是更高层次的语言,如C或C + + NX接口。有许多任务需求在高级语言程序比较合适.
UG OPEN API产品需要明确本手册定义。这是我们的意图,
开发应用程序的程序员以为在未来的NX软件有变化的时候会舍弃之前的定义程序。不幸的是,这是不可能的。如果可能的话,我们会尽力支持现有的程序并
一个新版本发行之前通告用户例程这将在未来改变.
当升级到新版本,程序员将重新编译
链接程序。此外,发行说明提供了每个
释放NX的描述是 OPEN C程序员的重要变化.
发行说明描述了什么版本的操作系统
编译器用来创建UG OPEN API释放。因为操作
系统,连接器,编译器,运行时库,等,通常是更新
硬件供应商比NX发布更加频繁,可能会有
组合不正确打开C API函数。此外,
编译或链接可能需要比其他那些记录不同的选项
在这里。指发行说明提供了每个释放NX的特异性
这可能需要使用Open C API正确的变化.
的例子的源代码文件
很多的,例子程序,在C源代码文件的程序
位于ugopen目录,该目录的子目录
指出由可变ugii_root_dir。源代码文件“优盘”
前缀,后跟一个模块的名称和一个描述性名称。比如说呢。
ufd_curve_ask_spline_thru_pts。C是一个例子的源代码程序
uf_curve_ask_spline_thru_pts功能演示。源代码中发现的
在ugopen目录应该是首选的示例代码
记录在UG OPEN API参考手册,因为任何的可能性
例程可能发生晚期的变化.
支持的语言
UG OPEN API程序可以写在C或C + +编程语言。
初始化和终止
所有打开的C API程序必须被正确地初始化和终止。你用
两个C函数 UF_initialize and
UF_terminate 这样做的。在你
将你的变量的第一次UG OPEN API函数的调用必须
uf_initialize。你的最后一个函数调用必须uf_terminate。在外部模式,
你可以叫uf_initialize一旦。一旦uf_terminate称,没有
的方式连接到开放的C环境。 ;如果你使用的是pre-nx4
UG OPEN API许可,uf_initialize和uf_terminate将分配和释放
UG OPEN API许可。 ;如果你使用的是新NX4授权方案,
UG OPEN API许可不是必需的,但每个功能需要
具体模块的许可。 ;例如,如果你的电话
uf_assem_add_part_to_assembly你必须有一个组件的许可证。对 
查看当前表的用户功能及其相关的许可证,请点击这里
license_table.csv
有一种工具可以扫描现有的用户功能方案的确定
该模块具体的许可证必须与运行程序
新的许可证制度。 ;点击这里 query_licenses
下载这个工具。 ;注意,Perl是需要执行这个工具
从命令提示符。 ;你可以下载最新版本的Perl
www.perl.com. 一旦你安装了Perl打开一个命令提示符
导航到你保存的查询许可工具目录 ;
类型“Perl query_licenses.pl - H的开始.
功能要求
创建几何模型,周期,或执行其他基本操作,你
必须先加载一个NX的部分文件。当程序运行在一个特定类型的
标签,你必须通过标签的程序正确的类型。为
例如,如果你要查询一个点的坐标,你必须通过一个
标签有点不是一个行或任何其他类型的几何的标签。的
以上是在几乎所有的程序错误条件。这些错误条件
每个程序不重复.
内部程序
许多内部UG OPEN API程序使用的功能ufusr
作为一个切入点。的 ufusr 功能作为一个主要的功能.
内部公开的C API程序可以被认为是作为一个用户编写的函数,NX。
要启动的程序的执行,NX加载程序到内存,然后
引用符号ufusr。用户程序的执行,接管
点。在执行结束,程序执行返回语句
将控制返回给NX。在UG OPEN API程序员指南描述
建立内部和外部的程序和描述的示例文件
在开放的C试剂盒提供的。看到“基本部分文件查询”的<章>打开
C API程序员指南。
入口点内部程序是通过一个函数或子程序调用
ufusr。
/*
* 内部CUG OPEN API程序
*
* input 输入
* 参数参数传递到UG OPEN API程序
* NX(预留给未来的增强功能)
* parm_len长度参数后实施(5
* 不需要看到所有平台上
* “写作UG OPEN API程序”
*
* output 输出
* retcod用户返回代码(未来的增强)
*/
#include <uf.h>
/*附加包含所需的文件* /
void ufusr(char *param, int *retcod, int parm_len)
{
/* statement declarations 声明,声明 */
UF_initialize();
/* body 体* /
UF_terminate();
}
一旦一个可执行文件加载到内存,它驻留在内存中的
除非你使用NX会话的方法把图像(例如看到功能
ufusr_ask_unload 在用友H的头文件).
自动显示
因为内部UG OPEN API的程序在一个NX环境下运行,部分
显示自动完成。对象显示可以抑制和个人
对象显示在uf_disp例程。h头文件等
UF_DISP_set_display and
UF_DISP_add_item_to_display.
在某些情况下,内部UG OPEN API,一部分必须是积极的(如
几何创建)。活跃的部分可能是以前打开的
交互式NX或一个UG OPEN API检索。
UF_ASSEM_ask_work_part 可用于确定是否一部分
已激活。部分可申请从UG OPEN API或NX.
外部程序
外部C程序使用标准C主函数调用Open C API
例程。看到ext_uf_example.C在你的安装目录打开C API为
例外部程序。
 ;
外部UG OPEN API程序编写,编译和链接的,像任何一个正常的
程序。启动和终止的程序语句应该遵循
正常的“C”。
外部模型终端I / O
所有的终端I / O应该使用I / O语句提供的
高级语言(例如C函数puts(),getchar(),printf(),等)。
如果外部UG OPEN API程序从NX运行在终端调用
Windows,所有的高级语言的I / O将出现在窗口从NX
开始。这个窗口背后可能隐藏着一些其他的NX的窗户
必须是“突然”上被使用。在Windows NT中,没有一个终端
窗口与NX,所以终端I / O是不可能的.
没有部分显示
没有显示或可将外部模式做了。创建或任何部分
由外部UG OPEN API程序修改必须检索nx
在对外UG OPEN API已经提交的部分显示。
 ;
在任何数据库例程可以称,现有的一部分,必须创建或
检索(uf_part_new或uf_part_open)工作。部分可以提交
uf_part_save,uf_part_save_as,或uf_part_save_all。
UG OPEN API公约
除非另有说明,新UG OPEN API函数是用C和遵循
ANSI C标准。请参阅有关新发布的信
功能变化。
除特别注明外,所有新UG OPEN API函数都遵循一个描述性的命名
公约。格式:
UF_ABBR_descriptive_name
where:
UF_ denotes Unigraphics Open C API Function
ABBR_ 对功能区的缩写代表
descriptive_name 是一个描述性的标题给予提示的功能的目的
As an example:
UF_PART_close_all 一个函数,落在部分操作
应用程序,关闭所有打开的零件。
数据库例程
UG OPEN API有一大套程序创建和修改NX的对象。我们
假设你是熟悉的NX和C语言来防止任何
严重的错误。一些例程返回错误代码,则不。的
程序来创建对象将返回一个对象标识符= null_tag来
显示一个错误。
 ;
<H3></H3 >变量声明
UG OPEN API支持所有的C数据类型。对象标识符(EIDS)应
声明为tag_t限制改变你的计划。
字符串长度。长度记录在这本手册是
对,输入或输出的数据是有效的最大字符数
由常规的。
数据结构
许多程序需要的数据结构。在大多数情况下,数据结构
在头文件中的记录。然而,也有一些情况下,数据
结构只供内部使用或专有使用只有一个指针
这个结构是宣布用户。
Include Files
本文档由原型的函数的头文件组织。
有几个包括提供给用户添加到文件
程序。用户应该包括uf_defs H一般类型。其他的
包含文件应使用根据用户的应用。这些措施包括
文件包含typedef声明,ANSI原型的新的例程和遗产
代码,并指定的应用程序相关的宏。
Error Codes
除非另有书面,每一个例程返回一个int,这是错误的
代码。一个返回码0表示成功,和任何其他数字表示
失败。一个错误代码相关的信息可以通过调用
UF_get_fail_message.
Handles
在Unigraphics V9,当一个对象有一个已知的对象标识符(EID),EID
与部分保存,将同一次部分
加载。在V10和超越,因为多个部分可以加载一次,该
标签(即开斋节)的对象不能保证会话之间。这个
的原因,“处理”是用来识别的实体之间的会话。援助
应用在开斋节的一些数据文件保存在会话之间,
UF_ask_new_tag_of_object 创建返回post-v10标签
对应于一个对象的一部分,只是装V9开斋节。那
标签可以被转换为一个post-v10处理使用
UF_TAG_ask_handle_of_tag.
Legacy Routines
一些开放的C程序已将要从公开发布C删除
图书馆。大多数这些例程的老套路,最初用于
支持Fortran代码。<一href =“legacy_routines。HTML文件“>遗产去除
列出这些例程,并要求让几乎所有现有的信息
程序的工作没有源代码的变化。
How to Execute Programs
你执行UG OPEN API程序通过选择文件名。在你
成功编译和链接,打开的C API程序执行以下
步骤:
 ;
在NX选择文件——>执行——> NX Open。一个列表框中显示
可执行文件,您以前成功编译和链接。如果你
执行外部程序的书面NX会话不能通过
命令行参数。此外,你无法执行操作
当前交互部分。你可能希望执行外部程序
由于这些原因,命令行。
设置你的系统
本节描述了依赖于机器的信息如何安装和使用
Open C在您的系统。使用UG OPEN API,你必须有C或C + +
你的工作站环境的设置。如果这个环境是不成立的,你的
系统管理员必须安装它。详情请参阅:
Linux的安装
Sun的安装
Windows操作系统的安装
编译证书
下面的表指定的编译器版本编译NX本身对每个
公交车站台。UGS公司不保证使用打开任何其他编译器
程序。在一般情况下,平台供应商必须解决任何问题的一个
新建成的NX比编译器。(请参阅发行说明操作系统级别
UGS确实证明。)
偶尔供应商过时的编译器或创建新的编译器
随着版本不兼容,建成NX。UGS没有控制权
的发展,虽然厂商通常在确保既得利益
新与旧版本兼容的编译器.
C编译器的版本
SUN SVR4
(SUN)
|
SuSE Linux
(LNX64)
|
WIN IA32
(WNTI32)
|
WIN x64
(WNTX64)
|
Sun One Studio 10
|
GCC 3.3.3 |
MS VC++ 8.0 SP1 |
MS VC++ 8.0 SP1 |
C + +编译器版本
SUN SVR4
(SUN)
|
SuSE Linux
(LNX64)
|
WIN IA32
(WNTI32)
|
WIN x64
(WNTX64)
|
Sun One Studio 10 |
GCC 3.3.3 |
MS VC++ 8.0 SP1 |
MS VC++ 8.0 SP1 |
编制和Windows系统
请参阅";Windows操作系统的安装程序文件信息"
在编译/连接微软Visual Studio C++ 或
<一href =“Wnt。HTML # developing_from_command_line”>编译/链接
通过命令行.
编译和链接在UNIX系统
ufmenu是一种实用脚本/命令文件,您提供的能力
编辑,编译,连接和运行你的UG OPEN API程序。ufcomp是一个脚本
给你编译程序的能力,和uflink是一个脚本,给
你链接程序的能力。这些脚本只支持UNIX
工作站。看到ufmenu细节, ufcomp
细节 and uflink细节 更多
信息。
编译和链接一个UNIX文件
在UNIX系统(Linux和SUN),你可以复制一个模板的makefile(ufun_make_template.ksh)位于 ${UGII_BASE_DIR}/ugopen
目录,编译和链接你的程序。
可定制的模板文件编译和链接:内部和
外部,内部或外部的唯一,只开放C API程序。说明
如何使用模板文件中的注释段充分解释
文件。
在你定制的模板文件,你要复制或移动文件
它被命名为“中”或“中”,这是标准的名称
make命令预计。或者,你可以用“F”开关与
使命令指定生成文件的名字。
模板文件是设计用来与作出命令提供的
该平台的供应商(Linux,或USN)。进一步的信息和文件
使用“人”的关系。