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

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

  [复制链接]

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

8

主题

58

回帖

896

积分

培训VIP会员

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

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

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

x
/*********************************************************/7 a* p, S) ]9 q6 d; q7 j; |/ p
#include <stdio.h>
2 J7 ^' V3 ~# j# V2 u#include <stdlib.h>
5 L0 p& g+ m  u- A+ l#include <uf.h>' L+ w/ U8 T3 m+ e: U4 E
#include <uf_attr.h>. _" [4 `; k" K9 V& Q; s( W9 i
#include <uf_cfi.h>2 K& l1 P  ]' d" ~( U
#include <uf_curve.h>
- M4 z9 k# h9 E% z0 _& f) Q#include <uf_ui.h>
5 h9 s7 w+ ?$ s! U) z6 U1 |#include <uf_modl.h>1 {4 W) ~! r( T4 b7 {9 y) K# y
#include <uf_disp.h>  {% k/ N9 y5 N2 p; C7 r
#include <uf_obj.h>
& v  a8 ?& \: `6 ]+ W, Z. D& b. W7 N#include <uf_csys.h>
  A' t" ?, C6 B  ~# k% J+ U- d" B' v, A

) t& S' T$ z0 V( X/************* unload alloc mem *************************/
3 Q. r* M$ y- [% \  H% {6 ?/* UF_UNLOAD_SEL_DIALOG  _UG_TERMINATE  _IMMEDIATELY  */
/ q( _8 }# I; e% ^
4 u# z2 T$ L3 hstatic int init_proc(UF_UI_selection_p_t select,void* user_data)# N5 E/ I& k3 ]
{
$ f8 p6 K# B4 R  R        int num_triples = 1;   //只选择一种类型7 F3 A; y' ?: W2 }& K: {3 i
        UF_UI_mask_t mask_triples[] = {UF_solid_type,0,0,};' m8 t9 n, e6 G% H
        if((UF_UI_set_sel_mask(select,9 X6 _$ g& d/ v
                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
* C' Q% P' a3 Q" U                num_triples, mask_triples)) == 0)# p2 d8 z8 i3 i+ U3 V
        {
% R7 L' \: c& x) V6 O! ?                return (UF_UI_SEL_SUCCESS);" F  H, V# x" B' ]" z1 a
        }5 E  N* s9 M2 u3 a5 i4 O
        else" T/ }- [4 l6 A; E7 u( J# O
        {( w; r  \6 `6 d8 V" T$ m7 ^( }
                return (UF_UI_SEL_FAILURE);" q1 I/ G5 a* W1 X
        }
2 R: {+ E+ L& I; q}
# O* x& X0 `7 t9 x
3 x  i7 J+ |& W7 \' r' C5 g, d; N2 D: m6 ]
extern void ufusr( char *param, int *reTCod, int param_len )
8 @! R' g: l3 N  H! j% s{
+ X: j% O% y% o9 A* `' w$ L        UF_initialize();) _/ }* ^. M9 |5 X6 u5 C
+ {. b( @9 n, B' r; ~! B$ J+ e) W5 B
        4 I) X5 d$ C: o- y/ B! i2 d$ F
        char cue[] = "简简单单:请选择单个体";8 X" Z) R, l/ r
        char title[] = "简简单单:请选择单个体";
1 A9 U2 G( p* `* @. c2 v        int response=0;$ j" h$ ], ~0 Q# `/ g
        tag_t object;
& p. V0 c7 b3 L: c# N        int count=0;: z* W2 M/ J5 a" \& W: C% u) g8 i
        double cursor[3];
9 h# I: M! Q2 y        tag_t view;
" g# |' ~4 Y/ Q        int i=0;9 Q5 a: O* s7 T- J9 z$ Z" i
        double pt[3]={0,0,0};
: G' G5 b* y% k) Q) T        double z1[3]={0,0,1};
" Q3 e2 Y* S7 X        UF_OBJ_translucency_t cyt=0;
8 z, l( Y5 U8 L; p" {* |6 q3 CL10:/ C9 z0 i4 K5 X0 x3 [+ C8 e
        UF_UI_select_with_single_dialog(cue,title,0,init_proc, NULL,&response,&object,cursor,&view);
: a# V+ `! m6 d* N2 Z        if(response==UF_UI_BACK)   goto L10;  //如果点后退就跳转到L10
; r; N1 V! y5 b) ]- E2 p" _        if(response==UF_UI_CANCEL) return;    //如果点取消就退出
8 D- B8 C% I* b( j) p9 q, e& T# y5 b7 n
        UF_DISP_set_highlight(object,0);      //取消高亮显示
8 m' C' ^" l  A" Z" j% {% _        tag_t csys_tag;
; T* Y/ D" p3 d* i        double min_corner [ 3 ] ;
  y: H$ N8 _' I. }: t  V5 |        double directions [ 3 ] [ 3 ] ; 7 r- l2 x. N; Q& `
        double distances [ 3 ] ;& G  a; k% j0 j3 K
        UF_CSYS_ask_wcs(&csys_tag);
' r$ j- D: K; b6 f        UF_MODL_ask_bounding_box_exact(object,csys_tag,min_corner,directions,distances);
' s% `4 H- n; m. n3 L9 E( n, p8 @9 f
        char mesg_x[256];5 o2 v5 a+ Z) q% R
        sprintf(mesg_x,"%f",distances[0]);
2 ^% r1 T* r! ?                / e6 R  T* A# i/ F; _; ]$ O; `
        char mesg_y[256];
1 }5 s3 i; k: {% r+ p. s: e# Y) s4 x        sprintf(mesg_y,"%f",distances[1]);. Q3 l* R7 [$ H7 L
/ f# p6 T6 M+ x
        char mesg_z[256];
1 O; G% A2 q  |8 }        sprintf(mesg_z,"%f",distances[2]);. [8 p, g* n9 N! R
       
) ^! P6 y: A( m        char *edge[3] = {mesg_x,mesg_y,mesg_z};4 ~3 ]  z" g8 K* V5 T
        tag_t blk_tag;
3 {1 [( h  u" u' z2 M, c        UF_MODL_create_block1(UF_NULLSIGN,min_corner,edge,&blk_tag);, _0 a% l1 a( O0 ?. Y# F
        / l4 y* s& O+ X' ^. S; F" I
        UF_MODL_ask_feat_body(blk_tag,&blk_tag);
  f! }( o; c5 M2 Q        UF_OBJ_set_translucency(blk_tag,100);   //设置透明, W6 v+ ]* i& E& H
        UF_OBJ_set_line_width(blk_tag,UF_OBJ_WIDTH_5 );        //设置线宽: _. w* Q. C& c
        UF_OBJ_set_font(blk_tag,UF_OBJ_FONT_CENTERLINE);        //设置线型
' d0 [7 P! m9 r$ C* _, T% R) i, T, J. z$ S5 a; _9 u3 y
/*        uf_list_p_t ll;
% s/ U! p1 K& ^  {- I        UF_MODL_create_list(&ll);5 f- D/ _4 X. R9 s
        UF_MODL_ask_body_edges(blk_tag,&ll);8 j, t- N  c9 K# ]
        int ww;/ _: }4 q$ G& s
        UF_MODL_ask_list_count(ll,&ww);
9 P& j9 O* g: }6 Q4 g) o; L* o                for (int i=0;i<ww;i++)
: r+ W' {$ N* i1 L. Q. }                {/ L. V5 m6 ]' y& q  s
                        tag_t yy,curve1;       
1 ~8 m. E0 n( g" P                        UF_MODL_ask_list_item(ll,i,&yy);
% Z' k9 ~0 \3 O9 j                        UF_MODL_create_curve_from_edge(yy,&curve1);        //抽取曲线
& T' j2 j; o9 h! w2 _) T                }*/
" y: Q) U$ ]0 p                char box[256];
! i3 k8 `( S& Z  F6 Z                sprintf(box,"简简单单:对象尺寸(X-Y-Z):*%.2f X %.2f X %.2f",distances[0],distances[1],distances[2]);. f5 I8 h4 x9 H# s. t
                uc1601(box,1);0 P5 X% m! \2 X  B6 F' i( o0 I
6 e# j* H+ i" P0 M0 a7 w: Z: ~
        goto L10;  //透明之后继续回到选择的状态6 u# l2 T0 b: b2 U7 X. j

' }8 s# K8 x( x       
3 d2 \( N& P5 b/ O/ M: T5 |( O* B1 k1 X1 X/ R5 F, M

  @$ N/ y4 l6 B% x( X/ s: [1 e2 G, G9 r, A; L, [4 k3 ^* [
        UF_terminate();
+ @8 I0 x6 O- o" n        return;9 R/ n5 m( r9 v/ f9 j+ j( k
}+ O* l' ]8 L9 s# v

; E9 I  R/ ?( [- {. c$ }% S/ @9 c8 s3 u* j
extern int ufusr_ask_unload()
# k3 p) c- z) b) c{# R5 a8 }( b+ ]2 x
        return UF_UNLOAD_IMMEDIATELY;
$ Y0 f1 d! X, @# }}! ?2 Q' r+ d" _% ?2 @( f

0 U( W5 @# z' b5 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.doteam.tech
回复

使用道具 举报

全部回复4

7

主题

9

回帖

228

积分

培训VIP会员

积分
228
发表于 2015-7-29 16:04:22 | 显示全部楼层
请问这个是用JA录制的吗* z; }+ |/ @! o, w! y7 k: J
上海点团信息科技有限公司,承接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
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了