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

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

  [复制链接]

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

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

admin 楼主

2015-3-2 10:31:39

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

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

x
0 h% U5 B7 Y1 Z% ^% ?+ x
7,裁剪片体0 y4 R% B, ~1 Q; Z4 g4 h
tag_t  *trim_objects;( z, d5 l0 v2 f8 X/ C  B/ S3 `
trim_objects =new tag_t[count];
; T) o" Q8 ]  h& Btrim_objects =bound_id;6 N8 P: @4 o! {* X0 l8 J7 x  d+ q
voidtrim_sheet()- q, m% V3 y" Q. D- Q$ ]5 x
{
$ j) Q+ A4 r. t. F- \  N8 e! m0 o+ P: B6 A! w% H
      UF_MODL_vector_t projection_method ;
$ c7 m, _/ h, S1 T( o      projection_method.reverse_vector=0;
3 y  B6 m5 |7 v6 P8 X9 m3 B      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;
6 t5 k: P. g0 c6 S7 m      UF_MODL_vector_defined_by_union_tdir1;
7 k5 r! q5 ]# L1 ^* q# ?      UF_MODL_vector_direction_t dir2;5 u- p+ V. u6 h: e) Z% l; c) t+ ~
      dir2.xyz [0]=dir[0];
" O" D) T' H) B* J) I8 |      dir2.xyz [1]=dir[1];
; U% m; z( F1 u3 S      dir2.xyz [2]=dir[2];
) n- r+ O8 f4 {1 W5 E9 P      dir1.direction=dir2;: W8 }# ~# j8 ?8 |- J$ |4 q

' {3 |/ v9 u9 B% d. Q" Q) j      projection_method.defined_by=dir1;
* J. d* ?1 c5 f  k5 d) v. E- {
, E' v: N! ^+ F+ l      double point_coords[3] ;
- d2 q2 K8 ], _; e8 q' h6 l2 q9 i4 I* }2 U/ E
      point_coords[0]=center[0];
8 h2 j# Q4 Y% `% K; Y      point_coords[1]=center[1];8 N' |( k. P2 x2 h
      point_coords[2]=center[2];/ R) T% d+ X. D; f' N% o6 G
( ~1 f; E7 b" J1 b; i
      int gap_point_count ;
2 P" F  {: p: K% _, A' C, m" {1 I, M      double *gap_points;
) h0 v6 Y( `+ m+ {( }      tag_t feature_obj_eid;; w" r) ~8 V; X+ y
      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,
5 S0 x2 H; M: O1 M8 H0 n; W                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);
2 _5 ?) l0 \1 k5 G6 P
6 g- `! Q6 u! [8 }$ E. X/ \5 P, H}! c6 N' H5 x: W+ }; S
8,offset偏移3 ~+ s  g, \- U  y1 t) p
! e" [" {' R; O7 b0 f" [0 i; p; b
char   distance_str[] = {"10.0"};//偏移的距离
( V5 r) K" r6 S' i$ A* p% t* E) S3 g& i6 T# q5 S
int  num_curves;8 |$ F; k; h2 u0 b' v$ g, x0 P0 h. ~4 {
tag_t *offset_curves;% w8 O/ x+ l7 k% `2 C; E9 l1 ]8 F9 w
UF_CURVE_offset_distance_data_t  offset_distance;
' |. t4 L3 T% f* E7 T% joffset_distance.distance= distance_str;
; }2 \% R) L' }3 e  b) voffset_distance.roUGh_type=1;
5 ]5 _7 w6 F6 l; WUF_STRING_t   input_string;
9 ^9 A+ s4 p8 iinput_string.id=curve_id;//加入想要偏移的线# S, ]. |0 k4 T7 T- E
input_string.num=1; //偏移矢量方向数量
8 X- _" `+ O/ r2 X) l& w1 {input_string.string=&string_count;//偏移线的数量
+ P2 z1 }. c& N+ k' zintstring_dir=UF_MODL_CURVE_START_FROM_END;
8 o2 h/ Z& w' binput_string.dir=&string_dir;1 }; h4 {) O& ?: U
( |+ a; H+ C! Y
UF_CURVE_offset_data_toffset_data;
* O: L1 r  ~# w- B  t  A% `9 U) m* n% m2 {" j
offset_data.offset_def.distance_type1= &offset_distance;
1 p0 W0 O$ x0 f7 i( }: N8 \" `offset_data.input_curves= &input_string;3 Q) m- c  ^4 X: W! v, N
offset_data.approximation_tolerance= 0.01;# \: {) B, a9 v) T3 U& p3 T( r
offset_data.string_tolerance=0.001;
  B  S1 i5 X$ r6 @& eoffset_data.offset_def.distance_type1= &offset_distance;
, I9 k, b, k9 I6 foffset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;
1 Q! r5 k6 h# ^" y0 \$ [& q& B0 IUF_CALL(UF_CURVE_create_offset_curve(&offset_data,
5 y( q1 H1 u/ ]& d&num_curves,&offset_curves));
  X7 @' e5 ^7 o) h! ?# d9,创建平面
$ ^" B" @8 k5 g. _UF_STRING_tgenerator;) y+ ]" k: @9 M0 D, A: [
UF_STRING_p_tge = &generator;
! M/ c% Z$ ?. r& ]4 ?6 a0 [% _$ N: i7 \
UF_MODL_init_string_list(ge);
- r0 A; k* e" j9 u1 gUF_MODL_create_string_list(1,12,ge);, P+ o% V1 V, P7 `8 o

& s. E; B+ x' P/ p$ Lge->string[0]= 1;) H  D/ n1 J. G( M# m
ge->dir[0]= 1;//指定线从开始到结束
% g- K: z& n: Fge->id[0]= arc_id;//指定边界的id' r% r0 A) J# i5 |$ ?
doubletol[3];
. W5 N" O; @" H( Z$ l8 U3 Z, o9 gtol[0] =.001;//直线公差
- b# O2 l+ A  c6 R2 |+ {8 |tol[1] = .5* (PI/180);//圆弧公差$ ]0 _# ~$ y: K3 b6 b# V+ f9 x0 J4 }3 t
tol[2] =.02;//不起作用- F! F& W1 X1 `* s# p8 ^& n% P3 j
UF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));' E7 Z3 s9 y! X' L/ j* E
10,选择- \5 o/ m4 @# ~4 A% f8 W! D
1),点选择+ G+ ~' W4 T% Z! s: s6 A* ]+ R3 h6 z
tag_t point_tag;" q' _. W' p# e6 V3 y' n, X+ z
double point[3];
$ ~! @) k- x- t6 c' X& A       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  8 f0 j! `/ B9 \) c$ v5 {$ r6 R
       intpoint_res;0 o. B  j0 Z! q$ o) Y/ V- T$ ?
9 d7 E$ I% d" k) b& e1 O
UF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,0 x0 M4 ]: d' X
point,&point_res));4 o0 ]) x/ D9 L( f- E* f! B5 h
if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)
" \9 n: P8 ~5 i5 h( v5 ~7 ~! d{7 m/ P6 e" Z6 v$ P* Y
}) z/ t  u! q# x/ E. U
2),向量选择
, M; _  c2 b" Q  c. \6 }* B     int  mode = UF_UI_INFERRED ;; s: W7 W1 Q3 b  y1 g: s0 y
     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;
3 U, N: C: v2 r( tdouble vec[3];
1 |( L8 c1 m$ Z+ G6 u( kdouble vec_pnt[3];6 O0 g) y$ ~4 K* L) v
int res_vec = 0;
% `3 ^9 q+ k' ]" @4 o4 M) {     UF_initialize();  
$ S  P! ~" W) Y3 z     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,
/ _* b  ]+ e$ N) j! M( R           vec,vec_pnt,&res_vec);
! q/ ~$ F; y1 f1 h  ?0 ]5 Q! x# l     if( ifail != 0 || res_vec!= UF_UI_OK )   0 o8 O% m% h: I7 ]8 H( A! e+ Q
     {     4 G$ t# |7 x2 p& l- Q3 w" N' ?2 I1 j
           UF_UI_ONT_refresh();
; f" F$ O* E6 Q+ D! K           printf("No vector selected \n" );' L& A5 ~2 B! z! G
     }/ v9 E$ @; P6 c7 r1 ]: Z
     else
$ e, a* R$ L+ s. T     {
" y; o% I8 T) p* ]* n/ C, X           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",
' W2 D9 Y9 v+ t! J5 w% _                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );5 X: J5 f) w" M4 z
}
" f" R! O. m9 j- m" ?* m3),平面选择/ P* |4 i+ C4 k, t
tag_t plane_eid=NULL_TAG;
, I' U, R/ E  b1 q/ ^& s# Hdouble orientation[9] ={0,0,0,0,0,0,0,0,0};; ^) l1 R2 p* J. G
   double origin[3] = {0,0,0};
. o6 V/ ~2 P% C/ S. r5 {   double pts[6] = {0,0,0,0,0,0};: c0 x; o$ k5 |6 I& K6 a. d
   int i, error_code = 0;* j; H" L, G) d3 p& G+ j! P9 y
   int mode, display, response;: m2 Q7 _" W% @* b
   mode = 1;                    / z) R0 d1 m( p2 ~
display = 0;      
* E. q! F3 v) }$ Y2 L' uUF_initialize();
/ z4 q+ I1 D* o' A   error_code = UF_UI_specify_plane(( U! L9 }/ J5 a0 L
         "Select Plane", &mode, display,
* A, n( l. u0 {% J* C- t         &response, orientation, origin,&plane_eid);  k( V" j* @3 T: w

! i8 ]* P6 R% x6 F' H) ^2 w   if ( !error_code && response != 1&& response != 2)
5 O& ^' Q" @7 w: ?' G& s/ L   {: y0 x- T* R6 q. J
                     for (i=0; i<3; i++)
# z8 e0 P0 F, }: f" y7 c               pts = origin + orientation;4 x4 ^5 F% q3 C" y5 y; h1 y
                     for (i=3; i<6; i++)
/ D2 A; E& E- `; ^; J# m7 Y" {  X               pts = origin[i-3] + orientation;
, I& d) O7 K) I$ u8 q; f2 o" i+ Q         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);
1 w2 ]0 L0 b! y6 k! t" l   }7 b& ^. c9 q1 X& U0 t8 P
11,临时点,线
3 c* J" p. ~3 ~- O# X- Bvoid display_temporary_point_line (double point1[3], double point2[3])! p/ d7 v; k: h3 Z+ h+ R
{3 \5 O* X) `' q( ^
  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;
8 A. M* q/ u! R6 s# W7 D  UF_OBJ_disp_props_TColor;+ M" v* A6 Y  }# @
  color.layer= 201;
6 s# i- g  J9 d7 Z- \  color.color= 186;6 f% Y( b. v  q
  color.blank_status= UF_OBJ_NOT_BLANKED;
( m# D: O$ C4 P3 A* L. E. M  color.line_width= UF_OBJ_WIDTH_NORMAL;
# s7 g# k+ b# o. V7 T  color.font=0;. y. p7 i: I  ~+ }
  color.highlight_status= FALSE;
, A  _2 r% a5 r/ v  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;! B) L( w/ _6 E6 B9 T* t+ C" M4 Z

- B' T# w# z0 S6 zUF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);( B5 U8 f# F4 x# o2 y; ?/ f- a
UF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);1 p# T" u9 s$ ]5 g. Q
UF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);
( I& g. W5 M- {  y}# E0 |+ o) X  R+ p  n
12,WCS与绝对坐标转换) G, y$ b7 Q( [5 N$ F' u
                        voidcycs_wcs(double point[])) g1 L! i0 m( j+ J: ]+ k: y
{% `8 Y) X8 U6 r
      tag_t  wcs_id,matrix_id;
4 w/ ~0 `* K3 F) n  n      double matrix[ 9 ];
8 m9 S8 w0 p& I  b) J* k      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量
, L8 Z6 g0 k4 H+ D$ `      double wcs_origin [3],vec[3][3],point_origin[3];
5 r4 U+ Q* w6 {& w& z1 }      //1,得到工作坐标系
' H7 F+ T" N6 @' C; v. f8 _      UF_CSYS_ask_wcs(&wcs_id);
! l% J& q( y/ C0 {; f      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    1 t3 p! @! X( T' H1 {7 C# F; e
      UF_CSYS_ask_matrix_values(matrix_id,matrix);: W- r8 i: ?# U; z
+ _5 W4 f7 _/ C# e9 {
      //2,得到工作坐标系轴向量1 Q2 T+ `! m4 @+ A+ [/ ?: X
      UF_MTX3_x_vec (matrix,vec[0]);5 E7 I4 n4 h& _5 e  T  W: K
      UF_MTX3_y_vec (matrix,vec[1]);1 W" c  ^* U+ C: y) j
      UF_MTX3_z_vec (matrix,vec[2]);
0 M3 h& e8 _5 J4 X% L  I  m/ \$ d* N6 a1 _
      for(int i=0;i<3;i++)
6 Y9 A( z0 K7 V8 Q9 G      {     + p# l' u1 ]& z1 O* y' O; m' z5 U
            double tol;/ j* h3 a$ P+ A# Z
//3,得到点到工作坐标系原点矢量- S; ^+ j/ V2 t( y. ]
            UF_VEC3_unitize(vec,0.000001,&tol,vec);
. s, k* W/ [  J! Y//4,得到点到工作坐标系原点矢量
0 H2 [) v9 N6 k5 Q$ |            point_origin=point-wcs_origin;7 R* d8 q, \5 I/ Z
      }) r, Z( R) y0 [
      for(int j=0;j<3;j++)4 S; ]1 c, [4 b( Q. X
      {
- b* ]0 s7 v, `$ ]5 |* Q: z            UF_VEC3_dot(point_origin,vec[j],&point[j]);4 e- @6 [- i; p4 _: \3 Y
      }
; ]- Q0 w" H' x2 Y. K9 r; t, Z}' E, p. V6 q* X# S
13,三点求圆心4 \$ g7 g$ U. \; E+ l
#include<iostream.h> % s4 ]( [( v/ p7 h
#include<math.h>
3 M. j7 b+ t4 W9 L
. ~+ q% d( W4 L. m4 @# uint main()
' ^. [+ Q7 x4 t" p, j  C{% i% E. Y, \( D6 p$ c; H8 X# y
      int x1,y1,x3,y3;
7 M7 |: R: n& R( U      double a,b,c,d,e,f;: J  t; H9 [0 h1 k' i
      doubler,k1,k2,x,y,x2,y2;
  h( |% T$ U: ]      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;7 ?) d* P1 L# ^/ A6 U' \0 t- h3 \
      cin>>x1>>y1>>x2>>y2>>x3>>y3;
( b+ |  C$ |6 K& e      if((y1==y2)&&(y2==y3))8 g# p& o( _& c7 b+ ~* E
      {
- P" M1 ]( m/ h6 l6 l( n# V5 T            cout<<"三点不构成圆!"<<endl;) `* K: U4 ?9 S; g5 ~% s% T# M
            return 0;
4 O, o8 S( {3 z' {, i" B      }9 G; C" H7 y, t
      if((y1!=y2)&&(y2!=y3))
5 I; j7 t' f' g' }0 R      {0 x& }; S9 |" j0 L  [
            k1=(x2-x1)/(y2-y1);
" I- s# s* k) {5 k* T6 }            k2=(x3-x2)/(y3-y2);
# e* O; u6 n: D1 u7 Z, }      }1 V' D% y9 @) x* a0 r. G8 V
      if(k1==k2), Z6 {, o9 g; f9 t) z% a
      {
. l- J- }: Y+ j. M  |            cout<<"三点不构成圆!"<<endl;
& P. h& @. B/ I            return 0;
3 _& B  I* E+ V% f# p! L      }
# S* [* @1 @8 b( M6 ~      a=2*(x2-x1);
6 f' q% Y, p  o7 f: J: ^* b      b=2*(y2-y1);* L4 Q) m: a( b. o; z2 O1 f
      c=x2*x2+y2*y2-x1*x1-y1*y1;
, R7 {  Y: e6 J" j      d=2*(x3-x2);% f) Z0 [9 E) e$ @0 N
      e=2*(y3-y2);, M) K( C$ [4 _: f" G- j
      f=x3*x3+y3*y3-x2*x2-y2*y2;
5 L5 F" _9 \9 j- g! p- S7 i      x=(b*f-e*c)/(b*d-e*a);
6 B. g, c/ }. q      y=(d*c-a*f)/(b*d-e*a);) e9 N$ t: B. L# Z; K
      cout<<"圆心为("<<x<<","<<y<<")"<<endl;
# u6 k4 X* W, R  P! j7 @' A% F      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
8 `0 u+ N- g' ?9 a      cout<<"半径为"<<r<<endl;
( ]  c$ u% _& \! a( @5 W      return 0;" A: c4 Q! B0 B' K) Y- \
}
' k7 V' i% l$ K# t: r14,查找圆心
* O, A9 g' E+ |  n/ p            UF_EVAL_p_tevaluator ;
! F+ q, a/ P( Z6 W: @            UF_EVAL_arc_t arc;
) v: M* [" {. g  @            UF_EVAL_initialize(obj_tag,&evaluator);
9 m4 c" g2 ~  p" N, d            UF_EVAL_ask_arc(evaluator,&arc);$ v  m' D. N: ]0 R4 i
            UF_VEC3_copy(arc.center,point);           4 q6 n. S+ H  }9 z
15, message_box6 h7 f4 u! h6 f# @/ w# |
void message_box(int *res_mes)& h. l5 c& U1 c. G- |  |4 b
{" C& I, J5 o+ K" B: R( l7 Q
      UF_UI_message_buttons_sbuttons;3 z  X/ |3 `# D+ U
      buttons.button1=TRUE;8 N3 l, x' ~" d1 O
      buttons.button2=FALSE;6 j$ B- H! [- \3 p# d! l7 Y+ ]
      buttons.button3=TRUE;; p* o4 y. z" c0 Z5 A& D2 B
" s% C7 S( v7 Z/ l+ C: F& d' Z
      buttons.label1="OK";
  U2 E+ S* m% k$ G9 u& ]3 c" L      buttons.label3="CANEL";& b# n8 e& q4 L

+ F8 ?  k# L7 f0 U5 G      buttons.response1=UF_UI_OK;+ X4 i6 l! E4 I+ Y& ]" V
      buttons.response3=UF_UI_CANCEL;
# W! z# G  _' d) W/ F$ @6 i
/ e2 ~9 R9 H9 m/ K1 G      char *string_msg;
+ b! X0 h4 S6 ^  ]( Y% z/ h      char*material_msg="ALL selcted objects will be removed";/ }/ H3 x1 {$ L
      string_msg =material_msg;7 M7 ?5 f7 T7 C! f/ T/ ~
* w- Q$ m9 y( ~" }/ U# {# Y3 W
      UF_CALL(UF_UI_message_dialog("",
/ p0 [  d( z1 n- }% c! K            UF_UI_MESSAGE_WARNING,% b/ n- j0 N8 z1 f: K" J! P6 }
          &material_msg,
% }+ G! V0 ^- g1 F& u            1,7 v9 O  }1 A( _  [; k- q: t
            TRUE,% `6 m' [- Q5 v( m7 ?9 r
            &buttons,4 J7 }9 P  o  |# ]3 E0 B( }6 E( F3 \
             res_mes ));
8 x" j  B  z+ V/ \1 l; Y7 _}. E0 D8 \& N1 w6 l1 I* V% K" S  d. O! x
16,选择过滤, b$ `; M, k- g, R+ }
static int init_add_face( UF_UI_selection_p_t select, void *client_data)7 Y' g& C9 X) g( J3 j7 b: U
{, X7 k% O8 P* l3 c
      int nums = 1;: q* D+ v* d- x' \
      UF_UI_mask_t masks[] ={
  A5 L9 [/ |' l5 a+ K+ n            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};
% B  h: p5 }$ s/ \3 y* w
: W, A6 a& w9 k9 X: G            if($ {2 a' V- d# D" Y, z; W+ i% a
                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)
; Y" M$ \8 ]# c; f* l  G# _                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)% C( V( f5 e/ g+ _
                  )
5 |* l4 t- V6 F, Z. b            {
' N3 p/ c: Z7 _$ H, h! e+ i6 q( p                  return(UF_UI_SEL_SUCCESS);
" ?. E6 o6 ?5 X            }. d& C/ C$ a4 ]
            else- R6 @$ G& S' Y; t
            {     8 P/ p) ]4 g5 A, R) Y6 Q; b0 F
                  return(UF_UI_SEL_FAILURE);
- L2 T  t; n! h6 U7 r5 I            }2 Z) K+ V) o# e: y! h3 H
}; x" _$ p1 E$ s5 j" ]9 E# N' o* q
int find_tag(
' n0 x! ?, ]) x7 r                    void * client_data,//用以传输过滤资料7 H7 r5 r: c8 S6 ~$ m9 X/ `
                   tag_t object//现在鼠标所选物体ID& w7 H6 C* `3 f" `0 {5 y
                   ): f, [9 c; C3 V+ D7 R2 \  J* v' k( E
{
/ Q, u" Z4 a0 k0 g$ @: f$ h* ~; S      user_data *obj;3 V" ^( Q; D$ p, F) d% J
      obj=(user_data*)client_data;. c5 d- ]" E" j2 }
      int find_face=true;//接受5 _) ~& K5 y) z# @
      char *string1;
- X" N" J3 N2 r2 W      string1=newchar[133];
: ^0 ^$ G: z5 Y' ?+ S* u# N7 I      string1=UF_TAG_ask_handle_of_tag(object);
' ?1 K. c' b  }7 t! H* S, q1 {      for(int i=0;i<过滤的数目;i++)$ e( @% x2 a6 N
      {$ l" O2 w8 ?+ ^
/ Y7 p" D1 U; T9 ?! ]$ q  w
            char *string2;
2 o$ M' x4 q# r. v4 q            string2=newchar[133];
/ C' O' x& a# u            string2=UF_TAG_ask_handle_of_tag(物体ID);) j1 Q- F. n8 a' l
            if(strcmp(string1,string2)==0)/ h) X4 V$ L2 V- O$ g3 o( F
            {
0 N& y4 G# q3 l! o8 g/ j' {                  find_face=FALSE;//不接受! d' ]" @& o9 _* G+ e( G6 W
( T- l2 P7 N* E$ B: U
            }
; V6 ]/ M1 V0 o+ j            delete []string2;4 K. q" A& e2 ?/ ~# y, b1 f1 q
      }
, E* E5 `, N9 d8 ~8 l% i5 b      delete []string1;
  e1 [% T: d  v6 [" ~0 ]2 g: K+ q      return find_face;
7 Y5 r% p" m% U. v6 [4 b2 k}
9 T2 V6 p1 K" p
& n) w4 C/ p2 c; p6 I8 H
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了