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

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

  [复制链接]

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

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

秋爱 楼主

2015-7-17 11:45:11

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

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

x
本帖最后由 秋爱 于 2015-7-17 23:15 编辑 $ w" N0 q3 J! g/ H" B
2 U0 v  U7 u! f6 q
tag_t part_tag = NULL_TAG;8 E; |# Y) I8 z0 x; _
double origin [3] = {-20.0,-20.0,-20.0};
% q- b2 }; x) B, _$ \, d" Bchar  height[] = "80";
& _, V; `, H" K3 z0 Jchar  diam [] = "30";
- i. c* F# r9 H# T5 Edouble direction [3] = {0.0,0.0,1.0};. K0 J. B, h9 U- A( [: y# K" b
tag_t  cyl_tag;
4 _8 v) r0 }3 D: R* p- Zuf_list_t * edge_list;
. O! Y: ~% }1 ?- U6 T4 ?tag_t edges;. |8 H; E8 d, Q- W
double  ctrcoodrs[2][3];
$ a% }# b+ {/ l, |' T' Nint count ;/ L7 ~4 w6 t+ j  T3 L7 }& t( `
int i=0;
. H/ O8 M0 k8 K& `6 s  wUF_CURVE_line_t line_coodrs;
- ?7 ~+ d- T1 W& Xtag_t line_tag = NULL_TAG;5 y( Y) u$ d2 _, }/ N
char msg [256];

$ Y7 o, ~/ ~0 ]  N: a! c/ `4 u* rUF_PART_new("e:\\develop\\aa.prt",1,&part_tag); //创建部件aa
! E2 E' C: @) c7 K4 Z, w4 {! dUF_MODL_create_cyl1(UF_NULLSIGN,origin,height,diam,direction,&cyl_tag);//创建圆柱体$ k4 E7 {8 [! I+ h/ x& M) [9 o
UF_MODL_ask_feat_edges(cyl_tag,&edge_list);   //通过特征找到边,并存放到链表中。# T) r' G7 b8 P& T5 m2 a
UF_MODL_ask_list_count(edge_list,&count);     // 获取链表中边的个数6 c. \* z1 s2 ?0 C3 Q  f) Z& X, F
        if(count > 0)     
, b' C/ E# O: \9 [. T- f        {
; k+ p! O* F/ R! _, E: `                for(i=0;i<count;i++)
' A1 J  w+ L& v8 ]0 Q                {  s4 j% J; D9 `( N- |7 f$ V
                        UF_MODL_ask_list_item(edge_list,i,&edges);//取出边+ y: j9 W3 Y9 M2 b# g
                        UF_CURVE_ask_centroid(edges,ctrcoodrs);//获取两个圆心的坐标
! a  J3 n  e' O. k% s- r. c                }* G6 x- A" \) K6 i2 V0 ?) C0 v
                //给中心线的起点和终点赋值2 G* i, u* l) L: e  Z& I
    line_coodrs.start_point[0] = ctrcoodrs[0][0];4 G; T2 s* |" V! W
    ine_coodrs.start_point[1] = ctrcoodrs[0][1];
: d- A$ D5 {: B- z# V! L2 `    ine_coodrs.start_point[2] = ctrcoodrs[0][2];& x) I* l, u- O5 g3 C, ~
    line_coodrs.end_point[0] = ctrcoodrs[1][0];" o" P: b1 d, P2 U" ~6 U! g
    ine_coodrs.end_point[1] = ctrcoodrs[1][1];
; y, T2 h3 f" k; x! I    ine_coodrs.end_point[2] = ctrcoodrs[1][2];
# H  X. E/ b, {0 n- r) ?' m4 z: p# m8 k4 C  w# g
UF_CURVE_create_line(&line_coodrs,&line_tag);//创建中心线
7 P! [# R+ s  g. B, f* A. f        }! f4 i1 l6 ^3 |' B& Y
        else4 U5 m7 p; a1 ]1 T5 ?
        {. F! ]$ P/ k5 T' \: o$ ~1 H
                uc1601("没找到符合要求的边/圆弧",1);
5 i  {9 Q# e  {! l                return;9 g" ]9 ^0 B% \* m2 t. }! X2 x) O
        }

8 h1 \( ~9 }/ c3 k3 k  k9 l% Ksprintf(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]);
8 I. j+ U; k5 e2 J0 ?8 VUF_UI_open_listing_window();
' l* l" M& p6 _# T# X6 yUF_UI_write_listing_window(msg);' B! l$ ~8 W# {; Q3 i! j. ?5 u
UF_PART_save();0 X$ ~( \8 u( d5 W; R- [: A9 Q( n. U
UF_PART_close_all();
3 v* ]* H+ t( m7 }
, W8 ~& Z. P, p8 r7 L: _( ?

5 m, A+ K% b5 r& A: t+ X, c( a3 z, C2 ?& O

" z! T7 U5 k- X任意转换圆柱体位置中心线随之移动5 f& [6 Q" x( J9 q% A7 W) `3 G% B
+ ~% G5 y' e& p; C7 V' p( B; v

/ q, l( ^% F! L2 ?( }; Y& lfile:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\749587430\QQ\WinTemp\RichOle\~~FXAW1674LNEI%YU2APKZK.png* H$ L1 J( ?. t9 U: Y/ b) R" E
3 q, ?! N, ^5 C0 R9 y$ B& Q
+ a% C( W' v' K- t
~~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二次开发专题模块培训报名开始啦

    我知道了