PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

  [复制链接]

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

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

简简单单 楼主

2014-12-9 09:57:42

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

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

x
/*********************************************************/
/ b* n# i& R6 c6 j#include <stdio.h>5 e# s2 x# _/ G( X( }# e
#include <stdlib.h>2 D6 t! p9 J. F3 a1 H7 u- D$ j
#include <uf.h>
" E7 w3 A  e. j- a8 h  w) a9 E#include <uf_attr.h>' K! q, F0 J4 r# G* |5 H$ `
#include <uf_cfi.h>6 t9 m. g5 G! z& a1 ~3 F7 D
#include <uf_curve.h>
# \9 v2 t2 r4 \6 R. r8 R#include <uf_ui.h>0 f; H! ?. k, P0 k- ?
#include <uf_modl.h>" Q  c6 ?' ?, w; i! _* X
#include <uf_disp.h>
1 `/ H" w7 y9 j7 q' ?9 H& k#include <uf_obj.h>
! |4 v' L) q; q- Z+ o#include <uf_csys.h>
* H; O1 z7 Q9 ?9 }7 q
& A0 r/ U/ A: U3 y3 M  n
! ?$ `9 l1 K; R# W  F6 ?+ E/************* unload alloc mem *************************/
) \( G3 `1 |1 f8 Z4 q8 C5 F$ f/* UF_UNLOAD_SEL_DIALOG  _UG_TERMINATE  _IMMEDIATELY  */
# b& X  T8 ]( P
8 d9 u# c7 Z( Q& Y- Z: V1 R7 tstatic int init_proc(UF_UI_selection_p_t select,void* user_data)( N: u0 ~: V3 R3 |: ?5 J" c
{" G* S6 Z9 _% E. z0 X2 R0 j( a
        int num_triples = 1;   //只选择一种类型
- J5 v! j) z1 ^8 y        UF_UI_mask_t mask_triples[] = {UF_solid_type,0,0,};
* A& A; X! v4 B        if((UF_UI_set_sel_mask(select,6 z3 H. V5 c8 b% M: T  {5 C1 n
                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
* {) p7 B3 ]5 Q: I                num_triples, mask_triples)) == 0)
9 w: }. d* k2 F( l3 j* m        {
) t- G8 `, V2 S& F8 t' L) F9 _" n                return (UF_UI_SEL_SUCCESS);
5 g4 J0 h5 Q" ^( K        }2 \- k& y! m' Y- L$ v
        else* ~. R) F8 U( b) _7 ~6 V+ G
        {
  @" o$ z5 S' |5 _8 c                return (UF_UI_SEL_FAILURE);
  @+ ]4 x, I. X2 c        }
. x! u+ i" m2 ?9 I$ a" _+ h+ `}
  B8 z- P3 v( W; d! J9 R" J; V% i* L$ R

) v" r4 f9 ]4 f" s, Y5 iextern void ufusr( char *param, int *reTCod, int param_len ) 5 e+ g% \, z1 s1 g3 P6 j
{
1 t/ [7 n7 H) }) _* t        UF_initialize();
' l  Y, W8 L0 _* Y
% j' D& @' r! W) q9 @# M        ) Y3 h# D& w! b, X7 e
        char cue[] = "简简单单:请选择单个体";4 l/ ]/ V# v4 T8 e* |
        char title[] = "简简单单:请选择单个体";. r; F! d0 G  ~' }$ v$ o. A) G
        int response=0;# W: ]0 B0 M* _6 [: j& O
        tag_t object;
) D, Q" _" D% k/ R6 l        int count=0;- d) {5 P* {9 Z3 A: U! i
        double cursor[3];
% V% {2 l5 `5 C- j        tag_t view;
9 Y& q0 e% v5 B: z' n; L5 X        int i=0;
% v! @4 B1 e4 {* Y- f1 [        double pt[3]={0,0,0};0 a" q9 z, W0 h5 k9 P$ t2 U
        double z1[3]={0,0,1};, L8 T+ X$ N: C
        UF_OBJ_translucency_t cyt=0;
4 x  d# C. d$ h1 \L10:  ?1 s4 v% b7 D
        UF_UI_select_with_single_dialog(cue,title,0,init_proc, NULL,&response,&object,cursor,&view);
3 p3 y5 M  M9 c2 W4 A  d        if(response==UF_UI_BACK)   goto L10;  //如果点后退就跳转到L10' o9 W! k$ b; H3 W, S
        if(response==UF_UI_CANCEL) return;    //如果点取消就退出
! j/ z- V' N; Z( W% n, n8 r0 z. z: m/ t' _7 S
        UF_DISP_set_highlight(object,0);      //取消高亮显示
+ ~  Z1 @7 V( d/ G& B( Y8 Y        tag_t csys_tag;
! _* X5 g6 ?- F+ E2 B, b, ?1 c2 N; i        double min_corner [ 3 ] ; ! E; y: @- A  l4 |' r! k: y
        double directions [ 3 ] [ 3 ] ; 1 g1 O# H, D- D0 Z: O' ]
        double distances [ 3 ] ;1 w% B& @9 Z8 \* v# X
        UF_CSYS_ask_wcs(&csys_tag);
: u' X( I4 G3 w1 P        UF_MODL_ask_bounding_box_exact(object,csys_tag,min_corner,directions,distances);7 q  A' B3 g, M/ r7 o  c1 ~

2 C+ i0 t1 @+ P2 P. i! M        char mesg_x[256];6 S* Q% W0 Q( z2 B+ z
        sprintf(mesg_x,"%f",distances[0]);) _1 x6 R1 P# _! W# n* D, X5 W1 v
                ; r, W4 y! q9 F+ @
        char mesg_y[256];' u. d, M, S$ O% K9 C
        sprintf(mesg_y,"%f",distances[1]);
. l. T( {7 O" W8 w
$ [$ ~; N2 I6 _, @9 N  K7 t2 L        char mesg_z[256];1 B) L- g2 Y. @2 d2 S8 p
        sprintf(mesg_z,"%f",distances[2]);
  @0 |; o! Q2 J       
" g" m: }( _3 a1 @0 A: K4 ^        char *edge[3] = {mesg_x,mesg_y,mesg_z};3 `& t/ Q/ Z9 f) _
        tag_t blk_tag;
. o- F' ]5 D$ ^" K% s1 a        UF_MODL_create_block1(UF_NULLSIGN,min_corner,edge,&blk_tag);. W- j( l5 Z; e
       
$ h( F1 B/ E3 _; t' t( T        UF_MODL_ask_feat_body(blk_tag,&blk_tag);- Y' G. _! j2 y" ?
        UF_OBJ_set_translucency(blk_tag,100);   //设置透明
  W0 N0 [" e5 I7 ]        UF_OBJ_set_line_width(blk_tag,UF_OBJ_WIDTH_5 );        //设置线宽
5 }$ j7 q* E/ P* e        UF_OBJ_set_font(blk_tag,UF_OBJ_FONT_CENTERLINE);        //设置线型
* h; u' n. z4 r/ u2 m) T
! c/ G% k' m, ?0 ^5 t/*        uf_list_p_t ll;
; o6 r' e3 ]. G& Q8 w6 H! q" O        UF_MODL_create_list(&ll);( R) h* m% J! q; ?
        UF_MODL_ask_body_edges(blk_tag,&ll);( H; ~' Q9 m9 i2 d/ P1 h6 ^, f
        int ww;
+ K% E$ `9 d6 J; }) d        UF_MODL_ask_list_count(ll,&ww);6 O( x" `' O3 z* z$ t# y7 ~( r
                for (int i=0;i<ww;i++)+ H+ f" N! `) N: D6 c
                {
, v* j0 Y8 U% [3 J+ g2 f1 [                        tag_t yy,curve1;       
: H) P+ b8 I+ ?  K( K! c0 U% Q1 w                        UF_MODL_ask_list_item(ll,i,&yy);# h2 y; n! Q+ [) q
                        UF_MODL_create_curve_from_edge(yy,&curve1);        //抽取曲线
  l3 Y* ?" L/ x                }*/+ P7 B' P6 y9 ^7 }+ c: B. F
                char box[256];
' z* r7 R0 Y: ]4 ?: [                sprintf(box,"简简单单:对象尺寸(X-Y-Z):*%.2f X %.2f X %.2f",distances[0],distances[1],distances[2]);
, ?6 k$ A  |* ]2 t( ?                uc1601(box,1);3 t  D7 s6 C6 [3 a8 H6 K
5 y. _' v/ v  Q, e1 Z; ^# `
        goto L10;  //透明之后继续回到选择的状态
! D% o/ ~) x& v& N1 b: q
( D6 o! D+ F" H6 P       
$ H. p# I! i7 v# i, P5 R+ {  U; {  m8 O$ H) a$ M6 U! I  s

9 }$ q6 Y4 v8 S& v! [( q, E+ W: ~
        UF_terminate();# ~5 h8 a5 y  h7 K
        return;9 ~- }* U1 q! E) x* P6 [6 Q
}0 C+ L% U8 K; s: J

) Z9 y: C' G4 \$ [& R! A9 q" z) B  t- O5 B" e8 Z
extern int ufusr_ask_unload()/ u: T" v$ M( T4 K8 E9 J* c
{: w- d2 f. q  g
        return UF_UNLOAD_IMMEDIATELY;
# \0 A+ [' t" I}
! t3 W, Y( t; w+ J3 i+ U% d. P8 n% P4 p# h
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录制的吗
4 {$ @5 e6 [( ?' Z. s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了