查看: 5175|回复: 4

[交作业] 选择体绘制包裹体

  [复制链接]

8

主题

58

回帖

896

积分

培训VIP会员

积分
896
发表于 2014-12-9 09:57:42 | 显示全部楼层 |阅读模式

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

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

×
/*********************************************************/: q; I" I4 [9 c# M' X5 J8 `
#include <stdio.h>
. a* T, D+ O) r% \/ W2 t8 R, W#include <stdlib.h>
7 R3 Q( v: A1 x& p6 d1 l#include <uf.h>8 I$ j7 W1 u; d# X2 o" B
#include <uf_attr.h>
) j: O& \! h# M7 g#include <uf_cfi.h>1 r6 L7 _) ]; v. R: F
#include <uf_curve.h>
2 Y, Q+ d$ N# t5 K" b2 F#include <uf_ui.h># f8 l( s( j$ W  R' M8 F2 s% V
#include <uf_modl.h>
8 U( H* I9 `) W8 ?& @. R) j#include <uf_disp.h>1 H5 L0 \/ i/ T! t; z- ?4 [: I/ d
#include <uf_obj.h>
# U) {2 p! k$ v. Z+ F#include <uf_csys.h>* f( o* h+ C% x0 U0 ]" V5 Q
% C5 k% _& `2 L6 H

( s; k1 ]# A0 K5 p9 C' D. \/************* unload alloc mem *************************/; R/ J3 I7 W) ]$ T& f$ x/ O' F
/* UF_UNLOAD_SEL_DIALOG  _UG_TERMINATE  _IMMEDIATELY  */
/ C" N' {4 ^# ~/ @4 @; u$ q" R- K1 \& i4 z5 Q; X, M) |1 E
static int init_proc(UF_UI_selection_p_t select,void* user_data)
' ?, A. d7 H: e; A" @9 R# u{) L; ^7 ~; i2 J: n6 u: _5 A
        int num_triples = 1;   //只选择一种类型
5 |- g1 U6 E9 [- g& t        UF_UI_mask_t mask_triples[] = {UF_solid_type,0,0,};
4 J/ b8 \" `! r3 u3 e+ [5 p/ Y$ S  _        if((UF_UI_set_sel_mask(select,
7 \/ t/ S, S1 E7 p1 ?$ m                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
: A4 Y% y8 U% ~0 [& E8 ~) W                num_triples, mask_triples)) == 0). Q. `; p8 g7 ^7 s3 |, H. ]
        {9 w: a4 b# B( J; X0 W/ G
                return (UF_UI_SEL_SUCCESS);  d4 _) ~6 L; J; Y: I& \
        }
8 g4 R  e  \: |( Q        else" J! I; d+ b: [4 C& Z2 ?
        {* p& p9 t' j4 M
                return (UF_UI_SEL_FAILURE);
' w) e9 \* T) K% D  k8 ^        }$ T% P& V3 C  c( q
}
, h4 t& u; D6 I' Q3 B
# E0 b% W) ^* z( X- ~0 ^
8 c. M: |  n# Z4 T% Qextern void ufusr( char *param, int *reTCod, int param_len ) 8 Y  L2 f$ G. D6 d7 a
{7 }: d# a; Q& I3 ?% u% ]0 n
        UF_initialize();
+ |. ?3 y2 z* m- g. q
, ~* \1 Y/ c8 H, f        6 j$ o& G# J$ i% R% t
        char cue[] = "简简单单:请选择单个体";- t1 u9 p4 {4 x- g
        char title[] = "简简单单:请选择单个体";
5 r1 S8 G5 r& r$ B# K        int response=0;
/ H, s3 w$ ~! s# h  c        tag_t object;* p7 R9 p) x, j. U  K  ]8 s8 `
        int count=0;
/ b  N( E& ^4 f; ~5 I% M        double cursor[3];
9 l6 i9 ?! l; h0 O        tag_t view;( j0 L7 N0 g+ c% Q4 m2 p
        int i=0;0 r8 u# j4 a, B1 u( ^
        double pt[3]={0,0,0};
6 Y" N5 J1 Q2 H; B' l+ Y0 W! H5 l        double z1[3]={0,0,1};
& O; t' u  p/ M: J4 X7 N        UF_OBJ_translucency_t cyt=0;7 Q" q( {& y  ?8 b7 {) l
L10:
- D" `# o1 f  c9 \$ ^6 F        UF_UI_select_with_single_dialog(cue,title,0,init_proc, NULL,&response,&object,cursor,&view);$ j5 M2 X; v+ \) ?* i6 |" n0 K
        if(response==UF_UI_BACK)   goto L10;  //如果点后退就跳转到L109 o9 r% [# E& S% ^9 Q+ A! p
        if(response==UF_UI_CANCEL) return;    //如果点取消就退出4 {8 G* a$ c# M" `/ F
8 _$ N1 Y% M; ~; i
        UF_DISP_set_highlight(object,0);      //取消高亮显示6 V6 q* r  M3 p5 e' ~0 g- J
        tag_t csys_tag;
4 b" R; u5 q3 }+ x% L) `        double min_corner [ 3 ] ; . _% _* C4 r: ]2 Y5 e/ z  V% z1 A
        double directions [ 3 ] [ 3 ] ;
) z, u% u* C! r' d) ~& l        double distances [ 3 ] ;
9 `7 E% M/ l) h3 M. C- s        UF_CSYS_ask_wcs(&csys_tag);: _4 H9 [/ B5 M3 P  d% Y
        UF_MODL_ask_bounding_box_exact(object,csys_tag,min_corner,directions,distances);
- C" s1 {3 z- {' k1 `% R: F, Q' N5 v- J
        char mesg_x[256];, L* d$ n' n' d( o# X! |& N; N
        sprintf(mesg_x,"%f",distances[0]);& J/ r  s- G# ^2 t4 \- Q
                  k6 ]% `8 N* w9 Z( s5 `- {
        char mesg_y[256];
- S7 a2 C4 K0 X        sprintf(mesg_y,"%f",distances[1]);" C5 V/ w' H! H

% f  J0 d2 y2 J* N        char mesg_z[256];
% L6 P9 [/ Q+ y7 b/ o        sprintf(mesg_z,"%f",distances[2]);: d* Z5 S* o- S+ u
        , O- d3 V' w. }3 A) E
        char *edge[3] = {mesg_x,mesg_y,mesg_z};
: w2 _4 h/ w+ i        tag_t blk_tag;
. ]: `' d4 D( e- |        UF_MODL_create_block1(UF_NULLSIGN,min_corner,edge,&blk_tag);
# T6 j$ j7 c2 E9 x6 q( y$ a        ; e9 \' g% y: n6 q
        UF_MODL_ask_feat_body(blk_tag,&blk_tag);
6 I) f7 Y- _) u9 D        UF_OBJ_set_translucency(blk_tag,100);   //设置透明: o: A& G2 d! k0 k
        UF_OBJ_set_line_width(blk_tag,UF_OBJ_WIDTH_5 );        //设置线宽% y' A) U9 m+ Z1 G
        UF_OBJ_set_font(blk_tag,UF_OBJ_FONT_CENTERLINE);        //设置线型
. Q! w- N: z" K7 ^  |& e7 l( I! A, D2 I0 C1 i! ]$ O+ [
/*        uf_list_p_t ll;! ]! y* Y4 G0 M& P; Z7 m' L( _
        UF_MODL_create_list(&ll);
: D2 k6 m" e5 Z  N/ n6 O( x        UF_MODL_ask_body_edges(blk_tag,&ll);  g0 d7 x6 e0 h, n, y
        int ww;
4 d# I4 B! [8 n        UF_MODL_ask_list_count(ll,&ww);; D8 X, n1 u: m
                for (int i=0;i<ww;i++)' j/ u: V, E5 |( {7 y  h% c  Y* v: \
                {
( _/ q! a) M1 y5 d' }7 P% ?                        tag_t yy,curve1;       
& a7 {+ I' X" }9 n; [% H$ i6 u# O                        UF_MODL_ask_list_item(ll,i,&yy);
2 J6 T) _  t/ P0 d; {/ U                        UF_MODL_create_curve_from_edge(yy,&curve1);        //抽取曲线' k1 s3 C9 u( Q
                }*/
2 m$ \* o0 r( i4 M0 o                char box[256];
7 x! ?( j" T9 A7 x: s: n  W# k2 C                sprintf(box,"简简单单:对象尺寸(X-Y-Z):*%.2f X %.2f X %.2f",distances[0],distances[1],distances[2]);; u6 \6 ]3 N' F
                uc1601(box,1);& m, b& \+ A9 E  x5 ~! H
, z$ O  b4 `: h8 j! g& z7 h
        goto L10;  //透明之后继续回到选择的状态" D+ F( I' M5 I1 \: ~2 L# f

4 c# u* R% e6 y" y! U9 L3 k5 ^  a% G       
0 `6 _7 I. m* h6 H
+ }* M9 F2 R- {# D; |# f
. Z5 N+ U/ m. w) B; x& P& {; E5 {. |
        UF_terminate();& `+ c2 Z9 O2 N% m5 R
        return;
! Y9 I& }$ P! b) L  a; e2 ?}- F/ p+ N/ @& @/ I& b9 }
6 F, x. V: q1 s# _1 p

9 b* h+ d3 U" xextern int ufusr_ask_unload()  o" }9 \; r' w' d) h1 s" j
{8 R7 a, q7 V5 u8 U
        return UF_UNLOAD_IMMEDIATELY;( W7 J8 Y/ v2 G6 [3 H. m
}
1 b/ T+ w+ P/ C3 y) J" R; i( h7 }6 K3 d- ~# L2 w  d
QQ截图20141209095616.jpg
QQ截图20141209095701.jpg

评分

参与人数 1PLM币 +3 收起 理由
admin + 3

查看全部评分

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

使用道具 举报

7

主题

9

回帖

228

积分

培训VIP会员

积分
228
发表于 2015-7-29 16:04:22 | 显示全部楼层
请问这个是用JA录制的吗- T9 C2 F& E% O( K- m
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

21

回帖

56

积分

注册会员

积分
56
发表于 2022-12-21 19:55:33 | 显示全部楼层
楼主好人啊,好人一生平安!
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部