找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
打印 上一主题 下一主题

手把手教你做UG二次开发。

[复制链接]
71
发表于 2003-4-2 09:12:43 | 只看该作者
Knight74 wrote:
现在我调试我的程序发现不能进行move 操作之后,和我的同学讨论了一下,他的意见是复杂的物体带有了许多参数,如果要把带参数的整个Object进行move操作,之需要把根feature进行平移,而其他的特征会自动跟着平移.下面着段程序就是要获得根feature的操作.  
  uf_list_p_t cmtag;  
  int ug_type,ug_subtype;  
  int N_features;  
  i_ret=UF_OBJ_ask_type_and_subtype (*Object_selected,[$ug_type,&ug_subtype )]  
    i_ret=UF_MODL_ask_object (ug_type,ug_subtype,[$body_object )]  
    i_ret=UF_MODL_ask_body_feats (body_object,[$cmtag )]  
    i_ret=UF_MODL_ask_list_count(cmtag,[$N_features)]  
  但进行调试时候.老是cmtag的值为空,请问斑竹对这几个函数熟悉不?  
  下面的这张图片是我在交互界面下进行Transform时出来的警告信息.

  
body_object一定要初始化为NULL_TAG.
72
发表于 2003-4-3 10:24:42 | 只看该作者
请问斑竹,知道计算两个object之间的距离函数吗?这个函数可以计算两个object之间的最短距离。
另外,感谢斑竹上面的提醒。今天有时间我把第3中在UG中平移物体的方法写上去。是通过移动特征来移动物体。
73
发表于 2003-4-3 14:35:20 | 只看该作者
Knight74 wrote:
请问斑竹,知道计算两个object之间的距离函数吗?这个函数可以计算两个object之间的最短距离。  
  另外,感谢斑竹上面的提醒。今天有时间我把第3中在UG中平移物体的方法写上去。是通过移动特征来移动物体。

  
UF_MODL_ask_minimum_dist()
74
发表于 2003-4-3 19:07:23 | 只看该作者
感谢,谢谢salary的提醒的提醒。
75
发表于 2003-4-4 13:56:37 | 只看该作者
求助::{
//-------------------[6] Chamfer 4 edges of block2-------------------
uf_list_p_t  edge_list1,edge_list2;
tag_t  chamfer_id,edge;
double end_point[3] =  {0, 0,0};   
double direction_z[ 3 ]= {0, 0, 1};  
int dir_edge;
char * angle1="45.0";
int subtype=1,*is_parallel=NULL;
UF_MODL_create_list([$edge_list1)]
  UF_MODL_create_list([$edge_list2)]
  UF_MODL_ask_feat_edges (block2, [$edge_list1 )]
  UF_MODL_ask_list_count(edge_list1,[$num)]  
  for (i=0; i<num; i++)
  {
      UF_MODL_ask_list_item(edge_list1,i,[$edge)]
      
    UF_MODL_get_curve_edge_direction (end_point,edge,[$dir_edge )]
  
    UF_VEC3_is_parallel(dir_edge,direction_z,0.0001,[$is_parallel)]
      if(is_parallel)
   
    UF_MODL_put_list_item(edge_list2,edge);
    }
  
    UF_MODL_delete_list([$edge_list1)]   
  UF_MODL_create_chamfer (subtype, "2", "2", angle1,edge_list2,[$chamfer_id)]
    UF_MODL_delete_list([$edge_list2)]
  
编译错误:error C2664: 'UF_VEC3_is_parallel' : cannot convert parameter 1 from 'int' to 'const double []'
请问用UF_MODL_get_curve_edge_direction 得到的edge的方向dir_edge是何类型,是不是不能用它得到block边的方向?
76
发表于 2003-4-4 14:20:01 | 只看该作者
帮助写得很清楚啊。
77
发表于 2003-4-4 14:28:59 | 只看该作者
extern int UF_MODL_get_curve_edge_direction (double * end_point, tag_t curve_edge_eid,  
int * direction );
  
double *  end_point Input : The input endpoint  
tag_t  curve_edge_eid Input : The input curve or edge  
int *  direction Output : Ouput direction   
  
extern void UF_VEC3_is_parallel (const double vec1[ 3 ], const double vec2[ 3 ],  
double tolerance,  
int * is_parallel );
  
const double  vec1[ 3 ] Input 3D vector   
const double  vec2[ 3 ] Input 3D vector  
double  tolerance Input tolerance  
int *  is_parallel Output = 0 Vectors are not parallel
= 1 Vectors are parallel  
  
整型指针变量,取出后在UF_VEC3_is_parallel()]中如何用?得到block边的方向是否有别的函数?
78
发表于 2003-4-4 19:28:52 | 只看该作者
any help?
79
发表于 2003-4-5 11:39:13 | 只看该作者
ZZZ有一手,这里一下子热闹了许多,学UG开发的多了许多
80
发表于 2003-4-5 15:21:58 | 只看该作者
taiga2001 wrote:
extern int UF_MODL_get_curve_edge_direction (double * end_point, tag_t curve_edge_eid,   
  int * direction );  
  
  double *  end_point Input : The input endpoint   
  tag_t  curve_edge_eid Input : The input curve or edge   
  int *  direction Output : Ouput direction    
  
  extern void UF_VEC3_is_parallel (const double vec1[ 3 ], const double vec2[ 3 ],   
  double tolerance,   
  int * is_parallel );  
  
  const double  vec1[ 3 ] Input 3D vector    
  const double  vec2[ 3 ] Input 3D vector   
  double  tolerance Input tolerance   
  int *  is_parallel Output = 0 Vectors are not parallel  
  = 1 Vectors are parallel   
  
  整型指针变量,取出后在UF_VEC3_is_parallel()]中如何用?得到block边的方向是否有别的函数?

  
第一个函数只是用来判断一个点靠近一条曲线的起点还是终点。
第二个函数要求输入两个矢量。
得到边的方向可以,先得到边的端点:用UF_MODL_ask_edge_verts()
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-26 00:08 , Processed in 0.024460 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表