当前位置:文档之家› NX二次开发(非常有用)

NX二次开发(非常有用)

NX二次开发(非常有用)
NX二次开发(非常有用)

盐城工学院优集学院

目录

实验一熟悉Visual Studio 2005开发环境及UG二次开发工程项目创建的方法 (2)

实验二 UIStyler、Menuscript创建用户界面、菜单和工具条.. 16实验三外部数据库访问 (24)

实验四零件设计 (40)

实验五工程图设计 (48)

实验六装配设计 (61)

实验一熟悉Visual Studio 2005开发环境及UG二次开发工程项目创建的方法

一、实验目的

1、了解和使用Visual Studio2005集成开发环境;

2、熟悉Visual Studio2005环境的基本命令和功能键;

3、掌握UG二次开发工程项目创建过程和方法;

4、理解简单的UG二次开发程序结构。

二、实验内容

分别使用UG/Open AppWizard向导和Win32应用程序向导(DLL)的方法创建UG 二次开发工程项目,并利用Visual Studio 2005集成环境来编辑、编译并运行下面简单UG二次开发程序:

#include /* 包含UF_initialize()和UF_terminate()函数原型的头文件*/

#include /* 包含uc1601()函数原型的头文件*/

extern void ufusr( char *param, int *retcod, int param_len )

{

/* 获取UG/OPEN API的执行权限 */

if(UF_initialize()!=0)

return;

/* 弹出消息窗口,显示“Hello,UG!” */

uc1601("Hello,UG!",1);

/* 释放UG/OPEN API的执行权限*/

UF_terminate();

}

三、实验步骤

1利用UG/Open AppWizard向导

为便于了解UG/Open API的使用,下面将创建一个简单的应用开发程序,其功能是在UG环境中显示一个消息对话框“Hello,UG!”。运行平台为Windows XP,

开发平台为Visual https://www.doczj.com/doc/ad16703565.html,和UG/NX4。

1.1 创建UG二次开发工程项目

利用UG/Open AppWizard向导创建工程项目,该向导是UG软件本身提供的应用向导,不支持MFC,常应用于辅助工具的开发。下面将在Visual https://www.doczj.com/doc/ad16703565.html, 和UG/NX3开发平台上利用UG/Open AppWizard向导创建工程项目。

运行Visual https://www.doczj.com/doc/ad16703565.html,,新建一个项目,如图1-1所示。选择对话框中的Templates中的NX Open Wizard向导创建UG应用工程,在Name文本框中输入工程名称“First Project”,在Location文本框中输入工程路径,然后单击OK按钮确定,NX Open Wizard(Overview)对话框,如图1-2所示。对话框将提示当前项目的默认设置,如果用户接受当前默认设置,可以直接单击Finish 按钮确定,此时向导将按默认设置创建工程项目。如果不接受当前默认设置,用户可以通过NX Open Wizard(Application Settings)对话框和NX Open Wizard (Entry Points)对话框来进行修改,两个对话框分别如图1-3和图1-4所示。NX Open Wizard(Application Settings)对话框可以让用户选择工程项目的运行模式和编程语言,NX Open Wizard(Entry Points)对话框可以让用户选择程序入口方式及卸载方式,最后单击Finish按钮确定。

图1-1 新建项目对话框

图1-2 NX Open Wizard(Overview)

图1-3 NX Open Wizard(Application Settings)

图1-4 NX Open Wizard(Entry Points)

1.2 建立程序

此时用户可以在生成的工程模板中添加代码,在Visual https://www.doczj.com/doc/ad16703565.html,集成开发环境中,打开hello.cpp文件代码窗口,输入代码并保存。输入代码如下:#include /* 包含UF_initialize()和UF_terminate()函数原型的头文件*/

#include /* 包含uc1601()函数原型的头文件*/

extern void ufusr( char *param, int *retcod, int param_len )

{

/* 获取UG/OPEN API的执行权限 */

if(UF_initialize()!=0)

return;

/* 弹出消息窗口,显示“Hello,UG!” */

uc1601("Hello,UG!",1);

/* 释放UG/OPEN API的执行权限*/

UF_terminate();

}

1.3 编译链接项目

点击主菜单“生成→生成First Project”,如图1-5,对项目First Project

编译、链接,生成.dll文件(文件位置在项目属性的“链接器→常规→输出文件”中设置)。

图1-5 编译链接项目

1.4 调试程序

方法一:在程序编译之后,首先在程序中设置断点,点击主菜单“调试→启动”,如图1-6所示,启动NX系统。在NX系统中激活.dll程序,程序进入调试状态,F11是逐语句调试,F10是逐过程调试(注意,在调试程序之前,一定对项目属性的调试进行设置)。

图1-6 调试程序

方法二:在程序编译、代码中设置断点后,启动UG NX4;回到Visual https://www.doczj.com/doc/ad16703565.html, 集成开发环境,点击主菜单“工具→调试进程”,系统打开“进程”对话框,如图1-7所示,双击“可用进程”列表中“ugraf.exe”,系统打开“附加进程”对话框,如图1-8所示,选择要调试程序类型为“Native”,单击“确定”按钮,系统进入程序调试状态,按“F11”或“F10”进行逐语句或逐过程调试。

图1-7

图1-8

1.5 运行应用程序

在UG界面中选择菜单File→Execute→NX Open,在系统弹出的一个文件选择对话框中选择应用程序“Hello UG.dll”。如图1-9、图1-10所示。

图1-9

图1-10

图1-11

2利用Win32应用程序向导(DLL)

应用开发程序框架还可以采用Win32 DLL向导创建。Win32 DLL向导创建Windows常规DLL,它只能导出C样式函数,不能导出C++类、成员函数和重载函数,同UG/Open AppWizard向导创建工程项目一样不支持 MFC。利用Win32应用程序向导创建工程项目,包括两个步骤:新建项目和设置项目属性。

步骤一:新建项目

打开Visual https://www.doczj.com/doc/ad16703565.html,,选择新建项目菜单项,将显示如图1-12所示的新建项目对话框。在项目类型框中选择Visual C++项目下的Win32选项,在模板框中选择Win32 项目选项,在名称框中输入项目名称,在位置框中设置合适

的路径,单击确定按钮接受输入。

图1-12 新建项目对话框

这时将显示如图1-13所示的Win32应用程序向导-UFSolution对话框,选择应用程序设置属性页,在其中选择Dll,直接单击完成按钮建立新项目。

图1-13 Win32应用程序向导-UFSolution对话框

新建的项目中将会有一些向导默认添加的文件,如图1-14所示。图中列出了新建项目中已有的文件。

图1-14解决方案资源管理器图

步骤二:设置项目属性

选择项目菜单下的属性项,将显示如图1-15所示的UFSolution属性页。

图1-15项目属性页-常规

在图1-15中要确认项目默认值框中配置类型为动态库(.dll),然后,选择调试选项,将显示图1-16。在图1-16中,将操作框中的命令项设置为系统中的UG执行文件,即ugraf.exe,设置这一项的目的是为了便于程序的调试。

图1-16 项目属性页-调试

接下来,选择C/C++项中的常规选项,将附加包含目录设置为$UGII_BASE_DIR\UGOPENPP; $UGII_BASE_DIR\UGOPEN,如图1-17所示。设置这一项的目的是为了包含UF的一些头文件。

图1-17 项目属性页-C/C++-常规

选择C/C++项中的代码生成选项,将运行库设置为多线程调试 DLL (/MDd),如图1-18所示。

图1-18 项目属性页-C/C++-代码生成

选择链接器项中的常规选项,设置输出文件,将附加库目录设置为

$UGII_BASE_DIR\UGOPEN; $UGII_BASE_DIR\UGOPENPP,如图1-19所示。

图1-19 项目属性页-链接器-常规

选择链接器项中的输入选项,设置附加依赖项为libufun.lib libugopenint.lib。这两个文件是在进行UG二次开发时必需的库载入文件,如图1-20所示。

图1-20 项目属性页-链接器-输入

设置好以上选项后,按应用按钮,将所设置的属性应用于项目。

四、实验要求

1.复习教材有关内容。

2.掌握UG二次开发程序项目的建立、程序调试步骤。

3.完成实验报告。

实验二 UIStyler、Menuscript创建用户界面、菜单

和工具条

一、实验目的

1、掌握利用UIStyler创建所需的对话框,熟练掌握对基本控件的访问;

2、掌握MENU SCRIPT菜单脚本语言,能够创建所需的菜单和工具条。

二、实验内容

1 UIStyler对话框的应用

本次实验将创建以下对话框:

菜单和工具条:

1.1对话框的应用环境

UG的UIStyler应用模块提供给用户可视化建立UG风格对话框的功能。在UG主菜单中选择菜单项“Application→User Interface Styler...”,进入UIStyler应用模块,UIStyler可视化界面如图2-1所示。

控件

1.2对话框设计

UIStyler可视化界面包括基本对话框、对象浏览器、属性编辑器、控件栏和控件编辑工具五部分。用户在控件栏中选择控件后放置在基本对话框中,通过

对象浏览器查看在基本对话框中设置的控件对象信息、利用控件编辑工具调整控件布局,通过属性编辑器编辑对话框及指定控件的属性。

利用UIStyler创建对话框并保存,系统将自动生成三个文件:

1.*.c文件:对话框C语言源文件的模板文件,用户复制该模板文件,补充回调函数代码,将生成对话框应用程序文件,.dll文件应放在应用程序主目录的startup子目录下,在UG系统启动是加载;

2.*.h文件:定义*.c文件中函数原型的*.c文件的头文件;

3.*.dlg文件:对话框文件,该文件需要被复制到应用程序主目录的application子目录下,由用户应用程序调用。

1.3对话框的应用步骤

(1)设计对话框界面草图;

(2)利用UIStyler工具创建对话框;

(3)设置对话框中的回调函数;

(4)保存对话框;

(5)将系统自动生成的对话框C语言模板文件复制到VC++项目中;

(6)修改C文件,添加回调函数代码,编译连接文件;

(7)将对话框文件(.dlg)复制到相应的目录下,将共享库文件(.dll)复制到相应的目录下;

(8)运行、测试及调试应用程序。

具体每一步的详细介绍请参考系统帮助文件中Tools→User Interface Styler。在UIStyler对话框开发过程中,涉及到编程的仅5、6两个步骤。

1.4基本对话框

图2-2是一个最简单的对话框,由三个系统按钮和对话框标题组成。对话框的属性包括基本属性、被选择属性和回调函数。

图2-2 基本对话框

1、对话框基本属性

对话框的基本属性包括对话框标题、提示信息、对话框前线名称、调用对话框的形式以及导航按钮等。

对话框标题(Dialog Title):对话框标题显示在对话框的标题栏中。

提示信息(Cue):对话框提示信息将显示在UG的提示栏中。

前缀名称(Prefix Name):对话框前缀名称将作为所有对话框控件名和对

话框回调函数名的前缀,默认值为CHANGE。注意:同一工程中的不同对话框应选用不同的前缀名称。

对话框类型(Dialog Type):对话框类型有Bottom和Top两种,Bottom 类型表明该对话框需使用导航按钮,Top类型则相反,一般采用Bottom类型。

对话框调用点(Launch Dialog From):对话框调用点是指对话框被调用的位置和方式,包括回调函数调用、菜单调用、User Exit调用和所有调用方式。

导航按钮设置(Navigation Buttons):UIStyler提供了OK、BACK、APPLY 和CANCEL4种导航按钮。对所有的对话框,OK和CANCEL按钮都是必须的。对已经选择的导航按钮,还可以指定其激活状态。在导航按钮激活栏里没有被激活的导航按钮,在对话框被调用时,按钮是不能被单击的。

对话框尺寸(Allow Dialog to Resize):当对话框的允许尺寸改变属性被设置时,对话框在调用时,允许用户改变对话框的尺寸。

2、对话框选择属性

对话框的选择属性包含了对话框激活开关、对话框选择方式和对话框选择范围定义。选择方式定义了在当前对话框被激活时,在窗口中选择对象的方式是否变化。其共有3种,即无变化(继承上次选择操作的属性定义)、单选、鲁棒选择等。选择范围定义了当前对话框被激活时,被选择对象所有范围是否变化。其有4种方式,即不变化、在装配中、仅在工作部件中、在工作部件和子装配中。

2、对话框基本回调函数

所有对话框都有6种基本回调函数,它们分别是APPLY按钮的回调函数、BACK 按钮的回调函数、CANCEL按钮的回调函数、OK按钮的回调函数、对话框构造函数和对话框析构函数。对话框构造函数在UG构造对话框完成之后,用户应用执行之前调用。由于此时对话框上的所有控件都可以被使用,因此构造函数是初始化对话框的最佳位置。对话框析构函函数是在UG对话框关闭之前被调用,此时,对话框中的控件仍然可以被访问到。对话框析构函数为用户提供了诸如释放内存等析构操作的位置。

2 菜单文件

2.1 环境变量设置

UG系统在起动的时候,是通过环境变量实现来获得系统菜单文件、用户菜单文件以及来识别这两类文件。系统环境变量可以在文件ugii_env.dat中找到定义,若要修改时,也可以在这个文件中修改,但要注意最好保持系统定义的值。

1、系统默认的路径与环境变量

系统默认的主菜单文件ug_main.men、弹出式菜单文件ug_view_popup.men、与应用相关的菜单文件的位置由三个环境变量控制,如下表所示:

表2-1 与系统菜单文件相关的环境变量

环境变量UGII_DEFAULT_MENU_DIR的值不可更改。

环境变量UGII_MAIN_MENU_FILE和UGII_VIEW_POPUP_MENU_FILE的值可以更改。你可以把ug_main.men和ug_view_popup.men剪切到一个目录下,然后让这两个环境变量指向这个目录,UG仍然可以正确地加载菜单。

与应用相关的菜单文件是由应用的APPLICATION_BUTTON下的MENU_FILES 指定的。

2、用户相关的路径与环境变量

当UG起动时,它会从环境变量UGII_CUSTOM_DIRECTORY_FILE指定的文件(默认为$UGII_BASE_DIR/ugii/menus/custom_dirs.dat,在文件ugii_env.dat中定义)中搜索用户接口定制文件(包括用户菜单脚本文件,工具条文件,共享库等)所在的路径。这样,用户就可以在custom_dirs.dat的文件未尾添加一行路径,然后,将接口定制文件放在这个路径下(要创建与路径相应的文件夹),当UG 起动时,就会像加载系统文件一样来加载用户的文件。

举个例子,当在custom_dirs.dat中添加了一行:D:\UFSolution,就要建立如图所示的文件夹:

图2-3 添加文件夹UFSolution

添加文件夹时,要求UFSolution及它子目录的名称中不能含有中文。

相关主题
文本预览
相关文档 最新文档