15.NX5_udf的使用和创建UG
NX udf的使用和创建UG

UDF库
z 可通过层次结构的库对用户自定义特征进行管理。 z UDF库包括:
z 用户自定义特征文件,包括Part文件和CGM文件 z 数据库文件,记录了用户自定义特征记录的文件(如udf_database.txt) z 决定了UDF库的层次结构的定义文件(如dbc_udf_ascii.def) z 针对完成基本库操作的事件文件(如dbc_udf_ascii.tcl)
z 根据UDF创建窗口,给定参数、参考对象、放置层等 z 在某些情况下,参考匹配窗口将帮助确定选取对象之间的匹配问题。 z 在图形窗口中创建UDF z 如果可能,将出现定位方式对话框帮助进行UDF定位
14
插入一个UDF
z 生成 UDF 的对话框选项
UDF 图形
表达式
显示UDF原始图形。
显示生成 UDF 时可以更改的表达式。选项类型表达式具有包含可用 选择的选项菜单。范围类型表达式具有用低端和高端值标记的滑尺条。
定义用户自定义特征
6
创建一个UDF
特征定义的基本步骤如下:
z 用NX造型功能完成特征(UDF)的典型结构 z 选菜单:
z File Æ Export Æ User Defined Feature… z 或Tools Æ User Defined Feature Æ Wizard
z 基本信息描述
1 2
z UGII_UDF_IMAN_WITH_NATIVE_DATABASE=yes 允许在Teamcenter环 境中访问本地的用户自定义特征
21
UDF库的结构
z UDF库的结构是按层次进行组织。 z 可通过定义文件dbc_udf_ascii.def进行编辑
22
UDF资源管理器
ug使用教程

ug使用教程UG使用教程UG是一款功能强大的三维建模软件,广泛应用于机械、航空、航天、汽车等领域。
本教程将为您详细介绍UG的基本操作和功能,帮助您快速上手。
第一步:安装UG软件1. 打开UG软件安装包,点击“安装”按钮。
2. 根据系统要求选择对应的安装版本,并按照提示完成安装。
第二步:创建新工程1. 打开UG软件,点击“文件”菜单,选择“新建”。
2. 在弹出的对话框中,选择“工程”,并输入工程名称和保存路径。
第三步:绘制基本几何图形1. 选择“绘图”工具栏,点击“矩形”,在工作区绘制一个矩形。
2. 点击“圆形”,在工作区绘制一个圆。
3. 使用“直线”工具在工作区绘制一条直线。
4. 使用“曲线”工具在工作区绘制一条曲线。
第四步:编辑图形1. 选择“选择”工具,点击需要编辑的图形,图形将被选中,并显示编辑点。
2. 使用“移动”工具可以移动选中的图形。
3. 使用“缩放”工具可以缩放选中的图形。
4. 使用“旋转”工具可以旋转选中的图形。
第五步:创建实体1. 选择“实体”工具栏,点击“创建实体”按钮。
2. 在弹出的对话框中,选择所需的实体类型,如球体、立方体等。
3. 在工作区点击确定位置,实体将被创建。
第六步:应用材质和纹理1. 在“渲染”工具栏中选择“材质”按钮。
2. 在弹出的材质编辑器中选择所需的材质属性,如颜色、反射光等。
3. 点击“应用”按钮,图形将应用所选材质。
4. 选择“纹理”按钮,在弹出的对话框中选择纹理文件,并点击“应用”。
第七步:导入导出文件1. 点击“文件”菜单,选择“导入”,可以导入其他格式的文件。
2. 点击“文件”菜单,选择“导出”,可以将项目保存为其他格式的文件,如STEP、IGES等。
第八步:应用工具功能1. 选择“工具”菜单,可以选择不同的工具功能,如测量、截面分析等。
2. 点击“工具”菜单中的“装配”功能,可以对多个部件进行装配操作。
第九步:进行模拟分析1. 选择“分析”菜单,点击“创建分析”按钮。
udf 创建流程(一)

udf 创建流程(一)UDF 创建1. 什么是 UDF•UDF 的全称是 User-Defined Function,中文意为用户自定义函数。
•它是一种在编程语言中允许用户自己定义函数的特性,可以让用户根据自己的需求创建新的函数。
•UDF 可以提高代码的可重用性和可维护性,同时也能提高程序的执行效率。
2. UDF 的优势•灵活性:UDF 可以根据用户的需求进行自定义,不受限于现有的函数库。
•可重用性:创建的 UDF 可以在多个项目中重复使用,减少了代码的重复编写。
•可维护性:通过封装一些常用的功能为自定义函数,可以使程序更易于维护和修改。
3. UDF 创建的流程创建一个 UDF 的过程可以分为以下几个步骤:定义函数名和参数首先需要确定函数的名称和参数列表,这些信息将会在调用函数时使用。
需要考虑参数的类型和数量,以及函数名的命名规范。
编写函数的代码逻辑根据函数的功能需求,编写函数的具体代码逻辑。
可以使用编程语言提供的语法和函数库进行编写,也可以结合自定义的方法。
测试函数的正确性在编写完函数的代码逻辑后,需要进行测试来验证函数的正确性。
可以通过编写测试样例,并对比预期结果和实际输出结果来进行验证。
保存和管理 UDF当函数通过测试后,需要将其保存和管理起来,以便在其他地方进行调用和使用。
可以将函数保存在独立的文件中,或者通过特定的工具保存和管理。
4. 使用 UDF在创建了 UDF 后,可以在编程语言中的其他地方进行调用和使用。
根据函数的定义,提供相应的参数,然后使用函数的返回值进行后续操作。
结论通过创建和使用 UDF,我们可以根据自己的需求扩展编程语言的功能,提高代码的灵活性、可重用性和可维护性。
在实际应用中,合理利用 UDF 可以大大提高开发效率和代码质量。
5. UDF 创建的注意事项在创建 UDF 的过程中,有一些注意事项需要注意,以确保函数的正确性和可用性。
命名规范•函数名应该具有描述性,能够清晰表达函数的功能。
UGNX二次开发中常用的ufunAPI函数大集合,熟悉这些就够了

UGNX二次开发中常用的ufunAPI函数大集合,熟悉这些就够了UG NX二次开发中常用的ufun API函数大集合,熟悉这些就够了3 g2 @+ g, h2 h' y* e这些函数是经常使用的,可以作为参考!$ J3 Q! ]$ p' F. r4 t& }, E(1)和Part有关% o* e" g l: J5 ` c# W1 I- [& _' uUF_PART_open1 S% Y5 b7 ]( I( T4 X1 kUF_PART_close_allUF_PART_save_allUF_PART_ask_part_nameUF_PART_ask_part_tag6 A. m2 D6 M: [8 i+ H9 UUF_PART_ask_units& l$ e- o) V3 g* Z5 Y. `* J' HUF_PART_ask_display_partUF_PART_set_display_partUF_PART_is_modified0 p2 w& A. Y; V: R(2)和菜单有关uc1601 — Display a Simple Message on the Cue lineUF_UI_set_status- [ Y5 E7 s( C$ u. c/ t' OUF_UI_set_prompt8 ^. [* ~: Q: B, N( Xuc1603— Display Selection Menuuc1605— Multiple Selection Menu+ D2 W% a) O- t(3)和选择显示有关UF_UI_set_select_mask E" V/ T0 P2 N0 @; t& _+ G/ n$ \UF_UI_select_with_class_dialog5 b7 a6 j1 A' a/ F4 K% S6 S UF_UI_select_with_single_dialogUF_UI_set_sel_maskUF_DISP_set_highlightUF_DISP_set_display0 g9 r- o) y, ^) cUF_DISP_add_item_to_displayUF_DISP_regenerate_displayUF_DISP_refresh(4)和装配有关UF_ASSEM_create_component_partUF_ASSEM_create_mc_arrayUF_ASSEM_ask_work_part! O8 [# [* {" r4 N% b# C6 O! H: E UF_ASSEM_ask_component_data* N; m& t3 H2 y* j0 m4 tUF_ASSEM_ask_mc_array_data1 \1 N2 n- |+ L1 Q2 u: wUF_ASSEM_ask_assem_optionsUF_ASSEM_is_occurrenceUF_ASSEM_is_part_occurrenceUF_ASSEM_ask_prototype_of_occ: i" Y$ b/ h9 d# w1 tUF_ASSEM_ask_inst_of_part_occ" _. L0 W, t$ CUF_ASSEM_ask_parent_of_instanceUF_ASSEM_ask_child_of_instance+ d' P! T9 o+ ^! z8 YUF_ASSEM_remove_instance# I0 S+ Z5 f2 Y- LUF_ASSEM_ask_occs_of_entity+ O% d# i! V% p- x6 K% y% |; eUF_ASSEM_ask_occs_of_part0 q H+ q# e8 P8 H: f6 nUF_ASSEM_set_assem_optionsUF_ASSEM_cycle_ents_in_part_occ: `/ K2 I5 h; g1 {1 H(5)和图层有关UF_LAYER_set_status! [4 N5 P+ F6 b* [UF_LAYER_ask_status; z4 g1 r. { FUF_LAYER_cycle_by_layer(6)和对象相关+ N+ D- S8 s H' EUF_OBJ_delete_objectUF_OBJ_ask_statusUF_OBJ_set_def_cre_color. v! G8 j2 z& BUF_OBJ_set_cre_colorUF_OBJ_ask_type_and_subtype* f3 t+ j' M7 p }# _* w# T* _ (7)和表达式相关UF_MODL_create_exp) R: E+ b. b: k- ]1 ?. s pUF_MODL_ask_expUF_MODL_edit_expUF_MODL_delete_expUF_MODL_eval_exp: Z) R; C) `2 ]$ u, rUF_MODL_export_expUF_MODL_import_exp2 d# t) T) W pUF_MODL_rename_exp0 {! f8 Y, y& L2 _ L. h/ WUF_MODL_create_exp_tagUF_MODL_ask_exp_tag_valueUF_MODL_delete_exp_tag2 n2 t& o0 X; Z4 I: ~UF_MODL_ask_exp_tag_string; n+ E" t- g, u, f0 b& qUF_MODL_dissect_exp_string3 N" ]( k m- W$ @! l6 XUF_MODL_update(8)和模型链表相关UF_MODL_create_list' T+ ] t/ {6 X- |* |UF_MODL_put_list_item! g; d: u6 t0 y6 b: h6 DUF_MODL_ask_list_count0 x# T- v$ A# v EUF_MODL_ask_list_item, n; R5 e% s ?9 X) UUF_MODL_ask_list_itemUF_MODL_delete_list$ [7 Y0 F+ S. d( V5 Q! ^UF_MODL_delete_list_item(9)和创建模型相关0 L* i0 T9 f+ u/ S) DUF_MODL_create_block1UF_MODL_create_blendUF_MODL_create_cyl1UF_MODL_create_hollowUF_MODL_create_linear_iset$ X7 O4 n6 K3 k0 ?# I9 F7 F/ I UF_MODL_create_rect_pocket' b1 M' `9 t: @; j6 _/ iUF_MODL_create_rect_slotUF_MODL_create_simple_hole* p4 o2 f; S: U: s4 I2 t( EUF_MODL_operations- Y9 I6 \" v5 KUF_MODL_active_part. ~% p* {7 G d- M. A/ E% ~* ~ (10)和模型查询相关+ d& U8 [/ B' ]8 P2 N; C8 aUF_MODL_ask_feat_bodyUF_MODL_ask_body_typeUF_MODL_ask_body_faces4 y$ W& `$ ^" f2 G. C" K6 Z; K UF_MODL_ask_body_edgesUF_MODL_ask_edge_body" u. C4 {5 Q4 P4 p: _6 fUF_MODL_ask_edge_faces [! I7 P( W& c4 ]- p* L M. s$ Y UF_MODL_ask_edge_typeUF_MODL_ask_edge_vertsUF_MODL_ask_face_bodyUF_MODL_ask_face_edges4 P a! o3 n \& f4 ^/ MUF_MODL_ask_face_data/ V4 x6 d; C$ ?& MUF_MODL_ask_feat_faces+ C1 u0 T. J9 y! i& N% E& PUF_MODL_ask_block_parms: X+ r. w2 D$ I; \UF_MODL_ask_minimum_dist; {; S( q' P3 J! u% FUF_MODL_ask_simple_hole_parms1 B7 g3 f; l: ~5 K6 t0 Q! Y (11)和对象名称相关) e& d: U8 u' q" b% r! PUF_OBJ_set_nameUF_OBJ_ask_nameUF_OBJ_delete_nameUF_OBJ_cycle_by_name(12)和制图尺寸相关UF_DRF_ask_preferences4 y! n1 S l/ E) |( O- M& _UF_DRF_set_preferencesUF_DRF_create_horizontal_dimUF_DRF_init_object_structureUF_DRF_create_vertical_dimUF_DRF_create_note4 ?6 F: G s, a+ V# j+ |8 pUF_DRF_create_labelUF_VIEW_ask_tag_of_view_nameUF_VIEW_expand_viewUF_VIEW_is_expandedUF_VIEW_unexpand_work_view(13)和视图相关* W0 z# {1 _2 k7 a: Duc6476 //Set Drawing State2 U% R+ f- T, tuc6477 //Retrieve Drawing Stateuc6478 //Create Drawinguc6479 //Read Drawing Size. s+ n" N8 k, F( `uc6480 //Set Drawing SizeUF_DRAW_ask_drawing_infoUF_DRAW_set_drawing_info5 b2 `, T: S& Q; P3 b1 w/ Q5 gUF_DRAW_import_view5 c: c: Y9 w5 n0 q& quc6481 //Add View to Drawing" t8 J; |+ J7 s) N b& luc6482 //Remove View from Drawing* W) ?3 S7 K9 M+ U5 Q- uuc6483 //Read View Reference Point on Drawinguc6484 //Set View Reference Point on Drawing' t( O# O/ b8 V$ l! A9 y; a, Fuc6485 //Read View Borders on Current Drawing: B( m4 e, J" S5 Puc6486 //Set View Borders on Current Drawing) x5 o4 y- C8 s& m9 uUF_DRAW_define_view_manual_rec tUF_DRAW_update_one_view7 t% G& C! f* ~uc6492 //Read Current Drawing Name: W) ^# C2 n/ r9 T; W UF_DRAW_ask_current_drawing0 P2 @0 k% }1 l3 quc6496 //Rename Drawing+ S" R2 C" S+ F, t8 luc6495 //Delete Drawinguc6499 //Cycle Views in Drawing(14)和属性相关0 V7 v! X6 y2 e# J( zUF_ATTR_ask_part_attribute5 Y1 ?3 B- N7 I* g, JUF_ATTR_assign" j* _1 Z' H! G7 }4 kUF_ATTR_ask_part_attrsUF_ATTR_ask_part_attrs_in_fi leUF_ATTR_read_valueUF_ATTR_cycle/ r! G9 B# h9 S, KUF_ATTR_deleteUF_ATTR_delete_all) ?& x+ t @; x4 w" c3 P8 u。
udf-使用经验总结

我接触UDF的时间不算长,2007年7月份开始看UDF的中文帮助,花了一周时间大体看完后,第一感觉:不难啊,至少不像以前别人给我讲的很高深的样子。
然后就是UDF编程,直到10月底吧。
然后用的时间就不多了。
然后就是这两周,我马上就要研究生毕业了,可能这周结束后用UDF编程的可能性会很小了,所以想写点东西,给刚刚学UDF编程的人,希望对大家有用。
对于UDF高手,估计是不用向下看了。
UDF框架光看书,感觉UDF不难。
看例子,有些看个四五遍之后才能差不多看懂。
原来,得靠UDF帮助。
我主要用的是fluent v6.3自带的html格式的帮助,里面东西很全,当然也包括UDF Manual。
里面自带的search功能相当好,只是要注意用好+或-号(逻辑符号),另外,这个功能似乎有些浏览器支持不太好,不过基本上用IE不太容易出问题。
对于从零开始学习UDF,建议还是先看一下UDF中文帮助,我估计大家知道的都是马世虎翻译的那本吧,感觉挺好。
(没想到马世虎跟我是校友,去年给安世亚太投过一份简历,他给我打过电话,当时一阵兴奋,呵呵。
)1. 对于只涉及到边界条件或物性等的UDF,一般用interpret就可以的,这些我觉得只需要根据例子改一下就是了。
$$ 对于要添加UDS方程的,相对难一点。
我编程用的是三到五个UDS,几十个UDM。
一开始编程时,没有头绪,后来看别人编的,才慢慢发现了一些基本思路。
比如,可以用枚举定义UDS或UDM,这样用起来方便。
enum{NP,RHOH2O_Y_UP_X,RHOH2O_Y_UP_Y,RHOH2O_Y_UP_Z,N_REQUIRED_UDS};//枚举UDS变量名对于UDM,则用N_REQUIRED_UDM代表个数。
2. 然后在INIT与ADJUST函数中,检查变量个数时则比较方便,如:DEFINE_INIT(init_parameter,domain){if (n_uds <N_REQUIRED_UDS)Error("Not enough user defined scalars!(init)\n");if (n_udm<N_REQUIRED_UDM)Error("Not enough user defined memories(init)!\n");initialise(domain);//代表初始化}DEFINE_A DJUST(adjust_compute,domain){if (n_uds <N_REQUIRED_UDS)Error("Not enough user defined scalars!(adjust)\n");if (n_udm<N_REQUIRED_UDM)Error("Not enough user defined memories(adjust)!\n");update_parameter(domain);//代表主函数}3. 初始化时,则可:cell_t c;Thread *t;int i;thread_loop_c(t,d){if(NNULLP(T HREA D_STORA GE(t,SV_UDS_I(NP)))&&NNULLP(T HREA D_STORA GE(t,SV_UDS_I(NP_R)))) //为各UDS提供存储空间{begin_c_loop(c, t){for (i=0; i<N_REQUIRED_UDS; i++)C_UDSI(c,t,i) = 0.0;}end_c_loop(c, t);}if(NNULLP(T HREA D_STORA GE(t,SV_UDM_I))){begin_c_loop(c, t){for (i=0; i<N_REQUIRED_UDM; i++)C_UDMI(c,t,i) = 0.0;}end_c_loop(c, t);}}4. 对于各UDM量,则可:real udm_v;udm_v=0;//用之前对变量进行初始化...//UDM相关运行C_UDM I(c,t,UDM_V)=udm_v;//把值输入给UDM,当然之前要对UDM_V进行定义用UDM有个好处,一是可以在后处理中显示,二是传递变量相当方便,比如在ADJUST中计算的量用于源项或对流项等,用UDM可以直接调用。
创建 UDF(基本)

创建UDF(基本)在创建UDF 前,必须定义某些元素。
其它元素是可选的,可以在创建UDF 过程中或稍后的修改中定义它们。
1.单击“工具”(Tools)>“UDF 库”(UDF Library)。
UDF 菜单出现,含有以下命令:o创建(Create) - 将新UDF 添加到UDF 库。
o修改(Modify) - 修改现有的UDF。
如果有参照零件,系统将在单独的零件窗口显示UDF。
此命令在“组件”模式中不可用。
o列表(List) - 列出当前目录中的所有UDF 文件。
o数据库管理(Dbms) - 为当前UDF 执行数据库管理功能。
o集成(Integrate) - 解决源UDF 和目标UDF 之间的差异。
2.单击“创建”(Create)。
3.在图形窗口消息区域,键入新UDF 的名称并单击。
出现“UDF 选项”(UDF OPTIONS) 菜单。
4.在“UDF 选项”(UDF OPTIONS) 菜单中,单击下列命令之一:o独立(Stand Alone) - 将全部所需信息复制到UDF。
o从属(Subordinate) - 运行时,自原始零件中复制大部分信息。
注意:o独立的UDF 不能有作为参照模型的组件,但从属的UDF 可以有。
o冲孔和切口UDF(Pro/SHEETMETAL)不能是从属的。
5.单击“完成”(Done)。
“UDF <udf 名称> 独立”(UDF <udf name> Standalone)或“UDF <udf 名称> 附属”(UDF <udf name> Subordinate)对话框打开,列出下列元素:注意,缺省情况下选取的是“特征”(Features)。
o特征(Features) - 选取要包括在UDF 中的特征。
o参照提示(Ref Prompts) - 为指定放置参照,输入提示。
放置UDF 时,系统将打印这些提示作为指导。
o可变元素(Var Elements) - 在零件中放置UDF 时,指定要重定义的特征元素。
UDF(用户自定义特征)的创建和使用

UDF(用户自定义特征)的创建和使用bysgjunfeng1、什么是UDF?2、UDF使用过程2.1创建参照模型2.2创建UDF2.3放置UDF3、替换UDF4、UDF搭配族表的使用1、什么是UDF?UDF即用户自定义特征。
也就是说可以将数个特征组合起来形成一个新的自己定义的特征,并且会保存在UDF数据库中,随时调入。
(类似于AutoCAD中的动态块)用户自定义特征用来复制相同或相近外形的特征组,此功能类似于“特征复制”,但又有所不同,功能上比较全面、灵活,但相应的步骤比较繁琐。
因此,如果会用特征复制,特别是特征复制里的新参考,将会对此命令有所帮助。
UDF和特征复制的最大区别有以下两点:●特征复制仅适用于当前的模型,而UDF可以适用与不同的模型。
●特征复制的局部组无法用另一个局部组替换,而UDF可被另一个UDF替换UDF的使用流程大体可分为三步:规划并创建参照模型——建立UDF——放置UDF,下面我们用一个简单的例子来说明如何使用UDF。
2、UDF使用过程在使用UDF之前,首先要创建UDF,缺省时,Pro/ENGINEER将创建的UDF保存在当前工作目录中。
为此,可创建UDF库目录,要访问Pro/ENGINEER 的UDF库目录,可指定带置文件选项"pro_group_dir"的目录名。
这样,每次插入UDF时将自动打开该目录。
建立好参照模型后,单击单击"工具"(Tools)>"UDF 库"(UDF Library)。
出现下图所示UDF菜单该对话框各选项含义如下:创建 (Create):建立新的UDF并将其添加到UDF库。
修改 (Modify):修改现有的 UDF。
如果有参照零件,系统将在单独的零件窗口显示 UDF。
列表 (List):列出当前目录中的所有UDF文件,用于查看UDF信息。
数据库管理 (Dbms):管理当前UDF数据库。
UG NX5标准教程曲面建模和曲面编辑

第六章 曲面建模和曲面编辑
6.1曲面造型简介
曲面造型有三种应用类型:一是原创产品设计,由草图建立曲面模型; 二是根据二维图纸进行曲面造型,即所谓图纸造型;三是逆向工程, 即点测绘造型。一般是根据二维图纸进行曲面造型,UG NX5提供了 十分强大的的曲面造型功能,曲面造型可以由点创建曲面、通过曲线 创建曲面和通过片体构造曲面
6.2由点到面
通过点
从极点 从点云
6.2由点到面
通过点
通过点可以通过矩形阵列点创建曲面。 补片类型:用于设置片体的类型。有“多个”和“单个”两个选项, 单个是指包含单个面的片体,多个是指包含多个面的片体。 沿…向封闭:用于设置曲面闭合的方式。有两者皆否、行、列、两者 皆是四个选项。两者皆否定义的行和列方向都不闭合。行和列代表极 点的第一列和最后一行。两者皆是指两个方向都是闭合的。 行阶次、列阶次:设置曲面上点的次数。 文件中的点:单击次按钮,可以选择文件中已定义的点作为曲面的点。
6.2由点到面
从极点
从极点是指通过定义曲面极点的矩形阵列点来 创建曲面。 从极点与“通过点”类似,但每个点不一定都 在生成的曲面上,曲面会尽可 能逼近每一个点。
从点云
从点云可以创建近似于大片数据点“云”的片 体。
6.3由线到面
直纹面
过曲线组
网格曲面 扫掠曲面 N边曲面 截型体
6.3由线到面
6.3由线到面
扫掠曲面
可以通过沿一个或多个引导线扫掠截面来创建体,可以使用各种方法来控制沿着 引导线的形状。 引导线可以由单条曲线或多条曲线组成,引导线可以是曲线,也可以是实体的边 或面,组成引导线的所有曲线段之间必须相切过渡(一阶导数连续C1),引导 线的数量可以是1-3条。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
替换一用户自定义特征
替换用户自定义特征的步骤:
在部件导航器中,选取用户自定义特征,选取MB3 Feature 从用户自定义特征库中选取一新的用户自定义特征 在插入对话框中,给定正确的参数 通过匹配对话框,对对应几何进行正确的匹配 选取Apply完成。 Replace User Defined
18
UGII_UDF_IMAN_WITH_NATIVE_DATABASE=yes 允许在Teamcenter环 境中访问本地的用户自定义特征
21
UDF库的结构
UDF库的结构是按层次进行组织。 可通过定义文件dbc_udf_ascii.def进行编辑
22
UDF资源管理器
添加UDF资源管理器
选取菜单Tools User Defined Feature 从UDF库中,选取合适的库,选取OK Add Palette
培训课程组织
UDF的使用和创建
1
第六章:培训主题
UDF概述 创建一个UDF 插入一个UDF 编辑一个UDF 部分压缩一个UDF UDF库的维护和管理
User Defined Feature = UDF 用户自定义特征
2
UDF概述
在曲面上创建特征孔 利用系统特征 用户自定义特征
3
UDF概述
可以生成自己的成形特征,以使普遍使用的设计单元自动化。 可以扩展 NX 内置成形特征的范围和功能。 可以针对目标实体生成并添加用户自定义特征(UDF)。 可以定义特征的形状和功能,并生成按照需求定制的特征库。
导入的 UDF 将作为一个单个特征处理。如 果试图抑制或删除某个 UDF 组件,那么将 抑制或删除整个 UDF。
4
UDF概述
UDF是保存在库中的,库文件可通过环境变量UGII_UDF_DATABASE_FILE 进行设置,缺省是$UGII_ROOT_DIR\udf_database.txt UDF在库中是按层次结构进行管理的,通过环境变量 UGII_UDF_DEFINITION_FILE设置的文件进行控制,缺省是 $UGII_ROOT_DIR\udf\dbc_udf_ascii.def
7
创建一个UDF
按Next键,选择特征的结构
1
2
1。 选择特征组成. 2。按箭头将其加入到自定义特征中. 3。确定是否允许用户自定义特征可被炸开 4。选取Next键,选取控制参数
3 4
8
创建一个UDF
按Next键 选择可变的参数
2 1 3 4 5
1. 选择可变参数. 2. 按箭头使其加入到自定义特征中. 3. 设置该参数的输入提示. 4. 定义该参数取值规则. None – 任意数值 By Whole Number Range – 整数域取值 By Number Range – 实数域取值 By Options - 数值系列取值
参考设 置 反向方 向 文档
15
关于插入UDF的缺省设置
16
编辑一个UDF
编辑用户自定义特征的功能:
可以编辑插入的UDF的参数 可以对UDF进行重新定位 可以将UDF进行重新赋着 可以将UDF进行炸开,炸开时,将 自动创建一特征组
编辑插入的用户自定义特征的步骤:
在部件导航器中,选取用户自定义 特征,选取MB3 Edit Parameters 选取菜单Edit Feature Parameters
19
UDF库
可通过层次结构的库对用户自定义特征进行管理。 UDF库包括:
用户自定义特征文件,包括Part文件和CGM文件 数据库文件,记录了用户自定义特征记录的文件(如udf_database.txt) 决定了UDF库的层次结构的定义文件(如dbc_udf_ascii.def) 针对完成基本库操作的事件文件(如dbc_udf_ascii.tcl)
压缩UDF特征的一部分
可以压缩UDF特征的一部分,而不需要将UDF特征爆炸开再删除 为了实现上述目的,需要利用下拉菜单Edit→ Feature#中的”Suppress By Expression“的功能创建一表达式参数来控制UDF特征的局部显示 该表达式参数可UDF中作为后续的条件控制 定义该参数的值为选项0或1
13
插入一个UDF
插入用户自定义特征到当前部件步骤:
用下列方式之一选取一UDF
Tools User Defined Feature Insert… Insert Design Feature User Defined 从用户自定义特征资源条中,拖拽一UDF到图形窗口
根据UDF创建窗口,给定参数、参考对象、放置层等 在某些情况下,参考匹配窗口将帮助确定选取对象之间的匹配问题。 在图形窗口中创建UDF 如果可能,将出现定位方式对话框帮助进行UDF定位
14
插入一个UDF
生成 UDF 的对话框选项
UDF 图形 表达式
显示UDF原始图形。 显示生成 UDF 时可以更改的表达式。选项类型表达式具有包含可用 选择的选项菜单。范围类型表达式具有用低端和高端值标记的滑尺条。 显示生成 UDF 时要计算的外部参考。在一些情况下,您不用计算所 有外部参考,但是必须计算足够的外部参考,以用您需要的方式来定 义新几何体。 当选择要计算参考的几何体时,此选项将处于可用状态(在适当的时 候),以允许您反向方向矢量。 “文档”图标可打开缺省的 web 浏览器,其中显示用于 UDF 的 HTML 文档。在 UDF 生成过程中使用 URL 文档位置字段定义。
更新和删除UDF资源管理器
选取菜单Preferences User Interface Resource Bar 从面板列表中,选取UDF面板 选取更新或删除按键
23
用户自定义特征实例
24
5。选取Next键,设置参考几何
9
创建一个UDF
按Next键 选取参考几何体
10
创建一个UDF
按Next键 检查UDF定义
按Finish键. 完成UDF定义.
11
创建一个UDF的建议
应该采用草图或特征方式创建模型,并用有意义的参数命名 所有后续特征应该总是参考第一个特征(第一个特征最好是草图) 如有可能,应尽量采用面倒圆替代边倒圆 为了便于定位,需要至少一个固定基准平面和一个基准轴 第一个草图特征应放置在基准平面上,应利用基准轴定义水平方向 为了满足草图定位条件,建议采用参考线,并将这些参考线设置为“fix“约束 与这些参考线有关的定位尺寸,应该采用”Positioning Dimension“的方式进行创建
特征定义的基本步骤如下:
用NX造型功能完成特征(UDF)的典型结构 选菜单:
File Export User Defined Feature… 或Tools User Defined Feature Wizard
基本信息描述
1 2
3 4 5 6
1。择特征从属的类 2。抓取NX图形作为特征图标(ICON) 3。指定特征名称 4。给定帮助文档名称 5。指定特征在库中的文件名(PRT File name). 6。按Next键,选择特征的结构
20
配置UDF库
可通过Tools User Defined Feature 义特征库文件和索引文件的配置。 Configure Library
针对UDF库的环境变量 UGII_UDF_LIBRARY_DIR: 指定UDF库目录 UGII_UDF_DATABASE_FILE: 指定udf_database.txt文件 UGII_UDF_DEFINITION_FILE: 指定dbc_udf_ascii.def文件
12
重新定义用户自定义特征
您可以重新定义已有UDF的定义。除了名称、库 和图片文件之外,您可以更改 UDF 定义的所有 组件。您可以添加和删除特征、几何体和表达式。 您还可以重命名表达式。 如果要重新定义 UDF 定义,请执行以下操作:
打开UDF定义的部件文件。 进入建模应用模块 在部件导航器中,选取需要编辑的UDF特征,选取 鼠标右件,选取“Edit Parameters“选项。 系统显示UDF定义对话框。 “重新定义 UDF 参数”对话框与用于生成 UDF 的对 话框基本相同。您添加的任何新 UDF 参考必须在 UDF 特征自身之前生成因为不能更改 UDF 的图 片,所以“从图形窗口捕捉图片”选项和图片窗口都 不可用。您可以从定义中添加或删除特征,并且可 以更改表达式列表。
5
用户自定义特征工具
Insert Tools File Design Feature User Defined …
插入已定义的用户自定义特征
User Defined Feature Export User Defined Feature
定义用户自定义特征,插入用户自定义特征 定义用户自定义特征
6
创建一个UDF