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

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

  [复制链接]

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

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

简简单单 楼主

2014-12-9 09:57:42

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

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

x
/*********************************************************/- |6 [% }) A- ?1 ^" D3 H" V7 s
#include <stdio.h>
, Z" U1 J$ }( b! T#include <stdlib.h>/ h* M' B7 r. H7 [  x+ ^
#include <uf.h># P7 E/ F8 q; \! Y
#include <uf_attr.h>
! t0 h- x- Z& ?+ [5 G7 X#include <uf_cfi.h>
# {6 G+ |' i8 X+ c# ^3 B+ k. a- ]#include <uf_curve.h>
6 B+ M0 M, a# U# m* b( @+ {#include <uf_ui.h>( J. G; \0 N  q8 s
#include <uf_modl.h>; [, X4 z) e" \) ~- ?
#include <uf_disp.h>
# \6 F( n* Y$ a. a$ g  z1 t#include <uf_obj.h>
, k) Z9 n* h: v, T#include <uf_csys.h>
9 ]0 q+ X# ~$ V* U- I) Y, l& o. B* ^: D6 F1 k. w) Y! s
- b# C. }/ M0 q! h
/************* unload alloc mem *************************/
4 @# A4 e: s6 b+ {- F/* UF_UNLOAD_SEL_DIALOG  _UG_TERMINATE  _IMMEDIATELY  */
/ r4 d. w% t: X3 e
: E# P4 ]; X. z0 w. {( g" \static int init_proc(UF_UI_selection_p_t select,void* user_data)
0 {1 Z! _" }$ F! A{
/ e" y4 M; B, ~        int num_triples = 1;   //只选择一种类型
4 e  q! Z+ t' }        UF_UI_mask_t mask_triples[] = {UF_solid_type,0,0,};/ h) s) D9 Y* r# G* T: r  ]: c7 }6 C' `
        if((UF_UI_set_sel_mask(select,+ D' t5 Z7 T5 }- d/ @9 Z! \
                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,8 G3 c( ]2 k" B7 T) K" n. k
                num_triples, mask_triples)) == 0)
  V* }: ~8 d: Z2 [; l: u$ G  Y+ R        {% p/ f+ \& a1 ^# r2 }$ U: m
                return (UF_UI_SEL_SUCCESS);. j; j1 e( E) C5 {6 k8 m) H
        }, E' u% m* b+ Z6 C
        else
  {# b6 [; X6 W+ ^        {. y, S% Q5 p, q/ W% z, k
                return (UF_UI_SEL_FAILURE);# R! c* e# n3 ~. \* \5 c
        }
9 b9 m, r: h- X5 b- t, E}
+ _0 X3 U: H! K$ V; p6 b0 Z! G+ M2 Z$ k: j, ^: [" k$ k1 ?

0 d* D# D- |' M% d$ sextern void ufusr( char *param, int *reTCod, int param_len )
- A& I6 Z) U/ m* K" ^8 S$ E7 V{
& \/ s4 t5 w# g) a$ I- e        UF_initialize();2 W9 Z1 C; F: T1 l( O' U' |) {

2 k! a" w- |6 V/ {8 G       
/ I. p* D2 N6 m        char cue[] = "简简单单:请选择单个体";
5 j$ i8 X7 Y' A+ b9 K6 P        char title[] = "简简单单:请选择单个体";
  w! Y) d# B. Z/ r- X! {8 _. c' X+ ^# V        int response=0;3 H0 J( T: k+ _; U* B  X
        tag_t object;
2 I( k# j, s1 _" B0 J  l5 s6 S        int count=0;8 v6 H0 Z7 Q+ |7 s( ]% o5 R
        double cursor[3];
( H, ]$ ?# g3 E; l5 L        tag_t view;
7 W8 H1 A. H  k( m        int i=0;/ D1 o7 d$ T7 o% C) f. N
        double pt[3]={0,0,0};
* [4 Y3 U; {! x  d) L        double z1[3]={0,0,1};( @" q4 ^/ m" ]* e8 Y6 Z) u
        UF_OBJ_translucency_t cyt=0;
* z% q% |8 R( L' @L10:
0 ?1 J# j5 J- L( [7 Z        UF_UI_select_with_single_dialog(cue,title,0,init_proc, NULL,&response,&object,cursor,&view);
- W! S6 H* t, j' U        if(response==UF_UI_BACK)   goto L10;  //如果点后退就跳转到L100 e" \9 c8 N) V7 }0 J- B
        if(response==UF_UI_CANCEL) return;    //如果点取消就退出
4 J2 O' y* s: w& K
5 d4 }" F( e. u. Y        UF_DISP_set_highlight(object,0);      //取消高亮显示
+ t- \1 Z+ `5 `6 }" L        tag_t csys_tag; 9 {  n8 ^) E7 F* n1 z( X! D
        double min_corner [ 3 ] ; - m% M, [, L8 F3 U3 d
        double directions [ 3 ] [ 3 ] ; # ]9 N1 V; b* |7 s+ C  s. o4 W
        double distances [ 3 ] ;
# Y; {7 q% ]: K- R2 N* X9 _1 X        UF_CSYS_ask_wcs(&csys_tag);
5 h  P# ?$ A8 e, b        UF_MODL_ask_bounding_box_exact(object,csys_tag,min_corner,directions,distances);2 F, Y9 J. Y* w

2 j+ c: c. X  z4 H8 `6 C        char mesg_x[256];
3 g* N" _6 `2 d4 q- Q        sprintf(mesg_x,"%f",distances[0]);
0 H  {! m; X0 O1 S$ H, S9 r. u               
) K7 k7 t% o" f1 n0 m' L1 ^        char mesg_y[256];
" l3 F, Q7 H6 H+ P2 K- X        sprintf(mesg_y,"%f",distances[1]);
% I" x  D3 U1 Q7 `5 g" F$ F6 Y# Q7 g2 w3 Q" d
        char mesg_z[256];
. u1 ^7 k  |' H+ ~  ?1 O1 C        sprintf(mesg_z,"%f",distances[2]);
7 g, a7 |) ^( q6 R9 l- U, |0 m       
0 k) g: f0 {. M& c# e( l        char *edge[3] = {mesg_x,mesg_y,mesg_z};4 k( K5 `7 q$ P% T3 w% ?
        tag_t blk_tag;
7 U3 S6 c8 h' F) W4 F        UF_MODL_create_block1(UF_NULLSIGN,min_corner,edge,&blk_tag);% b3 [0 J0 M! ~5 s, W' d8 e
       
6 Q9 h& O( w5 v, H        UF_MODL_ask_feat_body(blk_tag,&blk_tag);+ B  d5 j% t; O3 n) o
        UF_OBJ_set_translucency(blk_tag,100);   //设置透明! c* m9 h& b5 {0 \; T- K
        UF_OBJ_set_line_width(blk_tag,UF_OBJ_WIDTH_5 );        //设置线宽
7 t- ?$ ], C: a& S$ h2 A  b6 o( y        UF_OBJ_set_font(blk_tag,UF_OBJ_FONT_CENTERLINE);        //设置线型
" d$ @* L: n: u5 {* s6 {' }
8 M# t, k- {. c/ i. C  Y/*        uf_list_p_t ll;1 q& Q5 Q5 w; K1 {( J$ R
        UF_MODL_create_list(&ll);% Y: u# n% @! u& B# N
        UF_MODL_ask_body_edges(blk_tag,&ll);6 M* @: {# a8 A! ]4 \
        int ww;
& [) e' Y0 W$ t  O6 s) ]' `        UF_MODL_ask_list_count(ll,&ww);9 [, ]% M# ]6 @, I
                for (int i=0;i<ww;i++)
. P, Y4 Q2 ^0 _2 p0 b4 B5 F5 E! i                {
; _5 ~4 m4 J, J. r  N                        tag_t yy,curve1;        ! q9 A# y2 m% b0 o$ K7 `' Y& D
                        UF_MODL_ask_list_item(ll,i,&yy);1 D8 m; m( X; _( `  N3 o; q( C
                        UF_MODL_create_curve_from_edge(yy,&curve1);        //抽取曲线
  x3 v$ s4 g& W# o                }*/
5 P% W/ M  o9 t' ^5 @. o. L& [                char box[256];
6 v% q; _# q/ a! a& f+ W9 H                sprintf(box,"简简单单:对象尺寸(X-Y-Z):*%.2f X %.2f X %.2f",distances[0],distances[1],distances[2]);" z0 v, J! V  S, \+ V
                uc1601(box,1);& C! T4 r0 d* h, G& L2 g; J) p  A0 {

* h. A9 ^5 f7 P: i; @        goto L10;  //透明之后继续回到选择的状态2 @1 r. O7 e( K
- j& n& }' s' N9 g8 s4 a
        + C; I7 W7 s9 L* ~& }! [
5 a% ~4 _& L) S3 Q* s/ v' E# n' \

6 i$ X' v1 s, p" T9 o: u) F6 b6 ~5 S1 ^" s) d4 f8 M# V( K
        UF_terminate();" R: i8 U& s2 j  ?6 g: @
        return;
& |4 K5 `2 t: G  q; x. K) I) s}9 B- T) Y" e$ V0 R; c4 H- @
" [( E+ L; W4 w3 `" A; S+ ?
# h) n) Y  r& u9 l* F
extern int ufusr_ask_unload()4 n3 z  N4 @. t: ?- k) c% i
{
9 J6 l' ^; ^( H        return UF_UNLOAD_IMMEDIATELY;
6 n9 R; F: O- Y& W# f) q}* u! m5 w/ m" v
5 m- c" g. w: S8 Y
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录制的吗
* r6 y; N/ D0 K: P" L% F8 j" V8 q. v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了