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

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

  [复制链接]

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

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

简简单单 楼主

2014-12-9 09:57:42

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

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

x
/*********************************************************/
$ Z1 s  Z+ m7 V#include <stdio.h>
1 x5 T! v3 }' `! U* s* l#include <stdlib.h>
% `. \: t% A* b8 @, a5 M#include <uf.h>
' k  i. ?2 U5 p% f' _. C#include <uf_attr.h>5 ]3 ]) c, b) X! t7 R2 k/ L
#include <uf_cfi.h>
6 J8 j& W) {) C- i  L# V& O- J#include <uf_curve.h>5 d5 {6 Z; u5 ^9 c0 W, e
#include <uf_ui.h>
, R8 f! M) }2 r, V2 L7 w1 n#include <uf_modl.h>
' m: N6 W# g7 D  O; |5 I- b: ]#include <uf_disp.h>
* U% m: Q$ J2 f1 {: w9 `#include <uf_obj.h>
- _* A# V# k! r#include <uf_csys.h>
, L. ]3 w* S$ ]) Y- W0 A
5 l# x" Y8 @; m9 ?  G7 o3 G5 w6 O0 K5 L* c) j. n; }& {
/************* unload alloc mem *************************/6 w2 ~; C- _% ^5 l8 y$ e3 F2 f
/* UF_UNLOAD_SEL_DIALOG  _UG_TERMINATE  _IMMEDIATELY  */
6 V% v6 I# d% G* `4 H2 `7 ?
1 M9 W5 i  Q: y0 t4 s* Ostatic int init_proc(UF_UI_selection_p_t select,void* user_data)/ j# c1 }: \% q0 w) H
{
6 I& Z# P  Z" r6 U7 Y        int num_triples = 1;   //只选择一种类型
& q" @9 ~, `  M5 p5 F" L        UF_UI_mask_t mask_triples[] = {UF_solid_type,0,0,};
: `) ^1 X  c7 W+ j* x        if((UF_UI_set_sel_mask(select,
! h- B3 j# a! d. G/ X                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,5 V9 t$ ^; \0 J# i' ?
                num_triples, mask_triples)) == 0)
* ]' u6 k* w! u& M* Y        {
1 D4 L4 P: h3 ?                return (UF_UI_SEL_SUCCESS);
% r/ i: A. j- {% c. o6 p        }  r: m* o* c2 q  r4 w
        else# e0 P% P" d; i! p0 B2 K- q
        {
# k& a+ g* I# P) t( l" e4 l# w                return (UF_UI_SEL_FAILURE);
( z- W' [9 M- H: M2 X( a0 z        }
1 z# k$ i+ Y" f9 {) N- j}
0 E0 k& X4 c- i! L, [  A1 Z1 V
6 n- _. a2 e7 A( U! p: n* s: G8 T  t1 M. _5 ]" {
extern void ufusr( char *param, int *reTCod, int param_len )
  i3 A! `2 N9 t* a9 ]! @- g{! ~; O$ V  D" A+ \# Z
        UF_initialize();6 b# u; G5 d( A3 d

. n2 H7 {  u& F# j0 _$ O& k       
' |( C( A/ P! U6 S4 Y( A( l        char cue[] = "简简单单:请选择单个体";
) j5 ~8 H8 y" V2 G        char title[] = "简简单单:请选择单个体";
; Q4 Y+ ?8 {, F) e  \        int response=0;
6 k5 n+ m/ e( ?  e        tag_t object;
$ _# @+ e3 b$ k0 X5 M. k        int count=0;7 F9 ?& W) Y& G0 y4 z6 |
        double cursor[3];
: e4 @, h: f: P0 ]# U8 G8 ?        tag_t view;" K1 S8 ?% _& q, @+ X+ o3 w/ f# o
        int i=0;3 G" G7 W7 x0 L  h# E
        double pt[3]={0,0,0};
4 z) ]4 ?$ m7 V        double z1[3]={0,0,1};6 j$ [& W  I' V
        UF_OBJ_translucency_t cyt=0;* Z- u4 i6 i0 B) G/ F( n7 i
L10:
% L- r* @. t- z8 H        UF_UI_select_with_single_dialog(cue,title,0,init_proc, NULL,&response,&object,cursor,&view);
! P) f/ D2 q, ~, i        if(response==UF_UI_BACK)   goto L10;  //如果点后退就跳转到L10
# b/ n4 T8 T/ l8 Y        if(response==UF_UI_CANCEL) return;    //如果点取消就退出
2 |# h5 Y1 s; O9 Q, t2 M+ T3 F& h- H, d) A5 Z9 }( b3 ?. n: O. U
        UF_DISP_set_highlight(object,0);      //取消高亮显示. U1 e4 H! a/ ?- w! W7 p9 S* l
        tag_t csys_tag;
: ^6 S* x5 k6 P* [        double min_corner [ 3 ] ; ; Y* z% _$ l2 h& {' p& c& J
        double directions [ 3 ] [ 3 ] ; 1 F+ ^5 N) J7 i1 q' A7 q
        double distances [ 3 ] ;; E$ t7 w+ b4 D$ K
        UF_CSYS_ask_wcs(&csys_tag);
# J* x. @) f* Q2 p. g7 z        UF_MODL_ask_bounding_box_exact(object,csys_tag,min_corner,directions,distances);
; o2 T3 i: M7 Z7 h* S! \
3 c) T7 w* F  t+ b9 e/ J$ v        char mesg_x[256];
+ ?" s. z' a; e* `/ g        sprintf(mesg_x,"%f",distances[0]);
! s3 X( _- J: {2 q# r. R& k: ^               
( |% w* u& o# f3 v6 q        char mesg_y[256];
& u' g9 Z) `7 k8 e: A& `* k        sprintf(mesg_y,"%f",distances[1]);
/ H( x/ C) m; C/ ?" A% Y$ r
- N% _; |1 o  H        char mesg_z[256];9 H4 z3 C, w2 W) R
        sprintf(mesg_z,"%f",distances[2]);3 }9 z( ~/ P1 d' G, J4 ]
        4 i7 r% j1 p: {
        char *edge[3] = {mesg_x,mesg_y,mesg_z};
; \3 C% e6 g# ]. R. [        tag_t blk_tag;6 @; n0 K) ?) A, o1 j; \% R
        UF_MODL_create_block1(UF_NULLSIGN,min_corner,edge,&blk_tag);/ ]8 d6 J0 k& a7 o7 r+ {- E
       
5 P2 O7 W1 _7 R/ m        UF_MODL_ask_feat_body(blk_tag,&blk_tag);# Q$ I8 M1 h0 R
        UF_OBJ_set_translucency(blk_tag,100);   //设置透明
- r: Y+ i$ T. A. M        UF_OBJ_set_line_width(blk_tag,UF_OBJ_WIDTH_5 );        //设置线宽8 G5 E& d, s- u4 p" y5 ^# ~
        UF_OBJ_set_font(blk_tag,UF_OBJ_FONT_CENTERLINE);        //设置线型- i5 [- x+ q1 ]$ q8 |7 r% W" p! i) ^0 P

- @2 n  K  H# w0 t' S/*        uf_list_p_t ll;
( T! i+ Q" y3 ?4 m  d* b7 B        UF_MODL_create_list(&ll);8 ^  t  i1 a- y) Z# n/ p7 M( \
        UF_MODL_ask_body_edges(blk_tag,&ll);
4 K5 i  b) i" u: H' W, R        int ww;
8 y& Q  Z) F7 ?        UF_MODL_ask_list_count(ll,&ww);% h  J$ Y0 J) _$ S8 A. w) K
                for (int i=0;i<ww;i++)
+ @) {9 R2 [; b& J                {
# l) l) L5 h+ o' S+ B6 p+ x; w                        tag_t yy,curve1;        ; f0 u! }0 O' W6 H% f3 c$ f  S& K; R
                        UF_MODL_ask_list_item(ll,i,&yy);
3 r6 M1 a" m2 w6 @                        UF_MODL_create_curve_from_edge(yy,&curve1);        //抽取曲线
8 o  K+ A9 T" S                }*/
. h$ g9 H  R$ K# Y: x                char box[256];
' Q/ `2 P5 t* B0 Z" u7 r6 ~                sprintf(box,"简简单单:对象尺寸(X-Y-Z):*%.2f X %.2f X %.2f",distances[0],distances[1],distances[2]);
2 U, b7 V5 \" \0 B                uc1601(box,1);* T/ `8 J$ b" ]6 g$ s; y6 {

9 C. a, N& I0 m- m        goto L10;  //透明之后继续回到选择的状态
. F! H1 W( s; x! N: f# Y5 `7 B' F; g; h4 ?9 K7 y7 V
        0 a; D* }$ n. {& L; _
$ A' I% P& D+ d1 v/ k

  @, f$ B; \: C4 N6 ?- V. |/ J, ^) r2 b% Z. o
        UF_terminate();: V; o1 f. p# u$ S
        return;0 s! J' h) e4 s! p9 \* e+ [2 L
}* t1 I1 ~+ G& V( B- g6 L

! }9 @6 B. I/ d0 V/ t( ?$ @! X- K  N
extern int ufusr_ask_unload()) [5 r7 u- n8 {5 j7 v! D
{, d& |" t' s; f# S% a
        return UF_UNLOAD_IMMEDIATELY;9 W, _' |. h( M
}
: I* \( u0 e2 p  u! c1 h0 }7 e! u" a/ T4 C* k1 ]/ C
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录制的吗
$ L" A/ j* [- j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了