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

iCAx开思网

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

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

[复制链接]
81
发表于 2003-4-5 15:39:49 | 只看该作者
Thanks for zzz's answer. i've fixed it up.
  
//-------------------[6] Chamfer 4 edges of block2-------------------
   
    uf_list_p_t  edge_list1,edge_list2;
    tag_t  chamfer_id,edge;
    double point1[ 3 ];  
    double point2[ 3 ];
    char * angle1="45.0";
    int subtype=1;
    int  vertex_count=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_ask_edge_verts (edge,point1,point2,[$vertex_count )]
  
      if(fabs(point1[2]-point2[2])>1)   
    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)]
82
发表于 2003-4-8 08:51:43 | 只看该作者
向斑竹,各位同志请教,有谁对UF_MODL_create_point_dirr_daxis (
tag_t point,  
tag_t direction,  
tag_t * daxis_tag ),函数熟悉,我现在只知道double direciton[3],我怎样才能得到tag_t 的direciton呢?
83
发表于 2003-4-8 10:26:11 | 只看该作者
再uf_so.h里面,smart object.
84
发表于 2003-4-8 12:30:23 | 只看该作者
感谢斑竹的大力支持!另外再向斑竹讨教一个问题.我已经知道了一个point的tag_t,用哪个函数,通过调用该tag_t能够得到这个point的坐标呢?
再次感谢.
85
发表于 2003-4-8 15:49:42 | 只看该作者
uf_eval.h或uf_curve.h
86
发表于 2003-4-9 08:42:10 | 只看该作者
谢谢斑竹的解答,昨天真的是看帮助看昏了,很简单的一个函数UF_CURVE_ask_point_data(),我找了很久都没想起来。后来我看我自己写的程序有个生成点的函数,UF_CURVE_create_point(),我想既然能够创建点,那反过来也一定可以的。现在总算要完成任务了。谢谢斑竹和各位的提示。感谢。
87
发表于 2003-4-9 08:43:50 | 只看该作者
在UG中move 物体的第三中方法,通过移动特征来移动物体。
double real_data[2][12]={0,0,0,1,0,0,0,1,0,0,0,1,50,80,0,1,0,0,0,1,0,0,0,1};
  int mode=CSYS_TO_CSYS;
  int N_features;
  char features_num[100];
  uf_list_p_t cmtag;
  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)]
  
  i_ret=UF_MODL_move_feature(cmtag,mode,real_data);
88
发表于 2003-4-9 19:31:40 | 只看该作者
斑竹,我下面的程序是希望通过一个点,一个方向创建一个datum axis,我用
i_ret=UF_CURVE_ask_point_data (dpoint,Datumpoint);
i_ret=UF_MODL_create_fixed_dplane(Datumpoint,direction,[$dplane)]
i_ret=UF_SO_create_dirr_plane(dpoint,UF_SO_update_after_modeling ,dplane,flip,[$Tdirection)]
i_ret=UF_MODL_create_point_dirr_daxis (dpoint,Tdirection,[$daxis_tag )]
上面这几个函数先生成了一个datum plane,然后我定义了该平面的方向,
最后通过点,方向生成datum axis,其中,dpoint,Tdirection,&daxis_tag 这三个参数都是tag_t类型的,调试的时候最后一个函数出错,说是"internal error!",请问斑竹是何原因呢?
89
发表于 2003-4-9 20:39:26 | 只看该作者
自己看一下log file吧。估计是你用的这个函数UF_SO_create_dirr_plane有问题。
90
发表于 2003-4-9 20:46:30 | 只看该作者
看UF_MODL_create_point_dirr_daxis的帮助中说了,如果用smart object,它的update option 必须设为UF_SO_update_within_modeling。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-25 12:38 , Processed in 0.025225 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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