PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

简简单单 楼主

2014-12-9 09:57:42

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

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

x
/*********************************************************/- q! v5 {5 Q% E
#include <stdio.h>1 W* c$ q" M) O8 H) D( i
#include <stdlib.h>
* k5 i: L; E9 i  g$ F. J5 P#include <uf.h>
8 K+ g4 E& o3 v2 S#include <uf_attr.h>
1 c+ U- w  S. ~1 k#include <uf_cfi.h>
9 d: @+ {. O# g, b#include <uf_curve.h>  y" X+ z; ~, J$ i0 f9 J; p  J
#include <uf_ui.h># P" h  w$ z$ _* Y" ]
#include <uf_modl.h>, D: ]: Q2 F: l6 E+ A2 W
#include <uf_disp.h>
$ r9 x, P4 r, K3 o& i4 t) B#include <uf_obj.h>
: f2 [. S' f, X/ F5 A) z#include <uf_csys.h>1 X0 e6 l6 g; g
! U0 E+ O2 H5 A+ t9 J9 w+ v

1 y# X4 d8 i+ d% P) M3 F7 B$ L/************* unload alloc mem *************************/
* A2 k6 L+ z; k8 A  t" ^7 q: B' M/* UF_UNLOAD_SEL_DIALOG  _UG_TERMINATE  _IMMEDIATELY  */
, W8 x- f* I2 l! d& p6 E; y& t, l5 O/ v3 ~1 p5 p/ ?0 ]
static int init_proc(UF_UI_selection_p_t select,void* user_data)6 @8 o" q; U) b6 W7 s$ ]
{
3 W9 A, G2 w9 d4 C( A; q5 X0 q        int num_triples = 1;   //只选择一种类型9 u) K/ D+ i% L5 Y& S3 L  M
        UF_UI_mask_t mask_triples[] = {UF_solid_type,0,0,};. l; S+ w- T9 P" g9 S; c9 _
        if((UF_UI_set_sel_mask(select,8 z0 P' |2 s( W0 _; V4 U4 K! [4 ?
                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
3 u! o+ ~4 I3 S# ^                num_triples, mask_triples)) == 0)
2 b  ?$ H/ J9 O' ^4 o2 c4 O( }        {5 t4 \( {( |4 e: s
                return (UF_UI_SEL_SUCCESS);( ]- ?# b/ F7 ~
        }$ F! I) u6 i, T
        else
3 A) S, M& k! I' K1 d2 K        {3 C$ V: _% K5 ~+ M3 f
                return (UF_UI_SEL_FAILURE);7 v2 j, ?4 O! ]6 S& C2 R
        }
8 }& h# `9 n' y6 D  p  r1 U}( @: g/ g" |3 P% |( w
+ h* G/ x4 m* ^' v

5 i, c# k4 W0 n# i1 T: ^extern void ufusr( char *param, int *reTCod, int param_len ) ) G3 a$ z- T5 Y
{1 y* ^3 h  S1 y7 z
        UF_initialize();
/ a, t% n' r$ F7 L7 D8 g0 }8 a
9 X9 S5 Z! k- r( D        & ^/ L7 f  H+ b/ d
        char cue[] = "简简单单:请选择单个体";
* s3 A9 U2 g3 G9 P" Q        char title[] = "简简单单:请选择单个体";, K8 w- c2 f7 W- L3 A% X' f+ I5 _
        int response=0;
6 d4 v: B0 A8 Y! i        tag_t object;
/ u; n0 @$ p! w4 X3 p- C        int count=0;7 c$ |# g8 ?# g3 X+ Z8 U" v
        double cursor[3];5 P& Z( w* j  n6 c4 w8 Z1 {
        tag_t view;
0 x8 C+ O0 }9 O1 ]. p6 q        int i=0;
; E/ M, `; J9 E) e        double pt[3]={0,0,0};
! I$ I3 o  `. V2 y        double z1[3]={0,0,1};
3 c" k' n; s5 X% ]3 i        UF_OBJ_translucency_t cyt=0;" Z. U% T, P$ S7 q9 U+ t* x9 a9 W
L10:1 B  \6 `0 u9 w" g
        UF_UI_select_with_single_dialog(cue,title,0,init_proc, NULL,&response,&object,cursor,&view);
7 W- m* _/ ?* k( G3 F0 u" H        if(response==UF_UI_BACK)   goto L10;  //如果点后退就跳转到L10
5 {; B) J! X" t) ?, n6 d        if(response==UF_UI_CANCEL) return;    //如果点取消就退出/ ^4 ^* I6 p2 M) t" L+ ^" f/ s! p
" C- k  N6 _: L
        UF_DISP_set_highlight(object,0);      //取消高亮显示
0 P- O) p: e- P4 V8 j9 J" p. \        tag_t csys_tag; ' W5 n& P+ R& P/ K; n
        double min_corner [ 3 ] ;
3 A, U3 V8 u* z8 X        double directions [ 3 ] [ 3 ] ;
; r# e9 S& ~9 }1 t" A2 c3 t        double distances [ 3 ] ;
$ @& y0 C5 L, N9 O        UF_CSYS_ask_wcs(&csys_tag);+ @+ H$ ^* M. A
        UF_MODL_ask_bounding_box_exact(object,csys_tag,min_corner,directions,distances);$ K  t6 y9 |. ?% a# ~
5 F. ~. }3 @- R$ r- F
        char mesg_x[256];# |1 s) o4 l5 C+ V9 A
        sprintf(mesg_x,"%f",distances[0]);
: a9 S' O" J6 v: R9 p               
* f6 ~$ |8 N4 O+ k  {5 p        char mesg_y[256];
) {6 ]! y' @  e* c- t8 S& A/ u        sprintf(mesg_y,"%f",distances[1]);
) n, F  z  K. [& A7 U  q
' E9 D" L' |+ P6 z        char mesg_z[256];& V$ a$ Q) Z6 Y& z8 R% f: X
        sprintf(mesg_z,"%f",distances[2]);, |/ G+ s# D( @, B5 l1 j
       
; X* E% `7 p& _1 p        char *edge[3] = {mesg_x,mesg_y,mesg_z};
7 `+ V$ u9 j8 K2 ^+ w$ W) u' U        tag_t blk_tag;
* H, Y* @8 F( ]( q1 [7 ~) p        UF_MODL_create_block1(UF_NULLSIGN,min_corner,edge,&blk_tag);; d/ c" e, W8 }- Z' Q4 m  O5 R
       
1 O6 T9 B; }8 W- b1 ~        UF_MODL_ask_feat_body(blk_tag,&blk_tag);
# ]; z  w3 F* z) [/ i5 T! r8 J        UF_OBJ_set_translucency(blk_tag,100);   //设置透明
0 X5 J$ j2 D" o/ r        UF_OBJ_set_line_width(blk_tag,UF_OBJ_WIDTH_5 );        //设置线宽1 e9 t+ X1 j$ |2 f/ d& i
        UF_OBJ_set_font(blk_tag,UF_OBJ_FONT_CENTERLINE);        //设置线型7 c4 K: k  C, C" a7 |  A. v5 o
. s! y, ]! F7 D; L# w
/*        uf_list_p_t ll;1 R4 v( o# a. E( I9 G+ Z
        UF_MODL_create_list(&ll);, X! |6 U# ?0 e* d/ \$ c& ?# @
        UF_MODL_ask_body_edges(blk_tag,&ll);% K# s( x2 Z8 n/ _6 `: N
        int ww;7 \6 U4 e8 Z7 x: D: y/ @
        UF_MODL_ask_list_count(ll,&ww);
9 l: V' B  J4 ]' W2 l; t3 h& i                for (int i=0;i<ww;i++)
7 L( I) U/ M! b                {
4 j3 {. x6 N# x3 v0 F; E                        tag_t yy,curve1;       
) h1 i) s* L; Q0 M: b/ K, A                        UF_MODL_ask_list_item(ll,i,&yy);
' {# [7 v/ t/ f6 m' e- `: |                        UF_MODL_create_curve_from_edge(yy,&curve1);        //抽取曲线" t' i. R# ]- b- z5 F$ R
                }*/
0 s" Y3 `7 g+ n5 L& E. }( A                char box[256];) h0 x. e7 {$ j4 `9 L6 s2 M
                sprintf(box,"简简单单:对象尺寸(X-Y-Z):*%.2f X %.2f X %.2f",distances[0],distances[1],distances[2]);  t/ ?6 I$ d+ E) {! ~
                uc1601(box,1);
8 N' T" k. s" k' A9 k
3 M+ Z- ~' X1 E: z0 |/ `        goto L10;  //透明之后继续回到选择的状态
! I% S* N. L; Q1 ], f. S- K$ L6 k' S3 ~) W
       
! j5 b! |1 \6 W* \1 \3 [4 z& ?3 b% }' C# l! \
# B7 J. @# c/ e1 Y2 Q; F  q$ x

' t- g$ x3 f2 w8 m  w# ]7 U' v1 N% [        UF_terminate();" K4 G% Z, o  o" Z9 ?
        return;
; Q( x  ?; q* p# I8 c}
( x5 t7 Z* N4 A; o# [2 Q; ]' G* k  X' g

) ]! R3 [0 G( M9 [2 e# |  d+ Nextern int ufusr_ask_unload()
2 p* B% e) A3 A{, P( p* B$ I3 s' L
        return UF_UNLOAD_IMMEDIATELY;+ Q: p: n& [( x6 r9 @' r
}+ G8 B2 l- v, D

3 H, d2 {, g, x# f/ n8 q6 _
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录制的吗
5 ^( E4 _! M+ Y3 k& z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了