PLM之家PLMHome-国产软件践行者

[交作业] 创建一个圆柱体并创建它的中心线

  [复制链接]

2015-7-17 15:17:01 2978 1

秋爱 发表于 2015-7-17 11:45:11 |阅读模式

秋爱 楼主

2015-7-17 11:45:11

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 秋爱 于 2015-7-17 23:15 编辑 1 ^' k7 Q0 ^+ w3 b/ z
$ j4 h. }8 ?$ j* R) k  y. W: X
tag_t part_tag = NULL_TAG;+ T" b* w" W; h! u$ t& H
double origin [3] = {-20.0,-20.0,-20.0};
; T! y; M$ D4 vchar  height[] = "80";
3 \: Q9 K" M/ ?- }# Achar  diam [] = "30";
3 K  L: R7 i' O6 {( p, I0 O; Wdouble direction [3] = {0.0,0.0,1.0};
" P- D/ C* V9 {1 y/ ]tag_t  cyl_tag;
1 ?! W& T/ ?( `, S  fuf_list_t * edge_list;2 ?0 r$ y, s4 }( o$ S
tag_t edges;
, k9 \4 A5 ~; |$ K0 L/ c2 o* T+ hdouble  ctrcoodrs[2][3];. B( E3 d2 U9 D% l. }' }
int count ;
& s7 ], t% R: f: E- |3 @# l7 i4 s3 Lint i=0;
- u9 X' ]: \2 ~4 a8 O$ K8 c7 D, yUF_CURVE_line_t line_coodrs;
9 u! m$ |/ q+ Qtag_t line_tag = NULL_TAG;
# \& l; ?" L  f5 Pchar msg [256];
+ t0 l9 U7 D  v' T
UF_PART_new("e:\\develop\\aa.prt",1,&part_tag); //创建部件aa
$ M5 P4 s. Y. e, PUF_MODL_create_cyl1(UF_NULLSIGN,origin,height,diam,direction,&cyl_tag);//创建圆柱体
9 T; I! H2 G1 z/ J' CUF_MODL_ask_feat_edges(cyl_tag,&edge_list);   //通过特征找到边,并存放到链表中。5 V+ m, w4 {# A9 Y9 N+ Y" R
UF_MODL_ask_list_count(edge_list,&count);     // 获取链表中边的个数3 M& J% J! x8 d9 Y' z
        if(count > 0)     
- o% m8 d: C# F' q5 K( P4 ]5 ~        {
' u  N8 b0 W0 N4 Z; l' [0 ^                for(i=0;i<count;i++)
1 I* G* \( g" X                {
2 h/ l( r- C+ ^% V$ R! p: c                        UF_MODL_ask_list_item(edge_list,i,&edges);//取出边5 _8 P! _; v- {/ F
                        UF_CURVE_ask_centroid(edges,ctrcoodrs);//获取两个圆心的坐标
3 E  ~) q+ ?% ~8 N* D/ t1 e6 C                }
4 s/ O% ]) |" d% l4 d1 U8 d                //给中心线的起点和终点赋值
$ E+ Z9 N4 ~& P/ N+ o2 Y9 w( L    line_coodrs.start_point[0] = ctrcoodrs[0][0];  @& i: `$ |/ ~0 Q2 P
    ine_coodrs.start_point[1] = ctrcoodrs[0][1];4 ^' D- u; p& ]
    ine_coodrs.start_point[2] = ctrcoodrs[0][2];: M( `  [$ e4 {8 S/ c8 Q
    line_coodrs.end_point[0] = ctrcoodrs[1][0];+ f( o+ W! b; Z% z; l  o! v! Y
    ine_coodrs.end_point[1] = ctrcoodrs[1][1];* T6 k2 f# X+ J. }& T' k
    ine_coodrs.end_point[2] = ctrcoodrs[1][2];  C+ I% ^! L, u! g. G% X# Q1 x- P8 o3 W
" W" o2 l9 d! D# i; }8 A
UF_CURVE_create_line(&line_coodrs,&line_tag);//创建中心线
8 Z# D9 B$ p7 q        }
( H6 C: O6 B6 |$ H6 q/ t/ `        else
6 P& c8 x' B( M        {8 a) |5 C. Z& U" {) j6 T8 X! n% o, @
                uc1601("没找到符合要求的边/圆弧",1);/ i4 t+ G& F2 V: o
                return;
5 A# l  X$ K! @4 e& Q+ c        }
4 l& z: T0 _4 g9 e5 c# k
sprintf(msg,"中心线起点坐标值是x:%f,y:%f,z:%f\n中心线终点坐标值是x:%f,y:%f,z:%f\nmade by:六色彩虹",line_coodrs.start_point[0] ,line_coodrs.start_point[1],line_coodrs.start_point[2] ,line_coodrs.end_point[0] ,line_coodrs.end_point[1], line_coodrs.end_point[2]);
( b9 s6 @( z. fUF_UI_open_listing_window();
. K( L$ B, Y4 k3 ^  D: Q2 c0 m4 LUF_UI_write_listing_window(msg);
. |: x) \/ A* [0 F% vUF_PART_save();& u% ~* l9 K+ u2 b
UF_PART_close_all();
& [/ E6 M) j8 h( M+ ]0 I

* \8 ?3 |/ c7 l) s' t

" u7 u& z9 _8 Z& s1 D* S; D1 i6 e; \
+ T* Y% q" q1 `; g( J/ J

) w$ T; n% G* V: f+ [9 f任意转换圆柱体位置中心线随之移动8 |: R7 K7 T* i
3 n  ?( S5 b& n

/ e2 I1 d0 |+ E6 }file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\749587430\QQ\WinTemp\RichOle\~~FXAW1674LNEI%YU2APKZK.png' A5 }! f$ H! i; V0 L$ W

% }+ B9 S4 F9 L% r; X: ?" V. @: ~
( Y5 x, ~; {1 B; F/ i3 x9 I$ X. c
~~FXAW1674LNEI%YU2APKZK.png

评分

参与人数 1PLM币 +5 收起 理由
admin + 5 很给力!

查看全部评分

上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复1

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了