QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 24590|回复: 159
打印 上一主题 下一主题

[分享] UG NXapi二次开发教程源代码_创建一个圆柱,并打孔倒角

  [复制链接]

三级士官

Rank: 3Rank: 3

14

主题

48

帖子

660

积分
跳转到指定楼层
楼主
发表于 2014-3-12 09:44:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

以下为代码部分:

  1. #include <stdio.h>#include <uf.h>#include <uf_ui.h>#include <uf_disp.h>#include<uf_modl.h>#include<uf_layer.h>#include<uf_assem.h>#include<uf_obj.h>#include<uf_part.h>#include<iostream>#define UF_CALL(X) (report( __FILE__, __LINE__, #X, (X)))static int report( char *file, int line, char *call, int irc){  if (irc)  {     char    messg[133];     printf("%s, line %d:  %s\n", file, line, call);     (UF_get_fail_message(irc, messg)) ?       printf("    returned a %d\n", irc) :       printf("    returned error %d:  %s\n", irc, messg);  }  return(irc);}static void do_ugopen_api(void){     UF_FEATURE_SIGN sign = UF_NULLSIGN;     tag_t target = NULL_TAG;     double origin [] = {0.0,0.0,0.0};     char* height = "100";     char* cyl_diam = "80";     double cyl_direction [] = {0.0,0.0,1.0};     tag_t cyl_feat_tag = NULL_TAG;     UF_MODL_create_cylinder(sign,target,origin,height,cyl_diam,cyl_direction,&cyl_feat_tag);     double value;     tag_t target1;     UF_MODL_create_exp_tag(height,&target1);//Creates a parameter expression, based upon the input string.     UF_MODL_ask_exp_tag_value(target1,&value);//Asks the value of an expression tag.     double location[3]={0.0,0.0,0.0} ;      double direction [] = {0.0,0.0,1.0};     tag_t obj=null_tag;     char *diam="30";     char *angle="0";     tag_t bottom,top;     tag_t feature_obj_id ;     uf_list_p_t face_list;     UF_MODL_create_list(&face_list);//Retrieves an object from a linked list of objects     UF_MODL_ask_feat_faces(cyl_feat_tag,&face_list);     int count=0;     UF_MODL_ask_list_count(face_list,&count);//Retrieves the count from a linked list of objectsfor(int i=0;i<count;i++){     UF_MODL_ask_list_item(face_list,i,&obj);     int type;     double point [3] ;     double dir [3] ;     double box [6] ;     double radius;     double  rad_data;     int  norm_dir ;     UF_MODL_ask_face_data(obj,&type,point,dir,box,&radius,&rad_data,&norm_dir);//Queries the data associated with a face     if(type==22)//“22”代表有界平面     {         if(fabs(point[2]-origin[2])<0.0005)         {             bottom=obj;         }         if(fabs(point[2]-value)<0.0001)         {             UF_MODL_ask_feat_location(obj,location);             top=obj;         }     }}UF_MODL_create_simple_hole(location,direction,diam,height,angle,top,bottom,&feature_obj_id);UF_MODL_ask_feat_faces(feature_obj_id,&face_list);UF_MODL_ask_list_count(face_list,&count);for(int i=0;i<count;i++){     UF_MODL_ask_list_item(face_list,i,&obj);//Retrieves an object from a linked list of objects   int typel;     UF_MODL_ask_face_type(obj,&typel);     //倒圆角     if(typel== UF_MODL_CYLINDRICAL_FACE )     {         uf_list_p_t facesl;         UF_MODL_create_list(&facesl);         UF_MODL_ask_shared_edges(top,obj,&facesl);         const char * radius="3";         int smooth_overflow=0;         int cliff_overflow=0;         int notch_overflow=0;         double vrb_tool=3;         tag_t feature_obj_idl;         UF_MODL_create_blend(radius, facesl, smooth_overflow, cliff_overflow, notch_overflow, vrb_tool, &feature_obj_id );      }   }}void ufusr(char *param, int *retcode, int param_len){  if (!UF_CALL(UF_initialize()))  {    do_ugopen_api();    UF_CALL(UF_terminate());  }}int ufusr_ask_unload(void){  return (UF_UNLOAD_IMMEDIATELY);}
复制代码


原帖地址:
http://www.ugufun.com/?p=111

有奖推广贴子: 

回复

使用道具 举报

中尉

Rank: 5Rank: 5

7

主题

322

帖子

3037

积分
沙发
发表于 2014-3-12 10:56:49 | 只看该作者
学习学习
回复 支持 反对

使用道具 举报

大将

Rank: 11Rank: 11Rank: 11Rank: 11

1635

主题

5852

帖子

11万

积分

优秀版主论坛贡献灌水王推广达人活跃会员论坛元老

板凳
发表于 2014-3-12 12:30:04 | 只看该作者
最好是要有注释啊。
回复 支持 反对

使用道具 举报

六级士官

Rank: 4

2

主题

269

帖子

1925

积分
地板
发表于 2014-3-13 11:40:37 | 只看该作者
很好很好很好
回复 支持 反对

使用道具 举报

一级士官

Rank: 2

0

主题

29

帖子

237

积分
5#
发表于 2014-3-20 09:50:27 | 只看该作者
学习学习啊
回复 支持 反对

使用道具 举报

三级士官

Rank: 3Rank: 3

0

主题

89

帖子

544

积分
6#
发表于 2014-3-20 11:53:11 | 只看该作者
謝謝大大分享此資訊~很實用哦!!
回复 支持 反对

使用道具 举报

一级士官

Rank: 2

0

主题

23

帖子

229

积分
7#
发表于 2014-3-28 16:59:40 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

列兵

Rank: 1

0

主题

4

帖子

23

积分
8#
发表于 2014-3-28 20:22:07 | 只看该作者
好资源,过来学习学习
回复 支持 反对

使用道具 举报

列兵

Rank: 1

0

主题

2

帖子

25

积分
9#
发表于 2014-4-11 11:29:19 | 只看该作者
谢谢分享~~
回复 支持 反对

使用道具 举报

二级士官

Rank: 2

1

主题

30

帖子

464

积分
10#
发表于 2015-1-13 19:08:54 | 只看该作者
快快快快快快快快快快快
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-4-24 13:35

返回顶部