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

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

  [复制链接]

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

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

秋爱 楼主

2015-7-17 11:45:11

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

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

x
本帖最后由 秋爱 于 2015-7-17 23:15 编辑 , I7 I! _* O0 d6 o" @' H( r

3 j0 h+ a5 Y- p7 _* i; B$ Ktag_t part_tag = NULL_TAG;
8 Z) B: ]" m. |% z9 Sdouble origin [3] = {-20.0,-20.0,-20.0}; # h# a8 g$ Q, u* u
char  height[] = "80";+ F- V: f6 S( Q) G, W* r
char  diam [] = "30";/ k! P! n. b- P# n, a: F) A1 i: y3 J
double direction [3] = {0.0,0.0,1.0};
+ ]% {' ]- l. j/ U9 h& Stag_t  cyl_tag;
8 u9 V4 T/ u, m1 n3 Kuf_list_t * edge_list;
" z: s) x6 J3 x+ ]4 e6 f4 Otag_t edges;
4 u/ K& m4 k9 G  N  Q7 \/ P4 sdouble  ctrcoodrs[2][3];" i7 [3 b$ Y$ _, t
int count ;( Q. a2 H+ F$ c
int i=0;; S7 @2 N3 d6 r8 Z) @! Y
UF_CURVE_line_t line_coodrs;% N6 e. K' k3 u- L" \$ p8 }
tag_t line_tag = NULL_TAG;
, X5 `5 F" F, m) L% Z. [, z0 z# y4 cchar msg [256];
- _, s( B1 v! a. O9 M8 J
UF_PART_new("e:\\develop\\aa.prt",1,&part_tag); //创建部件aa4 e- @& B: n( h+ g
UF_MODL_create_cyl1(UF_NULLSIGN,origin,height,diam,direction,&cyl_tag);//创建圆柱体) a* ^& v6 l+ b. J. z/ }
UF_MODL_ask_feat_edges(cyl_tag,&edge_list);   //通过特征找到边,并存放到链表中。
- s% o& i; e; z; L4 vUF_MODL_ask_list_count(edge_list,&count);     // 获取链表中边的个数" B8 D1 W& j2 c9 P
        if(count > 0)     
6 Z2 h' ]% ?  h6 L9 C- r, r. {        {
" _  j- ^! a4 B8 V# d# O                for(i=0;i<count;i++)
4 K' H8 k  t* F% z                {' {  G, F$ `$ r7 i2 n
                        UF_MODL_ask_list_item(edge_list,i,&edges);//取出边0 L* C1 t8 U; b2 q" F
                        UF_CURVE_ask_centroid(edges,ctrcoodrs);//获取两个圆心的坐标; I' w7 Q5 [5 F
                }
9 ^7 A; X8 s# J2 m  }                //给中心线的起点和终点赋值
5 Y) ]2 r# R3 z' r) m4 T+ e8 l    line_coodrs.start_point[0] = ctrcoodrs[0][0];
; u0 W5 Q! K0 R& f% q6 P/ v! @    ine_coodrs.start_point[1] = ctrcoodrs[0][1];7 j/ S) M  N9 L. }% a
    ine_coodrs.start_point[2] = ctrcoodrs[0][2];
5 f: G" |" K" N; a8 T& d; I6 e    line_coodrs.end_point[0] = ctrcoodrs[1][0];2 @7 R7 o0 g1 s* z: W# S
    ine_coodrs.end_point[1] = ctrcoodrs[1][1];3 Q4 S6 C4 y0 L
    ine_coodrs.end_point[2] = ctrcoodrs[1][2];  z5 @1 u" o2 k; H
5 q: M7 e: `& A9 g) N8 e
UF_CURVE_create_line(&line_coodrs,&line_tag);//创建中心线7 p  [( k) h/ Y) _: c6 [5 t1 ~
        }; O' I, x  h5 Y9 s. x- a2 J. o
        else3 [2 _; p+ |* j) f3 ?! \+ s7 w
        {
; C5 G) K, Y) l+ ~                uc1601("没找到符合要求的边/圆弧",1);$ {# E+ i- S1 j9 f; ~
                return;6 p8 R# w: Z( P
        }

6 ?' C# U: N+ V& u' Zsprintf(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]);
/ m* m1 n  O3 ~UF_UI_open_listing_window();' d' H  E+ `8 H2 h
UF_UI_write_listing_window(msg);9 y( f7 Y3 o2 |' o- P* h% v
UF_PART_save();. k% ~5 x0 F, p$ k" H% r
UF_PART_close_all();

9 c; t3 t9 P' R
" J2 Z8 I7 w1 Z$ z8 V0 L* G9 ~

' ^1 L9 m' F! I3 u
7 z  |3 C* h7 C& u) ~$ V5 _
% {9 W* a( `5 U  ]+ w8 y- y
任意转换圆柱体位置中心线随之移动2 F6 E- r2 J1 I6 A; q+ h6 z3 m
6 M' a& G6 I5 H! G" E% M

9 z0 d& f/ c* x6 ?file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\749587430\QQ\WinTemp\RichOle\~~FXAW1674LNEI%YU2APKZK.png: k- F& s/ c+ V0 u# N
2 d3 E# F% w- Q( ?! l2 w
( l# B' _& t' W: B3 E* `
~~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二次开发专题模块培训报名开始啦

    我知道了