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

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

  [复制链接]

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

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

简简单单 楼主

2014-12-9 09:57:42

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

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

x
/*********************************************************/' R$ y! X2 X4 f4 O* i
#include <stdio.h>2 r+ ]6 G( J  D. z: H$ S
#include <stdlib.h>! L! p6 N6 O+ L7 U/ B" C$ I' v
#include <uf.h>
2 \# a: `6 L, o1 B8 ]; t0 [#include <uf_attr.h>1 C6 L! m+ r6 W  p# b2 X% j' r
#include <uf_cfi.h>+ J! b6 u& |" j7 D
#include <uf_curve.h>0 C; U% x3 N% g! P- {0 v
#include <uf_ui.h># {6 R; w, S% o& {( q1 i5 D7 E
#include <uf_modl.h>
: v" c: a' T7 n#include <uf_disp.h>
3 z% q) T# r: g6 O' R8 T#include <uf_obj.h>1 i+ U5 }" ?! t6 N( i. c- q
#include <uf_csys.h>7 r& K6 \% b8 W0 B  Y/ B

* R9 w/ I9 i# o( {/ n" e( o* Q! K) y5 q5 y1 n
/************* unload alloc mem *************************/
' Y. j" p: M5 w( K0 U/* UF_UNLOAD_SEL_DIALOG  _UG_TERMINATE  _IMMEDIATELY  */
$ j( y9 j  E! x& B' L. f5 i3 g( X/ u: ^  U) f+ Y; V3 b* ?
static int init_proc(UF_UI_selection_p_t select,void* user_data)' V3 D+ A1 [+ Z+ s. H: f4 {0 H
{# N. b2 `6 w7 w
        int num_triples = 1;   //只选择一种类型" H" S0 v1 k' ?  s$ d
        UF_UI_mask_t mask_triples[] = {UF_solid_type,0,0,};7 S. y; \: {; t. G
        if((UF_UI_set_sel_mask(select,
. H9 l; @; k+ |7 L                UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,7 h/ }. K3 Y  q3 w2 \0 l
                num_triples, mask_triples)) == 0)
7 h7 b* S5 c9 V: V$ b        {$ p: M; V( j0 j7 _  s( n' V
                return (UF_UI_SEL_SUCCESS);# I  G0 {1 s; D) R! I+ Z
        }% r/ S# Q5 K" a' ~9 P% _7 e( Z
        else0 i: r+ H3 z+ A) K/ ?4 m
        {
' K" D+ ~; D' ^) W' z                return (UF_UI_SEL_FAILURE);4 D6 D; n3 m0 |1 D5 |+ t% }1 }
        }
: ?4 W  ?% n6 {. U% U}
4 y/ Y4 ?: ]& N' ?: D, ?9 H; y( V: y" L! T. w* e: P

, `) z& i* {; t% P. cextern void ufusr( char *param, int *reTCod, int param_len )
/ E. Y5 B  I$ n1 w3 q+ K' X% E{
8 r* V9 Z: a! n% d( [- M( U- v6 i) ^; j        UF_initialize();$ d3 \0 z; k6 y' f# w
8 c2 d) M* i( @3 P- ~
       
* `( |8 L( j, m9 J        char cue[] = "简简单单:请选择单个体";
# P, N- b5 o9 m8 E- j; T! a$ }        char title[] = "简简单单:请选择单个体";
! y: T  |9 a3 y2 e1 S5 V        int response=0;: @) ~5 f5 J6 m1 k( I/ A' @( \
        tag_t object;
4 g2 |  l7 B/ t7 P        int count=0;5 x0 U# i2 S. U) A, m6 A  k9 N
        double cursor[3];; U. B( R, i; d
        tag_t view;. G3 P5 `) @; I0 d6 }! D
        int i=0;  `1 T( ^  S2 ]/ s  _4 Q: p
        double pt[3]={0,0,0};0 `. [, {& K% z$ X
        double z1[3]={0,0,1};: {( D, u, F& {, I7 h/ r1 _
        UF_OBJ_translucency_t cyt=0;% C' M8 I" W+ j2 R) {
L10:
; Z+ Y- ^8 G. {* T        UF_UI_select_with_single_dialog(cue,title,0,init_proc, NULL,&response,&object,cursor,&view);
/ L9 u! Y6 x/ K+ l. J! e$ p        if(response==UF_UI_BACK)   goto L10;  //如果点后退就跳转到L10
% ]5 e# m$ n5 F2 j' `. _0 V  d: k+ J        if(response==UF_UI_CANCEL) return;    //如果点取消就退出2 a8 K( [/ X7 u. C" ~, v# B

+ `& G3 \% Y1 ?% z) ]/ z4 f" k        UF_DISP_set_highlight(object,0);      //取消高亮显示+ Y2 l. G$ O7 `3 R
        tag_t csys_tag;
) e! M0 C4 v* D3 U( @% v, p        double min_corner [ 3 ] ; ; h8 k" t2 L2 H& d5 g# A8 T# r
        double directions [ 3 ] [ 3 ] ; 5 [* P$ t. W3 H& ^" F
        double distances [ 3 ] ;; d* U2 P# ~0 H) K& _7 X
        UF_CSYS_ask_wcs(&csys_tag);- s0 @$ B% R1 p- ~' \( n* T# K2 O
        UF_MODL_ask_bounding_box_exact(object,csys_tag,min_corner,directions,distances);
2 I- D4 |) E" D0 k
; w0 t$ w9 I- Y9 ?        char mesg_x[256];
2 a0 M! v, M1 B  _/ u: a0 [        sprintf(mesg_x,"%f",distances[0]);
7 m, F" l$ m- z# \; W                - ]& L. h' E) \  ^' B
        char mesg_y[256];
! v! \3 M+ D( T7 y, }: l4 Z, E        sprintf(mesg_y,"%f",distances[1]);' r: A" g/ a/ W. F

/ e/ g# o" o* c; Q6 @" g9 r        char mesg_z[256];4 m* \+ y1 l2 o' |+ V$ c3 X
        sprintf(mesg_z,"%f",distances[2]);
# Y3 ?$ y* C0 `. P       
9 A/ \. t& P- m" g5 p        char *edge[3] = {mesg_x,mesg_y,mesg_z};$ }. H: N0 z" N( n: u. f; N4 K  ]
        tag_t blk_tag;
2 j7 Y6 k  Q. u6 u4 h1 P        UF_MODL_create_block1(UF_NULLSIGN,min_corner,edge,&blk_tag);
1 q# \) M5 Y' n: C. R        * `8 n0 F+ e! t5 r& L, ^
        UF_MODL_ask_feat_body(blk_tag,&blk_tag);
5 u- \! V7 @( n( s1 m0 }; v        UF_OBJ_set_translucency(blk_tag,100);   //设置透明7 h; |. q- j. U7 z/ c) _3 p- J/ K& ?
        UF_OBJ_set_line_width(blk_tag,UF_OBJ_WIDTH_5 );        //设置线宽- E/ f& V8 v! J0 @/ X
        UF_OBJ_set_font(blk_tag,UF_OBJ_FONT_CENTERLINE);        //设置线型
" t5 ~& m; D7 F$ i8 @& q: Q# T+ @+ R
; s; b; ^; u7 p) N, f9 Y. \8 X/*        uf_list_p_t ll;
% Q5 a  _. q. L8 \3 ?; A/ m2 J) g8 s) c        UF_MODL_create_list(&ll);9 u& G6 }4 ^& g4 t- k6 C: `- j2 Q
        UF_MODL_ask_body_edges(blk_tag,&ll);
4 i. U# A+ K5 H, }4 e        int ww;
. m# ^( f3 P$ G, C6 `- o) P        UF_MODL_ask_list_count(ll,&ww);* b. c( c& j+ P( d) h
                for (int i=0;i<ww;i++)
- n3 q2 s- ?! n* t- f                {9 \+ b) n1 {/ V6 s) Z
                        tag_t yy,curve1;       
; `% l8 M6 @3 R+ w! E; X                        UF_MODL_ask_list_item(ll,i,&yy);( L5 L7 x/ T6 W* L* b
                        UF_MODL_create_curve_from_edge(yy,&curve1);        //抽取曲线0 X; A. Q- v) ?% A
                }*/% O: D, m6 r4 c. z
                char box[256];. P# O7 q7 j: m- l9 d; ~
                sprintf(box,"简简单单:对象尺寸(X-Y-Z):*%.2f X %.2f X %.2f",distances[0],distances[1],distances[2]);
& {: F7 o+ J/ ]. B                uc1601(box,1);5 g/ @. ]: Y& u1 N  r

; t! }2 {! d! w        goto L10;  //透明之后继续回到选择的状态- Y+ `. n: G2 [8 w" e; L( J

9 @# q  [, ]$ E) ~% Y3 l3 e  g        / x; z* I2 x- F  R( ?

; U0 ?5 {0 ~) L
: V- K% u, h" R/ [
9 J$ K9 n/ s4 [& R! ]. v        UF_terminate();
) y' [9 e8 |% r, K6 X0 C* \# H        return;. f; L' n1 q7 L9 o) i1 V
}. @+ C. _1 I. B( R9 {

6 P) m: u7 @- p/ N8 F. a5 Z, d) a# d2 O# `* J7 d
extern int ufusr_ask_unload()
& M! {# ~( a, Y& G: T/ U{
1 E& V5 O- j3 ~& X( ?4 U! j7 f% L        return UF_UNLOAD_IMMEDIATELY;
7 y# s3 s# U9 `& u, q$ [0 R}- _+ G6 ^) l5 g- E! {. }8 ~

% }: b' g5 c# \  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录制的吗
4 i* Z, C! k: X3 {2 h0 h
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了