PLM之家PLMHome-工业软件践行者

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

  [复制链接]

2022-12-21 19:55:33 4964 4

简简单单 发表于 2014-12-9 09:57:42 |阅读模式

简简单单 楼主

2014-12-9 09:57:42

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

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

x
/*********************************************************/
- {: O2 Z3 u% U5 K/ @2 r0 {* A2 g#include <stdio.h>$ M/ g! Y& M# i* j
#include <stdlib.h>0 Y' i: [5 D) M: I. ]
#include <uf.h>
! e9 Q& `+ }: u- \: W#include <uf_attr.h>" B/ m! y" p$ ~* C) d
#include <uf_cfi.h>
6 t# B8 X5 S' S4 w5 w4 s$ K#include <uf_curve.h>/ U  o% {3 c9 W9 d& B' i
#include <uf_ui.h>/ [" z" Q& j( l- x+ p
#include <uf_modl.h>
$ N1 f& c: Q5 {1 J) ?#include <uf_disp.h>) Z% X" _& R5 ~1 ~
#include <uf_obj.h>0 a4 q) i% m. W2 D4 B
#include <uf_csys.h>" F% P( ]+ o, q
# m3 z+ ?& g/ c( G
% K) F2 i6 A$ _: h% I
/************* unload alloc mem *************************/2 A  Q3 }- K# [1 f/ }- G
/* UF_UNLOAD_SEL_DIALOG  _UG_TERMINATE  _IMMEDIATELY  */5 _. g* t: f( p0 b" v" o$ Z

5 R$ F. C2 Y% @% v0 Z' M* Gstatic int init_proc(UF_UI_selection_p_t select,void* user_data)+ `0 }& G5 u- X' y* _5 O0 Y
{
' e- @8 q4 a8 v$ [' x' G        int num_triples = 1;   //只选择一种类型
% g* b1 Z9 J% {5 s, _& L        UF_UI_mask_t mask_triples[] = {UF_solid_type,0,0,};7 Y! L$ w6 z1 g: t5 v
        if((UF_UI_set_sel_mask(select,
1 n1 |) }" A% D& M7 t- F                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,- p; r3 e7 L% D0 Y) Z2 |+ s
                num_triples, mask_triples)) == 0)
) ]3 i, _* F# r2 m" ?        {, N5 x9 q3 r0 F# G4 c: q9 ?/ u- \
                return (UF_UI_SEL_SUCCESS);
: C/ P5 c% J7 I/ S# ^$ {        }0 Y7 Z( i: G- G9 [
        else
" x8 ~4 h# W; \        {
' K  q5 l9 A$ t. G2 J7 G# N                return (UF_UI_SEL_FAILURE);$ g( A4 j0 f( c  W! J* ~
        }
$ @8 z  i5 W. [- \+ H}/ y& `$ {, `" o. I

' U# j8 y% {: L% s, B) D2 }& A5 @3 j# J# q; h7 O" v4 `8 D0 K6 M
extern void ufusr( char *param, int *reTCod, int param_len )
. V! Q% I6 x8 L' L& Q' Z{- R/ I- b1 y* ?. j7 @" o7 G
        UF_initialize();
; T6 c$ A! h6 C4 `: ?
! \) H. ]" {0 B3 u       
4 b1 E7 ^$ v) y; f. f        char cue[] = "简简单单:请选择单个体";( ~- p1 r4 R  |% W# T6 O8 K6 @
        char title[] = "简简单单:请选择单个体";
$ \; _4 {2 G. T6 I, V        int response=0;; z& C3 s. Z) @
        tag_t object;
: l' v7 y& T$ B, I% F* M3 s' j! q        int count=0;
' v8 O/ V' y& Q3 m8 N0 f. F        double cursor[3];
. j; J) l" o% V5 ]1 [3 ?        tag_t view;$ _7 T) Y+ h( H4 u0 S) B, N
        int i=0;
0 u1 u$ b7 T1 _; l8 G) t/ @# N        double pt[3]={0,0,0};1 X' n  [( X+ J7 b" t
        double z1[3]={0,0,1};
. O: B7 L% u% w+ A        UF_OBJ_translucency_t cyt=0;
) Z% b. ]# Z% ^( YL10:  ~6 M0 ]9 }& B2 J. P  i* ?# R
        UF_UI_select_with_single_dialog(cue,title,0,init_proc, NULL,&response,&object,cursor,&view);
+ \: V, D9 R2 p: U0 G- C/ B        if(response==UF_UI_BACK)   goto L10;  //如果点后退就跳转到L10
+ D# T/ `0 R, F) T/ D7 d/ R  E        if(response==UF_UI_CANCEL) return;    //如果点取消就退出7 L  [: K1 `2 N0 @! S& b) H

; Q8 ^: b" k9 e- i, }- n) Y- L        UF_DISP_set_highlight(object,0);      //取消高亮显示1 u7 Y5 a9 F+ D) E0 H/ u
        tag_t csys_tag; + v3 y4 ]/ m7 }4 b( |
        double min_corner [ 3 ] ;
% C/ y& Q. ?; i. K: o        double directions [ 3 ] [ 3 ] ;
1 u8 W, W$ l$ ]        double distances [ 3 ] ;
, y4 V( D8 Q( S        UF_CSYS_ask_wcs(&csys_tag);
7 ?/ X+ @( t9 W7 `1 ?        UF_MODL_ask_bounding_box_exact(object,csys_tag,min_corner,directions,distances);# f5 d7 k/ B) O, }" m+ n
0 y! b, a/ e" M
        char mesg_x[256];: n% Y$ u# t9 C. e+ E! c! D
        sprintf(mesg_x,"%f",distances[0]);
: A/ V4 t! a3 Q# A8 ?                . M4 O! b% ^- W
        char mesg_y[256];
4 `) u7 b3 M  R3 P/ r6 T        sprintf(mesg_y,"%f",distances[1]);: s+ a# I& z! P3 I
0 k7 p: U: g6 b$ B
        char mesg_z[256];
2 Z8 G, C( ?+ o7 [, e8 r/ i0 X  c        sprintf(mesg_z,"%f",distances[2]);
  t, l. v0 t- p: R' ]! l! L        7 p0 C! w) b) I0 c( a" X( i
        char *edge[3] = {mesg_x,mesg_y,mesg_z};0 c* R  P  X9 x  R; O
        tag_t blk_tag;
! ?/ w. ~5 \0 r7 U( S$ S        UF_MODL_create_block1(UF_NULLSIGN,min_corner,edge,&blk_tag);
1 @  l8 r, ^' y' b0 Y* |       
$ f% J/ q5 F% f+ C        UF_MODL_ask_feat_body(blk_tag,&blk_tag);
  S+ v3 h) i; ?5 i+ M$ _        UF_OBJ_set_translucency(blk_tag,100);   //设置透明) j. n/ P, Z- l" T
        UF_OBJ_set_line_width(blk_tag,UF_OBJ_WIDTH_5 );        //设置线宽( O/ D3 q" }; g$ P8 C6 h- |
        UF_OBJ_set_font(blk_tag,UF_OBJ_FONT_CENTERLINE);        //设置线型
% o, O* m9 _( L
7 S1 E0 U: z+ O+ k& O/*        uf_list_p_t ll;
& h- \* k) o! ~% K1 D" V        UF_MODL_create_list(&ll);
1 A: W! t6 n, ~) v        UF_MODL_ask_body_edges(blk_tag,&ll);
7 Z: Z5 Q6 v* u3 N* s1 ^        int ww;
6 X4 K  ]" }( M4 l$ K% T        UF_MODL_ask_list_count(ll,&ww);& F4 L2 `6 R. d8 D3 X
                for (int i=0;i<ww;i++)
! F3 d2 f% f, a2 [3 T                {
, ^# W! C1 [  |9 K( l2 {                        tag_t yy,curve1;        2 M7 A8 D9 E& Z2 z2 B' |
                        UF_MODL_ask_list_item(ll,i,&yy);
$ @$ U8 ^9 q) m) _8 O                        UF_MODL_create_curve_from_edge(yy,&curve1);        //抽取曲线8 m  L# e' i$ b' c: o
                }*/- b" Z7 P- x0 N  F2 J
                char box[256];2 s; Q! n9 M) p5 j3 d9 o4 H9 M( l
                sprintf(box,"简简单单:对象尺寸(X-Y-Z):*%.2f X %.2f X %.2f",distances[0],distances[1],distances[2]);
. H5 n8 q! I' g% j+ O; M- t                uc1601(box,1);' c  ]6 P  O4 h% q  X4 G# G

) x  X2 f1 i' d9 y5 q3 e& K: A. M        goto L10;  //透明之后继续回到选择的状态
9 ~6 [* H9 W4 a! E( r5 L& ~: w
+ j: y1 z( E1 e/ o        " ^- \) W% m7 k$ g; d- Y' v" ^

! B3 l+ V" ]. X1 l& I7 i8 u9 x5 {. I% c; }

$ ?/ a6 g2 `0 N' s9 L        UF_terminate();: R' S! |6 T$ Z. K
        return;7 c. i7 M! S8 m: w( e5 ~) G
}! G* ~# F% x' R# }
) E6 [7 D$ Z; Z$ O6 _

: D$ z$ k. g) ~# H# kextern int ufusr_ask_unload()$ S. Q0 ~" _" _/ [/ w
{
  x: N7 o8 W' f( w2 @        return UF_UNLOAD_IMMEDIATELY;
! \2 a% |2 P. s2 @}: p8 g! A; F& H( Z1 Q
# x! L' I3 ?) ^9 P
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.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复4

秋爱 发表于 2015-7-29 16:04:22

秋爱 地板

2015-7-29 16:04:22

请问这个是用JA录制的吗/ I' L0 N: z: X4 m1 I
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

freshapp 发表于 2022-12-21 19:55:33

freshapp 5#

2022-12-21 19:55:33

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

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了