查看: 5237|回复: 4

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

  [复制链接]

8

主题

58

回帖

896

积分

培训VIP会员

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

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

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

×
/*********************************************************/; K# {0 O" s* |1 [  J& o9 Q
#include <stdio.h>
+ t9 D5 m4 j2 v0 A% W#include <stdlib.h>
3 V9 F# j7 `5 x$ N$ g#include <uf.h>+ R0 b/ q& B" D$ ~2 r0 l: v
#include <uf_attr.h>7 K0 d# x6 T* s" v
#include <uf_cfi.h>1 i# e1 N* e  W8 D, \, o3 m
#include <uf_curve.h>
3 P6 \! W( s) i$ e' M#include <uf_ui.h>2 }8 m4 q4 ~  i9 f9 H
#include <uf_modl.h>
( ?7 s9 l5 o* f& L4 ]#include <uf_disp.h>' h4 p4 X% N! t* K" `& Q
#include <uf_obj.h>6 ]4 {& @* `( q! ^
#include <uf_csys.h>
$ _5 c! P+ o% Z" V; d2 c: u  u' C5 r+ R: j

) z& M; k7 r8 p! p% h) O2 J/************* unload alloc mem *************************/
: F$ X! F5 |0 d: q/* UF_UNLOAD_SEL_DIALOG  _UG_TERMINATE  _IMMEDIATELY  */
1 H2 T- U  F% Y) P" A. k8 s9 q+ G
- b! i% I6 F' @# _static int init_proc(UF_UI_selection_p_t select,void* user_data)
* F6 f3 {$ M! i' s{
+ B; t" N5 l! m& |) j, U0 M6 H. {* Z        int num_triples = 1;   //只选择一种类型2 J( {5 ^) `; Z1 k7 v; z
        UF_UI_mask_t mask_triples[] = {UF_solid_type,0,0,};5 s1 @5 A1 {' v+ M8 ^& s
        if((UF_UI_set_sel_mask(select,8 ?2 G" ]) J2 d) y8 C) c' u/ Z0 m# z& v( M
                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,7 @4 }% h5 P3 U) }' s- V9 G* H
                num_triples, mask_triples)) == 0)
4 G# M9 g' H" f( o: I6 E+ j        {2 O' i$ _8 [  }
                return (UF_UI_SEL_SUCCESS);, I" q: ~4 j" n. }9 [& P! a. L
        }5 d5 G4 \% S1 {# B, `5 S1 {/ T
        else: b" f" O7 X$ @  Z2 S* U; G. b
        {
0 n# L+ V2 j% ]& o/ J                return (UF_UI_SEL_FAILURE);% W% m& w) n9 D+ g+ e5 `; _; T4 a
        }
0 q7 d  a1 r/ O8 f. a# G8 u* f. s}5 W# u' e' I0 X5 }4 Z
) \2 Z$ I$ H+ M' z: X& f7 f

* H% L3 `4 f4 N. {extern void ufusr( char *param, int *reTCod, int param_len )
- d* e7 f9 U( R+ o; d' E9 u{
/ O0 L3 m6 d5 |3 m        UF_initialize();
6 f$ e" b& R3 D$ d* D' Q) P- c7 _4 c- H; ~, l& C+ J
        9 {7 Z! y5 T* r) V& w
        char cue[] = "简简单单:请选择单个体";
% T7 I: z' |" }! A        char title[] = "简简单单:请选择单个体";  W7 ~9 M+ J5 p, W* a( q
        int response=0;- m; A/ @0 H* c. L
        tag_t object;
: Z: G) }, |9 ]4 {+ O3 T        int count=0;
" C, ?/ A, c/ O' G! {: q9 @        double cursor[3];* @/ z3 O3 n! H# P5 Y+ P) K. @
        tag_t view;; X) ^9 U' I( B8 C4 O
        int i=0;
" G" z* ]4 @' C, |3 {# Z( ~0 U        double pt[3]={0,0,0};
- h2 W6 V& e" a# a+ X0 _        double z1[3]={0,0,1};* O  `' N9 K  v1 Y0 G( r2 M$ k
        UF_OBJ_translucency_t cyt=0;' C& {' H3 a0 W% k
L10:" H7 @' m( ?) m
        UF_UI_select_with_single_dialog(cue,title,0,init_proc, NULL,&response,&object,cursor,&view);
9 S2 _  q2 h' ^, ~# C* B        if(response==UF_UI_BACK)   goto L10;  //如果点后退就跳转到L10
" ]9 n* D! o& t, w: {% [9 w        if(response==UF_UI_CANCEL) return;    //如果点取消就退出' P( g7 A5 j3 G4 f

- S/ e6 h- X! G$ c5 m2 ~        UF_DISP_set_highlight(object,0);      //取消高亮显示
4 Q) u3 z$ M- v' W  P4 F# n        tag_t csys_tag; # `' }5 m4 v' `# n: `% \
        double min_corner [ 3 ] ; / P% U" z& d; {
        double directions [ 3 ] [ 3 ] ; 6 b1 L$ S- Q6 m; x# n; t: l. d( _" R
        double distances [ 3 ] ;1 q$ O, c: S9 C. f
        UF_CSYS_ask_wcs(&csys_tag);1 O; r: i* }' j0 W3 u
        UF_MODL_ask_bounding_box_exact(object,csys_tag,min_corner,directions,distances);2 q: X9 U$ O( ~9 L) Q

& I/ |6 z. v2 x- P8 c5 w0 A$ d        char mesg_x[256];
4 c5 i+ j9 f2 c        sprintf(mesg_x,"%f",distances[0]);
9 b! w# a$ |5 K5 E2 ?               
! R; v0 M/ ~) N* j& X/ I        char mesg_y[256];
& [0 z* X  ?% C        sprintf(mesg_y,"%f",distances[1]);
: ^8 A4 u- S( r6 M
% k5 Q0 q+ g; L        char mesg_z[256];
" z2 w7 x+ b) r* ?& p0 ?/ b. E$ a        sprintf(mesg_z,"%f",distances[2]);
' R1 M+ r5 [2 I( F# y! f4 {       
& K) l7 B, j0 s5 a+ q' Q4 I        char *edge[3] = {mesg_x,mesg_y,mesg_z};& H0 S8 C/ ]' M( X) X3 Y" d
        tag_t blk_tag;: G/ G9 C% ^8 w2 j7 w: a
        UF_MODL_create_block1(UF_NULLSIGN,min_corner,edge,&blk_tag);
% Z5 G" Z; F0 a9 R7 f2 U        4 M5 f6 c  x) h& G3 C+ T3 R
        UF_MODL_ask_feat_body(blk_tag,&blk_tag);& t# h( P" Z3 H6 H
        UF_OBJ_set_translucency(blk_tag,100);   //设置透明5 w8 C7 ~) `2 W% r* O- [  ~
        UF_OBJ_set_line_width(blk_tag,UF_OBJ_WIDTH_5 );        //设置线宽: v, J( ]7 w9 g' D/ \" D
        UF_OBJ_set_font(blk_tag,UF_OBJ_FONT_CENTERLINE);        //设置线型
4 j7 s! L" _& p; Z4 C, P6 n
* K# ~" v! d6 Z% J- V6 n$ B/*        uf_list_p_t ll;
1 M: J" |5 L1 J) j3 P        UF_MODL_create_list(&ll);
3 a& j9 n$ ^6 R: {% f& r        UF_MODL_ask_body_edges(blk_tag,&ll);
2 Y; ?/ O- A2 H' z        int ww;# `0 X0 o6 ~; Z+ M. p) r
        UF_MODL_ask_list_count(ll,&ww);
8 S$ a$ u' o2 e& ]                for (int i=0;i<ww;i++)( Y  D7 a. C. W
                {
7 a4 E6 @& X, y) p6 @0 U# k8 A+ d: J                        tag_t yy,curve1;       
+ P/ A' j% {- G( J* L' B                        UF_MODL_ask_list_item(ll,i,&yy);
) [8 X) @6 B  S* ?2 x                        UF_MODL_create_curve_from_edge(yy,&curve1);        //抽取曲线
% k- _+ Q  b& {, |0 }                }*/4 O2 b- }6 f, ]1 I, S
                char box[256];) m+ W$ Y$ k# B, Z! u
                sprintf(box,"简简单单:对象尺寸(X-Y-Z):*%.2f X %.2f X %.2f",distances[0],distances[1],distances[2]);
( }6 R! {4 M5 w                uc1601(box,1);- |: u  b0 \- x$ J1 D9 Y3 @
: }6 a0 |, k7 @8 A+ E6 l, ^
        goto L10;  //透明之后继续回到选择的状态
& Z! E: V% M  `
* W$ _, v4 V9 I* @8 b; Q( |        * @: [' `2 D1 T) f1 L

6 V8 h% }! v0 W7 w  o* T# M, y$ p  c3 ^( W1 s
7 C4 K( U3 a$ B/ b
        UF_terminate();$ g1 T' R0 Z: W$ p9 W# }
        return;8 F8 z/ l* A& e
}
3 k1 G' B) n  Y' n" ^' z! h  I9 d6 b# q  B: Y; b, d( F
& y; q: t+ X3 h* v5 s9 C2 L2 J- w1 |* v
extern int ufusr_ask_unload()1 X* r, N8 r. u- a0 S
{" z" G4 g0 Q2 n$ }: \3 r
        return UF_UNLOAD_IMMEDIATELY;# l6 s6 H9 E$ C- Q* A7 e0 n
}& _' E. u3 m2 ]

4 o3 n% N6 x9 J! k9 X
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录制的吗
" `9 O4 o# R/ f3 P
上海点团信息科技有限公司,承接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客服返回顶部