PLM之家PLMHome-工业软件与AI结合践行者

[二次开发源码] NX二次开发中,其他一些有用函数的使用大全

  [复制链接]

2017-3-2 13:15:39 5175 1

admin 发表于 2015-3-2 10:31:39 |阅读模式

admin 楼主

2015-3-2 10:31:39

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

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

x
" e) W  `; y; X: j
7,裁剪片体6 }" y1 l. J6 E/ n
tag_t  *trim_objects;
4 k" |& {% T. l- \$ a: d9 ntrim_objects =new tag_t[count];
% y- Z5 a* g) g9 A  r9 U( t; @7 |trim_objects =bound_id;  J: n+ W+ {  y" v
voidtrim_sheet()! c( a4 z6 [# t1 W6 [' G
{
3 |3 T0 X+ z0 A# ]4 p( i
( s' F/ I1 ~+ e; c( P5 Y/ l      UF_MODL_vector_t projection_method ;" t- U9 E( [" Z' x
      projection_method.reverse_vector=0;$ `4 u' d, k* [, P( _8 X5 ?6 c' |
      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;/ M# v" {8 K; W+ `  ~# O3 k
      UF_MODL_vector_defined_by_union_tdir1;0 o8 r! W. d/ x
      UF_MODL_vector_direction_t dir2;
9 K, J( N7 D' V" h" T5 }! F      dir2.xyz [0]=dir[0];
( O% z$ ^- ~' L% q! p8 X      dir2.xyz [1]=dir[1];
5 n; j' K! P% K+ `- Z# n+ e7 c      dir2.xyz [2]=dir[2];9 t# K0 s/ @$ V3 X8 Y' u' m
      dir1.direction=dir2;
$ Y$ i' ?  E& [% J4 G5 Q
8 i% r- P1 W0 z. U: m      projection_method.defined_by=dir1;6 P6 d0 T! i, x# Z  D

, D/ g; b0 z+ d) s( k      double point_coords[3] ;; A% B( n4 r: T/ q8 L3 z8 y4 r
5 ~$ R5 r. Z! s/ K7 o2 i
      point_coords[0]=center[0];
2 n& @9 h: J. r$ b/ d8 e" D3 Q      point_coords[1]=center[1];$ q( f! ~1 `" z
      point_coords[2]=center[2];% Y) b! a: ^8 b& E$ e; r
# s0 U  C1 m: V( G5 e. t  x3 ]  W
      int gap_point_count ;3 y8 x2 l/ [4 o) y, d3 {1 F
      double *gap_points;& O9 ]/ C! @8 _# p2 f
      tag_t feature_obj_eid;* q! L) R8 @" D5 S, V& z
      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,
6 C1 C( T: F  c# u7 Z2 d+ R                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);
+ ?) k3 J4 v& u# z$ M% }0 w1 E1 N
! ^3 K% Z- T$ D1 q}
6 |# }; }: b, ], Z/ R, }' G8,offset偏移6 [) B/ W4 Y, P: U% s( M2 _
& V' F1 P7 n9 k( n  y
char   distance_str[] = {"10.0"};//偏移的距离
5 t5 R. h" g5 _) u( K: c9 Y
- B9 H& U- a8 ]4 _3 `int  num_curves;
! t( n- |' @' @1 F7 ]  ftag_t *offset_curves;0 i, O3 V/ N" w% @- b: k3 B
UF_CURVE_offset_distance_data_t  offset_distance;
4 H0 |8 V, g0 Y# X' Moffset_distance.distance= distance_str;
: O- W3 o+ d5 K: \- _0 woffset_distance.roUGh_type=1;# G' r7 x, R  Y+ {2 k" F
UF_STRING_t   input_string;( f9 }" R4 d5 j9 [* e' {
input_string.id=curve_id;//加入想要偏移的线
$ d6 |8 [$ y) u* e6 d: v' g  G; Qinput_string.num=1; //偏移矢量方向数量+ k! T$ O3 K- ^& m% _
input_string.string=&string_count;//偏移线的数量, u# g2 w" q; t) V, C  x8 k
intstring_dir=UF_MODL_CURVE_START_FROM_END;) g1 w! `5 ]0 x% M( w( X3 y2 J( M
input_string.dir=&string_dir;
1 z5 ^3 S8 S, j: ?, X) u5 e5 H6 ~8 z9 F' m
UF_CURVE_offset_data_toffset_data;
6 T3 [0 f# w# c( A* `" [2 x# E7 O9 i4 g2 A! A$ I
offset_data.offset_def.distance_type1= &offset_distance;* ]. K- }& V/ H5 u- ~$ L
offset_data.input_curves= &input_string;
/ O/ v7 m( @# U% \5 Qoffset_data.approximation_tolerance= 0.01;5 v: ~7 d0 M6 Z+ u0 O* E
offset_data.string_tolerance=0.001;
  r! H% x3 T5 t: ioffset_data.offset_def.distance_type1= &offset_distance;
, a; G) o) O1 @2 i: u! I$ E4 Soffset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;
0 K3 w& Z% w/ R- z+ YUF_CALL(UF_CURVE_create_offset_curve(&offset_data,- W/ R6 s" H! V* d: |  s
&num_curves,&offset_curves));& k& m7 y+ R6 M  m. b& h% o; n
9,创建平面
# i& A1 `& o" N; K. f4 EUF_STRING_tgenerator;
) I3 ^0 W4 G) p* ]4 m/ v( I  fUF_STRING_p_tge = &generator;
6 S4 @. \: U6 B: \7 a" t3 w
4 o; {3 |: V- d0 |; TUF_MODL_init_string_list(ge);. n; J* s; N0 W6 m
UF_MODL_create_string_list(1,12,ge);
9 F1 W: w- H9 Y1 A3 x3 G# [! ]; N9 X  N( l- N# J9 a. s
ge->string[0]= 1;
8 |6 \+ g% c$ v. o0 Vge->dir[0]= 1;//指定线从开始到结束" R8 d* H2 s* r% i
ge->id[0]= arc_id;//指定边界的id
+ S9 D  ?( s# W* Vdoubletol[3];* `* ]$ {6 d* p1 Y6 Z  B9 ]; [) V
tol[0] =.001;//直线公差! h! C; Z/ U5 \1 C( z9 o
tol[1] = .5* (PI/180);//圆弧公差
) b4 z4 |! t$ F8 |6 N0 x: @7 w- A5 P. Ltol[2] =.02;//不起作用! e1 N& x' K0 ^% Z: Y5 G8 L
UF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));0 z* G6 c5 P* V3 X0 }! I) y
10,选择8 C- p( x% ^0 e' r
1),点选择
7 W- m* F9 t( D  T# p' utag_t point_tag;+ j1 \: a9 ^. I  H0 G
double point[3];
  {2 H' G8 O5 p2 f- v2 O8 ]. s$ P# P       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  
: _6 ~9 h: e5 }  A5 g3 }. ^4 O       intpoint_res;8 d( }1 I% t% U; C! X& \$ a

  l% {6 r! u+ y" `# WUF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,) G& d% I7 T$ k, @
point,&point_res));6 ^, y9 Y8 Z0 {4 k0 D% P8 e6 `1 }+ g# D
if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)
: T0 Z  b, S. n" H$ m{. s/ L9 b2 V" o
}
3 z/ V0 H2 |; ?# d. P2),向量选择. }. O; ~. X: O3 F$ n' Q
     int  mode = UF_UI_INFERRED ;4 A1 u) p4 d2 K$ m
     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;
: y/ D* M' u  z0 xdouble vec[3];
: _+ C- X# _2 D( o# `9 Mdouble vec_pnt[3];
/ @: e, ]7 D7 Y' i: e6 Eint res_vec = 0;
+ N% x) k; U2 H% l5 D     UF_initialize();  ! P& S$ R1 Z% z0 O: s! ?
     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,- b) E3 F, `$ s9 R
           vec,vec_pnt,&res_vec);# U) Q( _. l+ c8 t: @
     if( ifail != 0 || res_vec!= UF_UI_OK )   
% D7 i7 G" G6 h9 p+ N     {     
" e  T. s, Z. C5 J, @3 H1 a: j* n           UF_UI_ONT_refresh();
- Q. C5 s- w: `9 w           printf("No vector selected \n" );
/ `- x3 f5 W1 i$ Z     }
4 t- y& h* g! X0 b( \     else
7 {2 b5 {  T' ]3 E1 T     {$ `" L! R( ?* ~5 ~2 g! B! v6 Y( j' A; c
           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",
' i( J8 s- {- H1 U1 T/ \1 F& ]& c                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );
% j4 W  G. {, Q: z0 V- `}
2 M9 K1 c! p% V5 z3),平面选择
* P8 C- ~, i) X1 h5 Y$ L. Y( Btag_t plane_eid=NULL_TAG;
3 S6 d/ I: k/ m" j9 J  e( edouble orientation[9] ={0,0,0,0,0,0,0,0,0};) g; c) |/ Z3 o3 T- i
   double origin[3] = {0,0,0};
* A9 `% E5 r$ F8 p' y. V   double pts[6] = {0,0,0,0,0,0};
  q$ m+ o* Q+ I: i( ^# X   int i, error_code = 0;
1 ?# s5 G* v6 r" g, V' K% `" Q% V   int mode, display, response;
; E* g/ H& w9 \( a   mode = 1;                    $ A! o7 ]4 e" K! T
display = 0;      , _/ g9 p( X, s* A: P2 H- i
UF_initialize();
7 y: ]: `  S4 G   error_code = UF_UI_specify_plane(
. r2 J" P3 [( G' {, \         "Select Plane", &mode, display,
/ g& E4 O' n, r# u) D         &response, orientation, origin,&plane_eid);
- l% }' O+ ]% ~% I" W  o
0 Z+ c; {# f: Q  ]( O/ f   if ( !error_code && response != 1&& response != 2)$ C! w% U# I2 h" u9 K. i
   {$ n+ {' T: Q, J; L; T  E
                     for (i=0; i<3; i++)+ H  F4 y- z0 J' f' f# H
               pts = origin + orientation;
9 [1 R/ q" k2 \' e3 u. d* F                     for (i=3; i<6; i++)
& e% M5 t. \% Y, V6 ]0 |               pts = origin[i-3] + orientation;+ w0 C  o% ?# \. m
         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);
- ?& L1 i% R: i$ i   }: S8 u' U* a8 Z' w& B
11,临时点,线
. s  n" s1 R1 ?$ p0 w' ]void display_temporary_point_line (double point1[3], double point2[3])
$ z. U+ D* U/ `: l4 O0 M& _. q{) u0 B! G, q8 o; c
  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;; j) R- R! \9 G& G
  UF_OBJ_disp_props_TColor;
& h" L% g; U4 A: z  color.layer= 201;! v: c1 D$ f, b  T, D
  color.color= 186;
( Q0 V. s% e3 B- e: p6 ]9 N' X: P  color.blank_status= UF_OBJ_NOT_BLANKED;
" d+ X1 F3 K* X* ~7 l  color.line_width= UF_OBJ_WIDTH_NORMAL;
2 K! q& x( S% @4 u  color.font=0;
) j% l4 K3 I8 p2 a/ A1 D! S  color.highlight_status= FALSE;
' d4 D' c$ M$ U; n  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;3 f4 M% ^3 E* t
2 J8 T7 O" u1 E" z# M' o, ?# Y
UF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);( H; _4 {+ x0 S" {$ S0 Y
UF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);8 ?& a& k! c3 @( W  v
UF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);
2 \) f5 R! p6 r. ]2 d0 \}
% H( E$ d' Y) l! c! |* H5 R/ K- Z12,WCS与绝对坐标转换9 A1 n: P, E! r( J
                        voidcycs_wcs(double point[])0 C4 p) y) R/ {  \- [1 B
{5 g7 E+ ~1 G; z8 f( [, K. L& a
      tag_t  wcs_id,matrix_id;4 P9 l3 O' k5 C9 p
      double matrix[ 9 ];
# V: c2 g1 b$ W1 I8 S2 s      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量5 `1 J9 p1 N8 @* @
      double wcs_origin [3],vec[3][3],point_origin[3];$ F7 X5 U" r5 i4 p8 Q7 v
      //1,得到工作坐标系0 \- V% ]8 m/ P- @
      UF_CSYS_ask_wcs(&wcs_id);( b8 T0 G9 m- ~) n6 }( d7 y1 [
      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    
8 v. w* Y  r1 Z. e9 D      UF_CSYS_ask_matrix_values(matrix_id,matrix);
$ Z% ?, i* C8 \( m+ }6 }
% M: g- G% J! X) {6 a      //2,得到工作坐标系轴向量
2 u- b! q/ v' R5 E$ A/ P8 u      UF_MTX3_x_vec (matrix,vec[0]);
+ `8 @4 t  o; _, n! O      UF_MTX3_y_vec (matrix,vec[1]);, L/ Q- U! @/ S, l2 ~; j! \5 h
      UF_MTX3_z_vec (matrix,vec[2]);
3 p$ o2 O' q/ v  T
) h# o6 `' R1 u+ w! U      for(int i=0;i<3;i++)
0 i6 K0 p2 W% r: }2 c) d& e; ]      {     $ B! V# b" D! A, h8 _7 B
            double tol;! B' R$ [% r9 k) `! H
//3,得到点到工作坐标系原点矢量+ \! H4 R4 A" ?  V- f) q: f) S& U
            UF_VEC3_unitize(vec,0.000001,&tol,vec);
9 `) x8 J; o2 z) P! }//4,得到点到工作坐标系原点矢量3 L; C4 T8 k" R' Q4 j. i8 r
            point_origin=point-wcs_origin;) E+ C: _0 [! {7 d+ w% V
      }
6 y4 o. b  G6 \$ Z      for(int j=0;j<3;j++)
5 T$ z+ ~5 x5 R      {
8 s7 p+ s4 `" J3 ]- x            UF_VEC3_dot(point_origin,vec[j],&point[j]);: }% ~2 {6 d2 I- ?# A) y
      }8 w& }! G$ K9 f
}8 Q+ _  B% t2 C
13,三点求圆心
4 b8 P* G' O! k. b9 x( \( `2 Z#include<iostream.h>
# @4 a/ L" p3 O5 y3 z- C, E% @#include<math.h>
# p: g) }& O' h5 Z$ g6 |$ K
( o3 q7 `# E& f6 u. dint main()
" r: a" D% i. u/ N: n{
3 @7 C4 U$ ?% t  M0 B      int x1,y1,x3,y3;6 X& S7 U+ A( \0 X
      double a,b,c,d,e,f;
/ E+ `( @9 @4 L8 P" }  {: l      doubler,k1,k2,x,y,x2,y2;1 l9 k/ w2 D( o$ v/ _  b, ~0 A. j0 e
      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;; j; O- e2 Z+ S6 @* B% x6 R
      cin>>x1>>y1>>x2>>y2>>x3>>y3;
) L" ^' j  u; H' E0 W0 T      if((y1==y2)&&(y2==y3))
1 f8 E# m% O- V8 ^- ?0 V$ n      {
5 S4 G* E1 b4 u  ~! c8 Q            cout<<"三点不构成圆!"<<endl;
3 X% [7 Q, d, b) r) s: z) r7 V            return 0;4 a6 v3 a' V; i$ w
      }
2 V3 Z1 u9 \! C, Q% d      if((y1!=y2)&&(y2!=y3))
. A, `4 g; Z8 o0 }- |      {! |7 k. d& f' p1 _# z! r+ i
            k1=(x2-x1)/(y2-y1);
  J- P" }4 H4 {5 o4 j$ I" i            k2=(x3-x2)/(y3-y2);
" y& O5 n8 ^% P7 S      }
8 k% }' N5 z; |- H/ J3 B* z      if(k1==k2)- u! J% s4 B0 F& \; t1 ~% H
      {, p) b7 j9 w; U8 y8 @
            cout<<"三点不构成圆!"<<endl;& T& m. Z9 Q: h
            return 0;$ _* h0 T: e, v! {! b
      }
& f2 m$ Y) T5 \* x% z      a=2*(x2-x1);
& u+ d/ y) ?/ T1 P: b; _" d5 M      b=2*(y2-y1);( W) @- W5 Y0 r- o1 V. q: |& p
      c=x2*x2+y2*y2-x1*x1-y1*y1;9 B& U( n" ?, F, R' v4 I
      d=2*(x3-x2);
& o+ Y' q2 `  x: i/ h/ I9 ]" z      e=2*(y3-y2);
1 G3 P3 _6 V- W# D" N# S      f=x3*x3+y3*y3-x2*x2-y2*y2;3 O; U. }# B, y# n4 N
      x=(b*f-e*c)/(b*d-e*a);  c: m1 O, m5 [7 k" U
      y=(d*c-a*f)/(b*d-e*a);
: D: s" w" @: c2 N9 M2 `      cout<<"圆心为("<<x<<","<<y<<")"<<endl;
* o' d) I& w1 e( d      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));5 r* J- n) h! v8 ?' p; `+ h
      cout<<"半径为"<<r<<endl;
9 ~, M6 k) ?0 g      return 0;& T5 d* f( J' [3 A+ Z  a+ A% T
}8 @( J' w  g! R1 p% a$ Y; `" v  F6 D) E  C
14,查找圆心
- G5 y! B- i, G" {0 B            UF_EVAL_p_tevaluator ;5 T! @2 |1 r7 p* |
            UF_EVAL_arc_t arc;- J& Q2 k3 I/ p% a' \
            UF_EVAL_initialize(obj_tag,&evaluator);" v( _& c. D; |8 [' G. A
            UF_EVAL_ask_arc(evaluator,&arc);4 Q1 P1 e  g' {, v! Z* Y
            UF_VEC3_copy(arc.center,point);           
$ x( q5 |5 w& a6 U0 @( S15, message_box3 B8 k& P9 [  J8 H
void message_box(int *res_mes)
" @2 d. \3 _9 R. Z{3 s0 h# s, G6 M( ?$ m
      UF_UI_message_buttons_sbuttons;
  Q5 k( V! w) K( W. E; i/ ]/ v      buttons.button1=TRUE;* O$ m7 S+ e3 s; k# I+ `
      buttons.button2=FALSE;
: I' R/ f! H5 u( p: I6 K$ Q      buttons.button3=TRUE;
( R1 s) P4 n5 X% {/ O( W
& D7 j% o* @& C; ]+ ^) d) ?# J      buttons.label1="OK";  ?# L  y6 r# ]* C) R
      buttons.label3="CANEL";
- x# C' ?6 B) P2 R, x" y. t( X) e: S6 a3 n# ~, s% ?
      buttons.response1=UF_UI_OK;
/ o9 Y/ `5 F7 w      buttons.response3=UF_UI_CANCEL;/ h$ {& F& x! I5 x6 A1 D
# ?9 |; k  A$ ?( s8 E
      char *string_msg;4 @# F& O5 I. H: A1 r
      char*material_msg="ALL selcted objects will be removed";
) M; u% Y1 z8 n, R2 p- R- {$ K      string_msg =material_msg;
% T6 X9 P0 j( I7 E( G1 F7 M
4 Y* \% s5 I6 N! k. W      UF_CALL(UF_UI_message_dialog("",
" x! ~  P; a8 M) z6 A5 x  S            UF_UI_MESSAGE_WARNING,4 H# z% h) X+ P8 h7 z3 z8 U) U
          &material_msg,! m3 C. E/ s# i
            1,3 [* ?: p" t6 X$ @/ O1 x2 u
            TRUE,7 ]( y/ G$ t0 K8 e- ~) J: ~- t6 ^
            &buttons,0 F0 f* ~: Q6 p
             res_mes ));
" c, K! e( A2 m; _, _  j}( Z3 J& }0 j; g$ e7 ~+ ~2 J8 T; O
16,选择过滤( }; r+ t3 _- Q. L
static int init_add_face( UF_UI_selection_p_t select, void *client_data); D9 |4 u% I( W2 ~7 J7 i5 c! {
{2 Y5 ^2 K( s& r. }! }# j: k3 y" N
      int nums = 1;2 V) s& U8 H8 ]1 l" h& `/ b
      UF_UI_mask_t masks[] ={! a2 @2 d, Y2 D& Q, W) s" f
            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};
/ H& b9 c1 A+ ?! v6 I9 ~7 y+ ~. c7 Q, `5 H+ N: `# ]
            if(+ r# I- X+ S  Y- R
                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)5 N  m. [; c. x1 ~4 {
                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)& X: N! m. ]' b0 Z7 }
                  )
' E( Z6 V1 r! I1 |! p, j            {
2 z# ], v# A. B/ b- W                  return(UF_UI_SEL_SUCCESS);
1 N/ l( W" [; y' R; \            }
$ @: i2 p' z$ N* E            else
" K: a# ]0 D2 U6 C, {7 s            {     
, f/ a$ D0 J* h! }+ N! I& e                  return(UF_UI_SEL_FAILURE);# J: a  h* r" g8 j
            }& f. @8 D" N; q  m. P# b* ~
}  E) z" S' I* m3 W3 d1 L6 P
int find_tag(& i7 @6 B. U& D+ l8 x
                    void * client_data,//用以传输过滤资料- G9 e- t1 E  h7 Q, O5 m0 ?5 E
                   tag_t object//现在鼠标所选物体ID
8 B) ^( n1 p9 |0 s' [  y/ [4 U                   )
4 M, F. n0 c2 x{
5 c0 o8 q, C4 K: X      user_data *obj;
; r" C; \- S8 j4 ?3 m      obj=(user_data*)client_data;  Q  M4 U2 K5 R# m
      int find_face=true;//接受
- S& g# M/ |* I4 S7 B0 P9 a$ G      char *string1;* R9 a, t- B' I* a) D$ G
      string1=newchar[133];
6 E8 {4 s8 b( J2 x8 _* O      string1=UF_TAG_ask_handle_of_tag(object);
3 P7 \% B: u5 o      for(int i=0;i<过滤的数目;i++)  X. G- f/ [: B
      {
% s5 a+ i  {. l; U3 f0 x! Q6 S0 Y' `
            char *string2;
2 p9 P( S: O) B, g' w- y            string2=newchar[133];
1 [7 ~& u3 V/ F            string2=UF_TAG_ask_handle_of_tag(物体ID);
1 E  ?+ k8 t6 E3 x4 _8 w            if(strcmp(string1,string2)==0)3 r. w7 S1 @: m: I) ]  O1 p
            {: h6 c  K, ~' ~  ^& y
                  find_face=FALSE;//不接受, W8 |6 E4 {7 {+ J
- G3 D: U1 S7 t, }
            }
$ L. e( m; i1 m# I8 e- J; V- e            delete []string2;
  {. }" u( \4 z0 |+ C0 q4 E7 u" Z      }  I6 c" ?& o$ ^& D0 \( x8 c# G
      delete []string1;
3 J' q) ?/ S9 p$ U      return find_face;! x) T5 v) Q' @% a& J0 R
}( x( U$ l" N' A1 G/ x1 L- V

8 P" z- y* T+ m
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

全部回复1

寂夜孤星待天明 发表于 2017-3-2 13:15:39

寂夜孤星待天明 沙发

2017-3-2 13:15:39

z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持z支持
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了