您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > UG二次开发实用入门教程_UG 对象类型及操作
UG二次开发实用入门教程_UG对象类型及操作(1)_Parts2014年03月29日⁄UGAPI(UFUN)⁄共2924字⁄暂无评论⁄被围观127阅读+所有的UG对象类型都通过它们唯一的标识tag来引用,这些UG对象分类如下:PartsUFobjects(uf_object_types.h中说明的)Expressions(表达式)对每一类对象,都有UG/OPENAPI中明确的函数对它们进行操作。Parts对每一个加载到UG环境中的part文件,都有一个关联的partobject代表它,也为每一个partobject分配一个tag(标记符)。一个UGpart文件(以.prt扩展名的二进制文件)是UFobjects,expressions,andParasolidobjects永久保存之地。另外UGpart文件还包含下列内容:创建part的计算机类型保存part的UG版本part的历史(i.e.alogofwhenthepartwassaved,bywhatprogram,etc.)状态、描述和用户区的可永久保存在part文件中的信息。在part中查询objects。对Parts操作的函数UF_OBJ_cycle_objs_in_part访问part的属性。UF_ATTR_ask_part_attrs关闭和再打开part。UF_PART_close和UF_PART_reopen获取part的文件名。UF_PART_ask_part_name查询其它信息。UF_PART_ask_customer_area,UF_PART_ask_description,UF_PART_ask_status设置状态、描述等信息。UF_PART_set_customer_area,UF_PART_set_description,UF_PART_set_status查询part的历史。UF_PART_ask_part_history等compressingparts。UF_PART_ask_compression_flags和UF_PART_set_compression_flags装配意义下的part对象装配概念和术语在装配环境中总保持只有一个part是当前活动的,它叫workpart.用户创建的所有UF对象、表达式等都是在workpart中创建。此外还有一个叫displaypart的概念.在UG的某一应用(如Modeling)时displaypart和workpart可以不同。一个装配件(assemblypart)包含components(组件).Components是其它的UG的parts并且这些parts可以被装配在它们自己中。Components通过instances在assembly中存在。instance描述component在assembly中的方位(父子关系)。例如:ifwehaveacarthathastwoaxlesub-assemblies(afrontandarear)andeachaxlesub-assemblyhastwowheels(aleftandaright),thenthecarassemblyhastwoinstancesoftheaxlesub-assembly,andtheaxlesub-assemblyhastwoinstancesofwheel.Theinstancesoftheaxlesub-assemblyinthecardescribehowtopositiontheaxlesinthecar.Theinstancesofthewheelsintheaxlesub-assemblydescribehowtopositionthewheelsintheaxlesub-assembly.另外还有partoccurrences。partoccurrence描述在全局的assembly中怎样定位一个单独的component。Forexample:inthecarassemblyabove,therewouldbefourpartoccurrencesforthewheels.Thepartoccurrenceinthecarfortherightfrontwheelwouldbecreatedfromthecombinationoftheorientationofthefrontaxletothecarandtheorientationoftherightwheeltotheaxle.Instances和partoccurrences也是由tags标识。特别地,它们是UG对象中UFobject中的part类:instance是UF_occ_instance_type,partoccurrence是UF_component_type,UF_part_occurrence_subtype.因此,instance和partoccurrences共享适用于UFobjects的函数。查询displaypart或workpart。UF_PART_ask_display_part和UF_ASSEM_ask_work_part设置displaypart或workpart。UF_PART_set_display_part和UF_ASSEM_set_work_partTheseroutinessetthedisplayorworkpart.Thereisasideeffectwhenthedisplaypartissetandrestrictionsonsettingtheworkpart:1.Asabyproductofsettingthedisplaypart,Unigraphicsresetstheworkpartatthesametime.Thereisoneexceptiontothisrule:ifthenewdisplaypartcontainstheoldworkpartandtheRetainWorkPartassemblypreferenceisset,theworkpartdoesnotchangeasaresultofthisaction.2.YouarenotallowedtosettheworkpartininteractiveUnigraphicswhileincertainapplicationmodules.IfanapplicationmoduledoesnotsupportsettingtheworkpartininteractiveUnigraphics,youcannotsettheworkpartusingUF_ASSEM_set_work_part.增加一个part到一个assembly中。UF_ASSEM_add_part_to_assembly[对存在的part]或UF_ASSEM_create_component_part[对新的part]从一个occurrencetag得到parttag。UF_ASSEM_ask_prototype_of_occ在一个part中查找instances。UF_ASSEM_cycle_inst_of_partUG二次开发实用入门教程_UG对象类型及操作(2)_UFObjects2014年03月31日⁄UGAPI(UFUN)⁄共3079字⁄暂无评论⁄被围观89阅读+UFObjectsUG中的大部分公共对象都是头文件uf_object_types.h中定义的对象.所有这些对象都有明确的函数与它们对应,只有特定的对象子类和displayableUFobjects有另外的函数与它们对应。UFObjects的共性和对应函数所有UFobjects拥有下列的共有信息:atype--uf_object_types.h文件中列出了所有类。一个对象的类型可通过函数UF_OBJ_ask_type_and_subtype查询出来。asubtype--uf_object_types.h文件中列出了所有子类。不是所有的对象都使用子类。astatus–通过使用函数UF_OBJ_ask_status可查出对象的状态。对象共有下列几种状态:UF_OBJ_DELETED。UF_OBJ_TEMPORARY-例如临时坐标系由UF_CSYS_create_temp_csys函数创建,不会被保存。UF_OBJ_CONDEMNED-一般由于对象被删除,但它是其他对象的参考,只有所有的这些参考被删除后,该对象才从模型中删除。该状态的对象永远不被显示。UF_OBJ_ALIVE。对UFobjects可用的方法有:访问或指定单个对象的名称(使用UF_OBJ_set_name,UF_OBJ_ask_name,andUF_OBJ_delete_name)遍历(使用UF_OBJ_cycle_objs_in_part,UF_OBJ_cycle_all,和UF_OBJ_cycle_by_name)注意:因为UG中对象的存储方式的独特,函数UF_OBJ_cycle_objs_in_part比函数UF_OBJ_cycle_all、UF_OBJ_cycle_by_name和UF_LAYER_cycle_by_layer更有效。因此建议使用UF_OBJ_cycle_objs_in_part而不是函数UF_OBJ_cycle_all、UF_OBJ_cycle_by_name和UF_LAYER_cycle_by_layer分配和访问attributes(头文件uf_attr.h中的所有函数)Attributes两个不同的组成部分:atitleandavalue.Title的长度要小于UF_ATTR_MAX_TITLE_LENAttributes类型表:AttributeTypeExampleTitleExampleValueUF_ATTR_integerCOUNT10UF_ATTR_realDENSITY12.75UF_ATTR_nullIS_PURCHASEDNONENullattributeshavenovalue,onlyatitle.UF_ATTR_stringMATERIALSTEELUF_ATTR_timeTODAY{9838,10020}UF_ATTR_referenceDIAMETERX5.2@P1UF_ATTR_time属性由两个整数组成,第一个整数是日期表示从1970年1月1日到当前的天数,第二个整数表示时间,可用函数uc4583(见头文件uf_cfi.h)计算这两个整数,用函数uc4582(见头文件uf_cfi.h)从这两个整数得到代表时间及日期的字符串。上表中的UF_ATTR_reference属性的value随着表达式P1的变化而变化。该属性的语法格式如下:(x|X)m(.|,)n@exp_name(x|X)–大小写均可,格式的标识。m(.|,)n–m标识域宽,n标识小数点后的精度,有点类似C语言中的real型数据格式。@exp_name–以@开始的部分是表达式名称。-结束标志。在上例中,ifP1=13.579,DIAMETER=13.58.DisplayableUFObjects使用函数UF_OBJ_is_type_displayable来检测UFObjects是否属于DisplayableUFObjects。DisplayableUFObjects的独特信息和函数所有displayableUFobjects除了有UFobjects的特性外,还包括下列信息:层–对象所在的当前层(1-255)。颜色–对象的当前颜色,可以是下列15种颜色之一:UF_OBJ_BLUEUF_OBJ_GREENUF_OBJ_CYANUF_OBJ_REDUF_OBJ_MAGENTAUF_OBJ_YELLOWUF_OBJ_WHITEUF_OBJ_OLIVEUF_OBJ_PINKUF_OBJ_BROWNUF_OBJ_ORANGE
本文标题:UG二次开发实用入门教程_UG 对象类型及操作
链接地址:https://www.777doc.com/doc-4329977 .html