欢迎来到天天文库
浏览记录
ID:57059543
大小:450.50 KB
页数:53页
时间:2020-07-30
《UG软件二次开发基础课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、UG软件二次开发基础(三)1坐标转换在UF函数中所有涉及到的坐标值都是以绝对坐标系(ABS)为参照系的,包括点的坐标值,向量的分量等等。2坐标转换在用户编写UF函数的过程中,大多数情况下都要求以用户坐标系(WCS)为参照系,所以在ABS和WCS之间就需要经常互相转换。3externintUF_CSYS_map_point(intinput_csys,doubleinput_point[3],intout_putcsys,doubleoutput_point[3]);转换函数4/*Constantsforcoordinatesystems
2、*//**UF_CSYS_ROOT_COORDSiscoordinatespaceoftherootpartwhichisthewholepartbeing*displayed*UF_CSYS_WORK_COORDSiscoordinatespaceoftheworkpart*UF_CSYS_ROOT_WCS_COORDSisworkcoordinatespaceoftherootpart*/#defineUF_CSYS_ROOT_COORDS1#defineUF_CSYS_WORK_COORDS2#defineUF_CSYS_ROOT
3、_WCS_COORDS3在uf_csys.h的坐标系定义5UG/OpenAPI编程框架6内部UF的使用方法UserExit是UF中的一个重要概念7UserExit在UG运行中的某些地点存在着特定的入口当执行到入口时,UG会检查是否在此定义了指向内部UF程序位置的环境若有,则让指向的程序映像从此进入并运行,这个过程就叫做UserExit。8UserExit不同的入口有不同的UserExit名称启动UG时的UserExit是ufsta()File→ExecuteUG/Open→UserFunction的UserExit是ufusr()在
4、用户新建Part时的UserExit是ufere()9Ufusr()由File→ExecuteUG/Open→UserFunction调用*.DLL执行没有UIStyler的界面操作,只是一个面向过程的程序处理任务有唯一的运行起止点,所有程序代码在起止点间顺序运行。1011ufusr基本编程框架UF源程序必须经过编译链接才能被运行在工作站上可以在UFMENU工具下完成编辑、编译和链接工作在基于微机的NT或Win2000平台上就必须手工编译。12UG推荐的NT(x86)下的C编译器为:VisualC++5.0SP2(15版)16版以上使用
5、VisualC++6.0以下的设置均是针对V16以上版本而言13新建工程启动VisualC++6.0,为工程文件起一个名字内部UF程序,选择Win32DynamicLinkLibrary或UG/OPENAPPWizard(此种方式建立UG的应用程序框架,包括入口函数)外部UF程序,选择Win32ConsoleApplication。14工程环境设定程序录入后进入Project→Settings→C/C++页Category项设定为CodeGenerationUserun-timelibrary项设定为MultithreadedDLL。1
6、516工程环境设定进入Project→Settings→Link页在Outputfilename文本框中填入最终编译链接成的DLL的文件名所在目录(可自动生成)在Object/Librarymodules文本框中,加入需要的库名。17UG15、1618UG17以上19工程环境设定UGV14:外部UF,需加入uguser.lib;内部UF,需加入ugraf.lib;UGV15、UGV16:外部UF,需加入libufun.lib和libexternal.lib库;内部UF,需加入libufun.lib和libinternal.lib库;20
7、工程环境设定UGV17、V18以上:外部和内部UF,均需加入libufun.lib、和libugopenint.lib库21工程环境设定进入Tools→Options→Directories页,在Showdirectoriesfor中的Includefiles和Libraryfiles项,在Directories中添加UF库文件的所在目录。例:f:\ugs160\ugopen222324程序代码框架头文件包含声明:将所有使用到的UF函数所在的库文件都包含进来UF_CALL宏声明:用于程序调试,可显示UF函数使用的出错信息将UF函数出
8、错信息显示在informationlistwindow中25UF_CALL宏声明#defineUF_CALL(X)(report(__FILE__,__LINE__,#X,(X)))staticintrep
此文档下载收益归作者所有