您好,欢迎访问三七文档
1第五章自由形状特征5.1自由形状特征简介UG中的自由形状特征功能很强,为设计者提供了非常方便的工具。本章介绍常用自由曲线和自由曲面的API使用,并给出了程序实例。但是未给出全部的API函数,作者可在此基础上查阅UG的HELP文档,举一反三,掌握其他的函数的使用。自由曲面作为一种自由形状特征,和实体特征结合使用,使得任何复杂零件都可以方便地构造出来。自由曲面与实体的关系是:z直接生成表面为自由曲面的实体:零件的表面由某些函数直接获得,例如过曲线直接生成曲面实体z先设计曲面再进行缝合:有些复杂表面不能直接用自由形状特征生成,可以分别生成各曲面,然后进行曲面缝合,形成封闭的实体z自由曲面是修剪的工具面:将自由曲面当成一个修剪面去修剪其他的实体,得到表面为自由曲面的实体曲线、曲面(UG中称作片体)、实体之间的关系如图5-1所示,它们之间可以通过特征操作互相转化。本章介绍常用的曲线和自由形状特征曲面。片体实体加厚提取曲线基于曲线的各种特征扫掠的各种特征曲线成面有界平面提取提取基于曲线的各种特征扫掠的各种特征5-1曲线-片体-实体之间的特征转化关系5.2曲线的创建自由曲线操作部分的相关函数都可以在uf_curve.h与uf_modl.h中进行查询,利用这些函数开发人员可以进行如下操作:z创建圆弧z创建两条曲线之间的圆角z创建直线2z创建新的样条曲线z获取指定坐标系中的圆弧的数据z获取绝对坐标系中直线的坐标信息z获取包含曲线信息的结构体z对于指定的曲线结构查询曲线的类型和数据信息z进行曲线的编辑本节主要讲述自由曲线的创建、访问和修改操作,首先介绍曲线操作中常用的一些结构体。5.2.1常用曲线的结构说明(1)structUF_CURVE_arc_s:作用:用于存储圆弧的信息,成员变量及含义如表5-1所示。表5-1UF_CURVE_arc_s成员变量及含义变量名变量类型变量含义matrix_tagtag_t圆弧所在的CSYS的表达矩阵start_angledouble圆弧起始角度,弧度方式表示end_angledouble圆弧终止角度,弧度方式表示arc_center[3]double圆弧的圆心坐标radiusdouble圆弧的半径(2)structUF_CURVE_line_s:作用:用于存储直线的信息,成员变量及含义如表5-2所示。表5-2UF_CURVE_line_s成员变量及含义变量名变量类型变量含义start_point[3]double直线的起点坐标end_point[3]double直线的终点坐标(3)structUF_CURVE_spline_s作用:用于存储样条曲线的信息,成员变量及含义如表5-3所示。表5-3UF_CURVE_spline_s成员变量及含义变量名变量类型变量含义num_polesint极点的个数orderint样条的次数is_rationalint用于标识是否是有理样条,如果是有理样条,则取1knotsdouble*指向存储节点数据数组的指针poles[4]double*指向存储极点数据数组的指针start_paramdouble样条曲线的起始参数end_paramdouble样条曲线的终止参数(4)structUF_CURVE_state_s作用:指示样条曲线和曲面中存在问题的数据。该结构类型在样条曲线和曲面的调整和光顺中也会用到。下面是一些样条曲线中可能会返回的状态信息:zUF_CURVE_STATE_DEGENERACY:在样条曲线中存在退化现象zUF_CURVE_STATE_G1_DISCONTINUITY:该样条曲线不是G1连续zUF_CURVE_STATE_KNOT_NONC0:该样条曲线不是C0连续zUF_CURVE_STATE_KNOT_MULT:该样条曲线中存在非法的重节点数且没有间隔zUF_CURVE_STATE_KNOT_DECREASING:样条曲线中有一个节点值小于给定的节点矢量中的值3zUF_CURVE_STATE_CLOSED:该样条曲线封闭但不是Cn连续的zUF_CURVE_STATE_KNOT_TOOCLOSE:样条曲线中有一个节点的值太靠近给定的节点矢量中的值zUF_CURVE_STATE_NOT_TRIMMED:样条曲线在给定的参数值处没有终止zUF_CURVE_STATE_KNOTS_UNNORMALIZED:样条节点没有根据OpenAPI的要求进行标准化zUF_CURVE_STATE_CLAMPED:样条曲线的端点具有重节点zUF_CURVE_STATE_SMOOTHED_TO_CN:样条曲线不是G1连续的且已经进行了光顺处理成员变量及含义如表5-4所示。表5-4UF_CURVE_state_s成员变量及含义变量名变量类型变量含义state_codeint反映指定位置状态的代码flagint存储指定状态代码的信息value[3]double存储指定状态代码相关的值(5)structUF_CURVE_conic_s作用:用于存储二次曲线相关的数据结构成员变量及含义如表5-5所示。表5-5UF_CURVE_conic_s成员变量及含义变量名变量类型变量含义matrix_tagtag_t指向定义方向的矩阵的指针conic_typeint二次曲线的类型,包括椭圆、双曲线、抛物线等rotation_angledouble方向空间中偏离标准位置的角度start_paramdouble起始参数值end_paramdouble终止参数值center[3]double方向空间中二次曲线的中心k1double第一空间参数k2double第二空间参数5.2.2解析曲线的创建5.2.2.1基本曲线的创建基本曲线主要指直线、圆弧、整圆等曲线。(1)直线的创建这个函数用于直线的创建。在创建时先要将直线的起点和终点信息存储到指向直线数据的结构UF_CURVE_line_p_t中去。该函数的语法格式如下,成员变量及含义如表5-6所示。externintUF_CURVE_create_line(UF_CURVE_line_p_tline_coords,tag_t*line);表5-6UF_CURVE_create_line的成员变量及含义类型参数输入/输出变量描述UF_CURVE_line_p_tline_coords输入绝对坐标系中直线端点的坐标tag_tline输出指向创建的直线的指针,用来标识所创建的直线,以后使用该直线时作为标识(2)圆弧的创建OpenAPI中提供了多种圆弧的创建方式,包括:给定圆弧数据结构的创建、通过不重合三点创建、通过与已知三条直线相切创建、通过指定的半径和圆弧中心创建、通过指定4的起始点和指定的圆弧中心创建等方法。下面介绍一些常用的创建方法。1)UF_CURVE_create_arc运用此函数时,圆弧的起始、终止角度,圆弧中心等相关的数据都存储在UF_CURVE_arc_p_t指向的结构中。在画圆弧时沿逆时针方向从起始点画到终止点。该函数的语法格式如下,成员变量及含义如表5-7所示。externintUF_CURVE_create_arc(UF_CURVE_arc_p_tarc_coords,tag_t*arc);表5-7UF_CURVE_create_arc的成员变量及含义类型参数输入/输出变量描述UF_CURVE_arc_p_tarc_coords输入指向圆弧数据结构的指针tag_t*arc输出指向创建的圆弧的指针,用来标识所创建的圆弧,以后使用该圆弧时作为标识2)UF_CURVE_create_arc_thru_3pts通过给定的三点创建圆弧或整圆,在老版本的UG中对应的是uf5063。该函数的语法格式如下,成员变量及含义如表5-8所示。externintUF_CURVE_create_arc_thru_3pts(intcreate_flag,doublefirst_point[3],doublesecond_point[3],doublethird_point[3],tag_t*arc_tag);表5-8UF_CURVE_create_arc_thru_3pts的成员变量及含义类型参数输入/输出变量描述intcreate_flag输入用于判断是创建圆弧还是整圆1:创建圆弧;2:创建整圆doublefirst_point[3]输入第一个点的坐标doublesecond_point[3]输入第二个点的坐标doublethird_point[3]输入第三个点的坐标tag_t*arc_tag输出指向创建的圆弧或整圆的指针,用来标识所创建的整圆,以后使用时作为标识first_pointsecond_pointthird_point图5-2通过三点创建圆弧3)UF_CURVE_create_arc_3tangent创建与三条曲线相切的关联圆弧特征。该函数的语法格式如下,成员变量及含义如表5-9所示。externintUF_CURVE_create_arc_3tangent(tag_ttangent_object1,tag_ttangent_object2,tag_ttangent_object3,UF_CURVE_help_data_p_thelp_data_p[3],UF_CURVE_limit_p_tlimit_p[2],tag_tsupport_plane,logicalis_asso,tag_p_tarc_feature_id);表5-9UF_CURVE_create_arc_3tangent的成员变量及含义类型参数输入/输出变量描述tag_ttangent_object1输入指向起点处相切的对象5tag_ttangent_object2输入指向终点处相切的对象tag_ttangent_object3输入指向中间点处相切的对象UF_CURVE_help_data_p_thelp_data_p[3]输入相切处的辅助数据UF_CURVE_limit_p_tlimit_p[2]输入端点延伸限制条件tag_tsupport_plane输入指向创建圆弧的平面的指针logicalis_asso输入true:关联的false:非关联的tag_p_tarc_feature_id输出指向新创建的圆弧的指针,用来标识所创建的圆弧,以后使用时作为标识4)UF_CURVE_create_arc_point_center通过起始点与圆弧中心创建圆弧特征。该函数的语法格式如下,成员变量及含义如表5-10所示。externintUF_CURVE_create_arc_point_center(tag_tpoint,tag_tcenter,UF_CURVE_limit_p_tlimit_p[2],tag_tsupport_plane,logicalis_asso,tag_p_tarc_feature_id);表5-10UF_CURVE_create_arc_point_center的成员变量及含义类型参数输入/输出变量描述tag_tpoint输入指向圆弧的起始点的指针tag_tcenter输入指向圆弧的中心点的指针UF_CURVE_limit_p_tlimit_p[2]输入端点延伸限制条件tag_tsupport_plane输入指向创建圆弧的平面的指针logicalis_asso输入true:关联的false:非关联的tag_p_tarc_feature_id输出指向所创建的圆弧的指针,用来标识所创建的圆弧,以后使用时作为标识除了上述几个函数之外,还有其它几个相关的创建圆弧特征的函数,其函数名与对应的创建方式列举如下:表5-11创建圆弧特征的函数函数创建方式UF_CURVE_create_arc_center_radius根据给定的圆弧半径和中心点创建圆弧UF_CURVE_create_arc_center_tangent根据给定的圆弧中心和相切的曲线创建圆弧UF_CURVE_create_arc_point_point_radius根据给定的起始点和半径创建圆弧UF_CURVE
本文标题:第5章自由形状特征
链接地址:https://www.777doc.com/doc-5265891 .html