- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UG二次开发的自动装配技术(精选)
??利用UG/OPEN API开发具体产品的应用系统时,常常遇到如何建立零件间装配约束关系的问题。如何实现零件间自动装配,是开发应用系统的难点之一。
1. 装配约束关系的简化 / z. l. X: w5 E6 d3 H- j0 m 在实际应用中,装配约束的配合类型有贴合、对准、角度、平行、正交、对中等多种类型,用于装配约束的对象类型有面、边、基准面、基准轴、点、线、曲线、坐标系等多种形式。为了便于数据描述,可将组件间的装配关系做了适当的简化,如图1、2所示,该例中,将零件间的装配约束关系简化为两组件间三个基准面的贴合或对准的装配约束类系。其中,图2中X,Y,Z为对应部件中的基准面名。* Y% x ?9 Y0 K V
图1 简化前的装配约束关系 图2 简化后的装配约束关系 简化组件装配约束关系后,将主动组件的部件名、组件名与对象名,从动组件的部件名、组件名与对象名,以及装配约束类型等信息保存在ODBC数据库中。在系统加载部件时,可根据数据库中的装配信息,实现组件的自动装配。
2.自动装配的实现3 w9 \, x+ \% N0 p1 H# r7 p6 P5 M2 M# \ 9 U8 t O! q F$ U/ l9 e2.1主动组件的加载8 y9 L: s: Y w5 Z g1 p0 [7 a8 O 使用UF_ASSEM_add_part_to_assembly函数即可将部件加载到装配体。下段程序用于加载部件的,其中,parent_tag为父部件的部件标识,part_name为加载部件的部件名,inst_name为加载部件的组件名,inst_tag返回加载部件的实例标识。 2 K5 E5 [4 i0 w r/ q; F4 Y4 Q/ mvoid UG_OPEN_add_part_to_assem tag_t parent_tag,char *part_name,?char *inst_name,tag_t *inst_tag y3 E J??W6 A _??`2 t2 U% J M! ] Z- f! Jdouble origin[3] 0,0,0 ; L `4 K! M i; tdouble csys_matrix[6] 1,0,0,0,1,0 ; r j* i. M- f2 nint layer -1;4 M. `% # o: b. l2 NUF_PART_load_status_t load_status;6 V Y c k N* Y- i zUF_ASSEM_add_part_to_assembly parent_tag, part_name, NULL,inst_name, origin, csys_matrix, layer, inst_tag, load_status ;3 T; ?* o c/ Q! k3 V _if load_status.file_names ! NULL Q S$ J- r2 m. Y `- ~4 t, AUF_free_string_array load_status.n_parts, load_status.file_names ;! ]/ L# k+ l# : W* u+ Xif load_status.statuses ! NULL / k9 \! p; X7 d x \- CUF_free load_status.statuses ;+ `% O6 \9 b2 ~5 Z6 @5 H c! B2 O8 f, T n. v a0 R2.2 主动、从动组件事例标识的获取 7 ]* a+ O6 t3 O z7 x9 B* J6 O 主动组件的事例标识可以通过UF_ASSEM_ask_part_occ_of_inst函数直接获取。从动组件事例标识的获取较为繁琐,其步骤为:(1) 确定从动组件的部件标识;(2)获取从动组件的所有事例标识;(3)匹配事例标识对应的组件名与从动组件组件名,确定从动组件的事例标识。需要注意的是,在同一装配中,部件名相同的其组件名不能相同,组件名相同的其部件名不能相同。 9 ] T; ^+ k4 ~/ U, u H 下段程序代码用于获取从动组件事例标识,其中,part_name 为部件文件文件名,inst_name为部件文件组件名,occ_tag返回部件文件事例标识。 6 `7 H: i X8 @1 U$ P M5 ?. Wvoid UG_OPEN_ask_part_occ_by_name char *part_name, char *inst_name,tag_t *occ_tag s4 b S; + v; O : W1 J, 9 W3 t V E:
原创力文档


文档评论(0)