PLM之家PLMHome

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

  [复制链接]

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

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

简简单单 楼主

2014-12-9 09:57:42

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

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

x
/*********************************************************/) p9 |# i4 a  p& C) A0 P/ X3 |2 m
#include <stdio.h>& G. V7 [8 w, m" z9 J' D
#include <stdlib.h>9 V2 ]+ C" q' o2 ]$ _- j+ `, h& m
#include <uf.h>
- w, Y& i- o  j9 _! M! B  m#include <uf_attr.h>
8 x6 x4 F* O2 u; h) Z2 [- j* j#include <uf_cfi.h>
2 \2 n3 g" _9 |$ @8 _! `8 O# l5 [3 ~#include <uf_curve.h>% h+ u* y! ?( _" Q7 j( l
#include <uf_ui.h>/ d: s, P" W; ?7 A( T
#include <uf_modl.h>
# ?* {0 Q/ B% }0 k#include <uf_disp.h>
& V% X$ l2 F/ V. x#include <uf_obj.h>1 I6 h( k$ e1 u5 p: D7 [
#include <uf_csys.h>
( _1 K. \$ X+ x4 Z1 t+ f+ @7 C' }% ~4 o' U, X
+ \. n- {4 @1 L# g8 X. M( T/ g
/************* unload alloc mem *************************/
+ v* E1 P4 n9 e/* UF_UNLOAD_SEL_DIALOG  _UG_TERMINATE  _IMMEDIATELY  */, x) U) m- C7 \( o+ e

9 G  W" ]* W0 w' f0 z% L! X6 Ostatic int init_proc(UF_UI_selection_p_t select,void* user_data)
. I, {' O- z6 A/ F4 M: `& D" M{
8 y9 Y* g# ]5 f. K& ?+ @        int num_triples = 1;   //只选择一种类型
! ^0 u7 n5 Q4 h+ A. w" H3 o7 n        UF_UI_mask_t mask_triples[] = {UF_solid_type,0,0,};8 ~) f5 ~' Q1 Z6 N$ g
        if((UF_UI_set_sel_mask(select,. O/ T2 t1 R5 `2 M% {- w6 F
                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
4 h" O4 w2 W& Q                num_triples, mask_triples)) == 0)
* q% O4 L- W2 A* j( r9 w! {7 }" D: ]+ ?        {
, I, t3 W: \" F; J; X                return (UF_UI_SEL_SUCCESS);
' Z/ R) [6 [* J  ~" a# t+ h        }
6 M4 @7 d( d0 v- J        else
0 U2 B2 I2 I3 e% \9 Q) X' g! M        {5 o6 R/ v6 B7 E! X0 X& Z; g8 n. G& p
                return (UF_UI_SEL_FAILURE);
% Z+ j7 C, K" A" }; x7 z8 X: g        }
4 T+ L- N2 G; H7 v1 T}9 u1 Z3 W+ L1 w1 j# ~

' c* E; a; ]8 ]) J% X3 K- ?4 M7 c3 M- c/ Y
extern void ufusr( char *param, int *reTCod, int param_len ) % @1 O; b0 V) j9 e: C; S" t; S, a- o
{
: B- ~! p+ J$ z5 O        UF_initialize();
1 Y1 X+ W. _2 L: G8 F. `- b  t
  u# G  a4 t" ?       
" Z  h1 g0 s  U" ~  E        char cue[] = "简简单单:请选择单个体";; @% I1 v* V3 I, ]4 U  Y* ]1 l
        char title[] = "简简单单:请选择单个体";
& N  j: z2 S  d7 w        int response=0;
3 {! l- M* y& A7 x        tag_t object;
& I4 w: |! X9 f        int count=0;
1 @4 M( x$ j: i0 w& R; e, P' b/ l        double cursor[3];" i* f' U, t- c6 c4 s. L2 }* X* [
        tag_t view;/ ]. f5 S) K0 O  l& x
        int i=0;
, E, `# e$ ~. ~+ J        double pt[3]={0,0,0};9 Q% \9 R' @+ o; ~4 @9 U
        double z1[3]={0,0,1};
# l- Z6 W! P9 a) c        UF_OBJ_translucency_t cyt=0;5 I; {3 ]9 l' b" ^  q* M
L10:
7 B* H! P- s( E8 H7 X7 M" r        UF_UI_select_with_single_dialog(cue,title,0,init_proc, NULL,&response,&object,cursor,&view);
: P) {' u# T$ N/ z        if(response==UF_UI_BACK)   goto L10;  //如果点后退就跳转到L10% H+ m3 n' i3 g# T/ z& C' Y
        if(response==UF_UI_CANCEL) return;    //如果点取消就退出
6 L  e6 O8 u& M/ W
" Q9 b3 q9 w" {* W# }  l        UF_DISP_set_highlight(object,0);      //取消高亮显示
) F0 Y2 ^9 \' O/ w, C+ F        tag_t csys_tag;
) [# V( ]$ x! z) P        double min_corner [ 3 ] ;
3 @( a0 C1 Y  r! @3 {        double directions [ 3 ] [ 3 ] ;
) H$ Y, ]1 t" x, v' u& e; B6 [        double distances [ 3 ] ;+ f$ R, [  ]; f8 {$ j! J4 S2 ?4 n
        UF_CSYS_ask_wcs(&csys_tag);
& ?9 s, @2 l) m0 L        UF_MODL_ask_bounding_box_exact(object,csys_tag,min_corner,directions,distances);
; k9 ]- E! F  |# H: V! h! m
, c& b/ \8 ~. {! b; R        char mesg_x[256];0 p' E' M+ o+ e+ C. D
        sprintf(mesg_x,"%f",distances[0]);
, {# {: x2 g. W                4 Y; L2 V3 U. B4 r( u$ I& X
        char mesg_y[256];
) H) n& y, V+ a& J3 f4 k        sprintf(mesg_y,"%f",distances[1]);
' K5 q: [. {, ]  }& f, P( F1 L% ?- x) Q. ^$ b; z, x; H3 Z
        char mesg_z[256];0 M6 j7 M: d7 L* G" x6 I
        sprintf(mesg_z,"%f",distances[2]);
; L  b7 |) K& S* J2 a' R       
2 |! A+ X1 _! T7 ]0 R: _( Z; s0 T0 L$ D        char *edge[3] = {mesg_x,mesg_y,mesg_z};% b( X+ c# g4 d6 w/ F- Y5 y7 ^- |
        tag_t blk_tag;4 I% K# [$ W. `, G* `& l
        UF_MODL_create_block1(UF_NULLSIGN,min_corner,edge,&blk_tag);$ T+ C' ~6 i! Z% i5 w! h2 U
       
7 d5 s4 x. h- F- k        UF_MODL_ask_feat_body(blk_tag,&blk_tag);2 E/ R: V2 s0 E( _( F+ f
        UF_OBJ_set_translucency(blk_tag,100);   //设置透明4 t0 F  I7 u0 \: N
        UF_OBJ_set_line_width(blk_tag,UF_OBJ_WIDTH_5 );        //设置线宽' C( M6 _* @2 i9 ?: h. R# F
        UF_OBJ_set_font(blk_tag,UF_OBJ_FONT_CENTERLINE);        //设置线型' ^5 K; T/ j/ y8 i' q8 O
2 |, r1 _1 b9 @6 J- f
/*        uf_list_p_t ll;
1 _9 g$ E4 w3 B5 Y0 O( d/ w& }        UF_MODL_create_list(&ll);
; o2 R. C. O4 ?8 T; n5 o+ y        UF_MODL_ask_body_edges(blk_tag,&ll);
+ o& k# g) i! [: }) u        int ww;6 O* ?! g. d; v
        UF_MODL_ask_list_count(ll,&ww);
6 t( N* I4 U5 O                for (int i=0;i<ww;i++)
7 R0 b4 o5 l7 l* f                {
/ \2 H& G" ^  v& Y, f2 N3 }                        tag_t yy,curve1;        , r% C/ c% {8 L# [9 B1 Y( l
                        UF_MODL_ask_list_item(ll,i,&yy);8 ^; {2 {2 k3 M9 w7 {' ^
                        UF_MODL_create_curve_from_edge(yy,&curve1);        //抽取曲线: P8 ?7 D( A9 n* Y, K. m
                }*/
' _$ H$ K0 a6 V                char box[256];6 [* ^# t4 A7 x1 P
                sprintf(box,"简简单单:对象尺寸(X-Y-Z):*%.2f X %.2f X %.2f",distances[0],distances[1],distances[2]);
" m. I  X1 ]& i3 n7 V4 e! p                uc1601(box,1);
5 v" p5 P) H7 {; t5 ?" V% w
/ }# W6 S8 [4 Y. [; |1 E        goto L10;  //透明之后继续回到选择的状态% H: N3 J) U$ S/ {
5 S: F. s% H  I" C! Y; G" o, X2 O
        # i; `8 H' C0 }: K( d

5 E. a3 p$ ~2 h) F  }; k7 X# r3 {

% m9 O5 Q2 W. I        UF_terminate();
2 X4 T# o1 {' E0 g4 G0 Z        return;. r! J  Q* ?- f" M0 g8 u0 @
}
* {  V1 x/ T* z8 g7 j; V0 A# D* H8 \  o. q$ y
3 G1 }. X& M$ m8 y
extern int ufusr_ask_unload()& x9 \2 m) s: y: \" v& {5 I
{% Q7 k) i' _, s
        return UF_UNLOAD_IMMEDIATELY;  ^( Y) D0 G- K- q; t
}
' x( D' O3 U# ?' f8 m) H" v
  S' U. q( L% U. ~: X, d* ?- 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.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复4

秋爱 发表于 2015-7-29 16:04:22

秋爱 地板

2015-7-29 16:04:22

请问这个是用JA录制的吗
1 _6 `2 @4 r- r% g* F
上海点团信息科技有限公司,承接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
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

:
PLM之家培训VIP会员
:
645861751@qq.com
:
未填写
:
未填写
:
未填写

主题8

帖子66

积分892

图文推荐

  • Tecnomatix 二次开发入门教程 6 实现打开PL

    Tecnomatix 二次开发入门教程 6 实现打开PLM之家

  • 官方文档,NX12 使用 Python进行二次开发相

    官方文档,NX12 使用 Python进行二次开发相关配

  • Tecnomatix 二次开发入门教程 4 设置图标

    Tecnomatix 二次开发入门教程 4 设置图标效果如

  • Teamcenter12.0 汽车解决方案TcAE 入门教程

    Teamcenter12.0 汽车解决方案TcAE 入门教程 *

  • Tecnomatix 二次开发入门教程 5 创建Tecnom

    Tecnomatix 二次开发入门教程 5 创建Tecnomatix

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    PLM之家(plmhome.com)提供专业的实施-开发-培训

    扫码关注,海量教程免费学习,不断更新!

    关注plm之家plmhome公众号

    哥已知晓