iCAx开思网

标题: 颖悟分享之导入函数UF_PART_import [打印本页]

作者: wanxin9999    时间: 2005-5-8 16:22
标题: 颖悟分享之导入函数UF_PART_import
导入函数和装配不大一样的。
我在用这个函数时,前前后后也出了很多超低级的错误。
也幸好有前辈+好朋友的指点。在此谢谢他们。也希望能给大家一起分享。
  
先把导入函数在帮助文档中的定义贴过来
int UF_PART_import (
const char * file_name,  
//导入零件的文件名,
  
UF_import_part_modes_t * modes,  
//关于这个结构体,可以参见帮助文档中的说明,我后面也会提供例子代码
  
double dest_csys[ 6 ],  
//"Destination Coordinate System. dest_csys[0..2] is an
X-direction vector, and dest_csys[3..5] is a y direction
vector. These are used as input to UF_MTX3_initialize
to create the full coordinate system matrix."---这段英文不是很难理解吧?
  
double dest_point[ 3 ],  
//要在哪一点位置导入这个零件呢?通过这个参数指定。
  
double scale,  
//The scale size for the imported part.--导入零件的比例。
  
tag_t * group  
//If grouping is desired, the group is returned,
otherwise it is a NULL_TAG
);
  
下面是关于结构体的定义
  //  ---  零件导入模式定义
   modes.layer_mode = 0; = Merge on work layer = Merge on original layers  
   modes.group_mode = 0; = Merge ungrouped = Merge grouped
   modes.csys_mode = 0;//Not used by UG/Open applications
   modes.plist_mode = 0; = do not merge any parts list data = merge parts list format only, not members  
   = add merged group to the parts list = merge all parts list data, including format, members and note.  
   modes.view_mode = 0; = do not retrieve views and layouts. = retrieve views and layouts.
   modes.cam_mode = false;//Not used by UG/Open applications  
   modes.use_search_dirs = false;//Not used by UG/Open applications
  
嗯,还有一点特别提醒一下。
我试过:必须在英文的环境下才可以导入用这个函数。而中文是不行的。
我在这个问题上也浪费了不少时间。
  
嗯,关于导入函数还有什马别的问题,贴过来,我看看,知无不言,言无不尽。
作者: wanxin9999    时间: 2005-5-8 16:44
关于其他的几个参数,我也罗嗦几句吧。
  
double  dest_point[ 3 ] Input Destination point of imported part  
这个点的参数,我用uc1616()调用点构造器函数的。
  
double  dest_csys[ 6 ] Input  
--Destination Coordinate System.  
dest_csys[0..2] is anX-direction vector,  
and dest_csys[3..5] is a y directionvector.  
These are used as input to UF_MTX3_initialize
to create the full coordinate system matrix.  
这个地方,可能大家解决的问题不同,方法和思路也会有些差别。
我给大家讲一下,我用到的一个函数:
这个函数是在"uf_so.h"这个头文件里。
  
UF_SO_create_dirr_normal_to_surface_point (
const tag_t object_in_part,  
const UF_SO_update_option_t update_option,  
const tag_t face,  
const tag_t point,  
const logical flip,  
tag_p_t direction );
//Creates a direction normal to a surface at a given point on that surface.
  
为什么想在这里提这个函数?
主要是以前在坛子里,看到过很多人说起求法矢的函数,多数都是说到下面这个:
UF_MODL_ask_face_props (
tag_t face_id,  
double param[ 2 ],  
double point[ 3 ],  
double u1[ 3 ],  
double v1[ 3 ],  
double u2[ 3 ],  
double v2[ 3 ],  
double unit_norm[ 3 ],  
double radii[ 2 ] );
  
我没有用过,现在把这两个都列在这里,希望给大家多一点启发。大家可以自己看看。
  
值得注意,一定要把“uf_so.h"这个头文件加进来才可以用哦。
  
大家还有什么想法疑问提提看吧。
作者: mxsfyu    时间: 2005-5-8 18:00
赞一个!
作者: sincosxu    时间: 2007-10-22 15:04
很好,可惜,没人顶...
作者: huangyu083    时间: 2007-11-13 10:08
标题: 赞一个!
赞一个!写得不错啊
作者: yester    时间: 2009-6-10 22:52
不错 指点迷津
作者: xtjefhw    时间: 2009-6-11 07:43
导UG档,这个没GRIP简单,只是GRIP不能导其它格式的,不知道,用C的有没那函数
作者: wansqs    时间: 2009-7-21 12:00
2# wanxin9999

很好的东西,由于我刚接触二次开发,我想知道您所说的关于dest_point的参数由点构造器获得,能告诉我具体怎么实现吗?最好附上实现获取点构造器的代码,谢谢
作者: fgwlhl    时间: 2009-7-22 23:02
说得好!顶到你飞起来!说得好!顶到你飞起来!说得好!顶到你飞起来!说得好!顶到你飞起来!说得好!顶到你飞起来!说得好!顶到你飞起来!




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3