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

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

  [复制链接]

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

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

admin 楼主

2015-3-2 10:31:39

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

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

x
  J4 N, B' g5 `) g( ?
7,裁剪片体- D' O/ D9 F9 q0 [' G) ~$ W1 A
tag_t  *trim_objects;
/ d9 l5 S: R% h. j) o' d. O. strim_objects =new tag_t[count];
. K9 V6 i: T2 o4 j) Btrim_objects =bound_id;
9 D+ C' h% h' ovoidtrim_sheet()
0 R: S5 J/ T# L% h, @# n0 B{
+ l% n0 F8 p& m  A% w# k
. A) }" ~6 G2 z! a, e( O6 p/ M      UF_MODL_vector_t projection_method ;& q# [' }- ?& p/ V: W' [- d5 p" n
      projection_method.reverse_vector=0;# o" p' d: X# D8 ~! @" r
      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;
$ ~: D' [; v$ @& s5 x      UF_MODL_vector_defined_by_union_tdir1;7 n% s) T, O' P3 x+ X( Y
      UF_MODL_vector_direction_t dir2;+ g: s8 b! k% H1 i0 m
      dir2.xyz [0]=dir[0];. F# j# M% b( j$ a. ^
      dir2.xyz [1]=dir[1];
" S+ j" [0 w% r& \! E      dir2.xyz [2]=dir[2];
& n' `! W0 U1 b4 v$ I6 e+ a      dir1.direction=dir2;% d& m( U2 f! E# X
* q  `3 E3 m: A5 g+ a- O- b6 s5 f0 d
      projection_method.defined_by=dir1;
! w" D+ ~/ J+ n1 d9 K
% _% j+ ^) |: k: W. z      double point_coords[3] ;
& O; N' d5 f% U
0 w+ {' s# A( K& b8 ]1 B      point_coords[0]=center[0];8 T  c; M8 H) A9 q/ s) W  U
      point_coords[1]=center[1];* _2 a% k) t: H, z  h
      point_coords[2]=center[2];- t. H4 a* v/ L& L

' {" \6 h6 p" V7 h3 ]9 j2 i) c      int gap_point_count ;) S; ^. S0 K" N
      double *gap_points;1 B' h0 Y. m4 z& K: c
      tag_t feature_obj_eid;# B+ a3 l- |) m% m
      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,! z2 {" k' [6 c1 H% f0 E( j
                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);: T/ p' `. a- h$ n
+ Y/ Z3 ], |: |0 i" u* L# l. b# |
}
3 d( m* [+ L" S% H9 f8,offset偏移: U* g# U7 g- W4 X6 C0 E- x$ T
% q5 S: B8 F' b. N5 V. ^- Q; G
char   distance_str[] = {"10.0"};//偏移的距离- E) X" b. s8 K9 V% z
9 b# [5 y% c- n
int  num_curves;# J& k6 h8 ~& A2 c. b
tag_t *offset_curves;" T6 }( M/ _9 e7 e9 v! C
UF_CURVE_offset_distance_data_t  offset_distance;# E; n. E* R! w; W  W
offset_distance.distance= distance_str;
1 z9 i- D9 q* `2 Qoffset_distance.roUGh_type=1;' @- v$ c3 s' v9 ~& G! k: ?
UF_STRING_t   input_string;
# b; ~1 \1 U9 C5 B5 Einput_string.id=curve_id;//加入想要偏移的线
% F; i0 v& Z, o: Y6 m0 \+ A/ linput_string.num=1; //偏移矢量方向数量5 \0 ]% a2 F/ j( V" m% G$ j& ~
input_string.string=&string_count;//偏移线的数量7 y  W1 F; A& a. D, u' A/ n4 i
intstring_dir=UF_MODL_CURVE_START_FROM_END;. q' M4 Q  {# ~4 B  L8 U" c3 e' J7 Y7 a
input_string.dir=&string_dir;! l' i3 ]% X7 k& k. {% `

) i/ |* Y: H" V& M5 N5 x# [6 i/ ?2 LUF_CURVE_offset_data_toffset_data;; t, r' ~' U' m- C7 `* H
8 Q: R, j; W7 [7 P: \  M3 q+ V: ~
offset_data.offset_def.distance_type1= &offset_distance;
) v9 |% C$ a2 j. T- R/ \$ ~0 V8 koffset_data.input_curves= &input_string;
; j; E  a. Q! s" c! D7 m2 n* R5 uoffset_data.approximation_tolerance= 0.01;' M, b8 `% h0 U5 K
offset_data.string_tolerance=0.001;
) ]  j2 n8 Z; A7 n) v0 |1 z% Aoffset_data.offset_def.distance_type1= &offset_distance;
: z0 O$ H, `' w7 A4 u% l( eoffset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;
- [' G1 p( B; I  p1 q$ QUF_CALL(UF_CURVE_create_offset_curve(&offset_data,
2 v3 t- c+ ~  c) `( [) f&num_curves,&offset_curves));
! e2 o# P# A: }2 W2 K5 @9 D2 q. z9,创建平面; v6 ~( {3 P- C9 D8 h6 Z4 G, S2 f
UF_STRING_tgenerator;
. z; I, e  Y% d6 x4 I) T! nUF_STRING_p_tge = &generator;
3 T  ?2 h: j- M$ l  n* T
* ]7 O' E' }8 Y: ^3 X! v( P- CUF_MODL_init_string_list(ge);
# P4 j, _7 d% T1 ]9 ~4 lUF_MODL_create_string_list(1,12,ge);
% Q- n+ X0 g% \# U% d
% t! ]2 Y; o! S. G0 Oge->string[0]= 1;* k  N) A4 `+ ~: f! M
ge->dir[0]= 1;//指定线从开始到结束0 G: ^! T1 Z! K- `
ge->id[0]= arc_id;//指定边界的id. k- b# e" Z, \/ u& z9 r' K
doubletol[3];( l0 {, e$ c6 e$ E6 t
tol[0] =.001;//直线公差
! R/ o! \! f' n( z5 H; Y' d2 ?tol[1] = .5* (PI/180);//圆弧公差  E6 A: c& D3 I, F2 [7 x! \
tol[2] =.02;//不起作用
9 T. h. ~/ R3 o3 U) xUF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));1 a! E& i9 F. H+ Z" p, g5 T
10,选择
/ B  {9 C1 D7 ?% F7 i5 ^0 _1),点选择
/ K) R# G- C! a4 qtag_t point_tag;9 }8 Q, X/ r- m
double point[3];
' `# _) [; o2 H9 v) _       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  ! H0 B0 c# L. V; S, p4 r6 }+ L/ T5 h
       intpoint_res;! w6 c* {% B2 O6 ~5 M4 Z8 F
& h0 @1 A  j1 A# J2 }
UF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,
' U5 y( d( I5 fpoint,&point_res));9 d0 s/ Q% a7 R" J* E
if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)3 q8 i# v1 ?8 \2 {8 B/ J% X4 \
{
; y2 {+ R8 L: R# z }
& V+ Z# {# m- ]1 T2),向量选择
2 P" l1 I& ^! g7 k4 P/ H5 a     int  mode = UF_UI_INFERRED ;
+ ~$ [* ?5 g" h     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;
5 ^4 n$ ?4 `% C4 |double vec[3];
: \$ ^1 V  d) h* x2 r1 d) ldouble vec_pnt[3];
  M$ d8 H, a8 v  x; r+ mint res_vec = 0;* v1 b2 F0 \. f7 h4 E8 F
     UF_initialize();  
2 e! ?9 n4 n( {! x- Q3 t. m; i     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,
6 P" e3 ~( s2 v+ G4 N3 q           vec,vec_pnt,&res_vec);
, G+ v7 l2 r* X+ p/ O+ b; Z     if( ifail != 0 || res_vec!= UF_UI_OK )   
* U8 V( @2 K# I6 ?1 k" O8 R     {     
# e% T1 f% n( }* a9 u           UF_UI_ONT_refresh();
: p* V8 N# |. w% |- ]           printf("No vector selected \n" );" o9 S. b1 H' w4 P
     }) z# C7 E7 G" D+ u. z5 \
     else
. i; G1 l: J# o! |     {1 G1 Q* B) c( A6 i( S$ |) q
           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",
5 G7 X  V5 \, U, f; Y+ E                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );
" C* ?- ]  b. `% L" f8 `7 k( t}1 z8 w0 T  U" F( {" i
3),平面选择" z: S, S  w) o
tag_t plane_eid=NULL_TAG;
. `5 ~  `) |  @: m& ldouble orientation[9] ={0,0,0,0,0,0,0,0,0};
0 S6 @( x9 u1 h4 z" M   double origin[3] = {0,0,0};; S# G# H4 S. W! P+ S, q
   double pts[6] = {0,0,0,0,0,0};; u) ]; c" c7 y- S) [, x
   int i, error_code = 0;6 P8 O& |4 ~* y/ f9 I3 v
   int mode, display, response;
1 }6 R' m; B7 s# N% ]$ P   mode = 1;                    ; h9 s' S% B4 `% D, x! [7 I2 p
display = 0;      
& c+ B% u1 E( {7 xUF_initialize();
6 ], w% `9 @" W4 m. ]) u   error_code = UF_UI_specify_plane(2 b4 s8 t! |2 K5 q
         "Select Plane", &mode, display,
' x+ b6 x% X) s5 G) u$ O# K9 ~% r  k         &response, orientation, origin,&plane_eid);
+ j5 P1 j9 j% p0 O- y
$ A( I/ M& C& s1 u   if ( !error_code && response != 1&& response != 2)
+ ^7 U; q5 U# e; f7 J   {
2 [' Z& D! V$ x                     for (i=0; i<3; i++)) c/ m2 S* v2 V% d
               pts = origin + orientation;. ]7 G3 @+ g+ A
                     for (i=3; i<6; i++)
" I" H  a" u* Y3 y$ R               pts = origin[i-3] + orientation;+ P+ A% \+ p0 a7 ^5 \
         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);
; \1 \2 }1 Z0 {" |0 o8 u   }
+ }7 Z' M4 A* Z$ {. m2 U; i11,临时点,线- {+ {: O0 M( \$ H2 e1 e
void display_temporary_point_line (double point1[3], double point2[3])2 A' E7 t$ Q9 L
{) k) W" \, }( C: U+ i, }3 L
  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;
1 b5 M+ n' E4 M* L7 @1 ]( v" @  UF_OBJ_disp_props_TColor;
* j: O- @3 @/ x5 u9 L4 m  color.layer= 201;
# `, f* L# B5 d( T1 q7 h  color.color= 186;
' B- E0 y- A/ V3 ]* j& X  color.blank_status= UF_OBJ_NOT_BLANKED;! I0 i, `% Z( k* O5 _3 Z6 F
  color.line_width= UF_OBJ_WIDTH_NORMAL;/ D8 {3 w6 n9 o# c. \/ n9 n/ Y$ P
  color.font=0;# E  s( O% M! i7 p
  color.highlight_status= FALSE;
$ e. @* U* E' y* h. S  `  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;6 C( `/ m+ |2 n+ ^
# X8 x8 [: p8 V* ~  L, C# N
UF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);
( j7 G: ^+ p4 e0 vUF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);
! n2 V. o9 g) Q; vUF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);& A8 ]! R* N, w  M
}
+ k7 X- S1 k1 P; n, ?# B# B. n% H12,WCS与绝对坐标转换
; }! h1 r1 y1 W! |                        voidcycs_wcs(double point[])
- M) v/ V# w, C{+ j1 V- i  C3 k5 G& o
      tag_t  wcs_id,matrix_id;- G. t) }+ T# A, J
      double matrix[ 9 ];1 o# W% b( b) f/ w  ?  c5 \# {
      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量
4 g5 [9 ?: L/ l4 m% v" i* p( c      double wcs_origin [3],vec[3][3],point_origin[3];' a1 Q, }2 H/ v' S- e" Z; t# `2 F
      //1,得到工作坐标系7 ~( }6 d8 F2 Y; m4 j
      UF_CSYS_ask_wcs(&wcs_id);
% I/ u4 _3 G  \2 f! C5 m: @8 N      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    
; s" q9 P( K) b( ]      UF_CSYS_ask_matrix_values(matrix_id,matrix);
" y( H$ n: k. A" `* R; ^2 w0 f/ C$ w% m$ s4 z" F' p
      //2,得到工作坐标系轴向量
) G3 i* b# m! _  x2 C3 s1 a      UF_MTX3_x_vec (matrix,vec[0]);
9 h9 C' L* V( \( [      UF_MTX3_y_vec (matrix,vec[1]);
  a. \1 a6 v7 ?# C* B- h! ~      UF_MTX3_z_vec (matrix,vec[2]);9 [6 }) J1 m+ D' V6 ]* k& J! d
! F7 F6 P; ?1 ], u6 h& a- U! Q
      for(int i=0;i<3;i++)9 Y" V. w& g! ]1 p# P
      {     
9 M; Y! Z6 M1 X: t5 w, o            double tol;
5 Y6 N8 }/ J5 R) N//3,得到点到工作坐标系原点矢量
; \4 d; ]- M, @$ B$ |. [% i' U. a            UF_VEC3_unitize(vec,0.000001,&tol,vec);! F& {  C& N. K! H& b1 X* v& x
//4,得到点到工作坐标系原点矢量
7 E/ a# s. |/ W7 _9 d            point_origin=point-wcs_origin;
7 r+ \1 ?7 H' a4 Q. p      }
- S- g* u, j! K* f3 l      for(int j=0;j<3;j++)
- ~4 {+ e2 z4 K0 W( E, a2 ]6 O      {
% t, v0 i" b5 ^+ E8 N: F3 X            UF_VEC3_dot(point_origin,vec[j],&point[j]);+ V' ?" M+ w1 X; t7 @
      }9 i9 z8 n' H5 y" R1 c
}! A; i, `9 Y, [5 x6 x2 a- e9 k1 `8 F
13,三点求圆心4 l- Y- J% K" X; e/ v6 w
#include<iostream.h> : u) L/ J% B# W) {
#include<math.h> . g+ y: H2 h' F+ S5 @) v

1 l4 ]$ C  f  L$ Y* m4 |1 Pint main()
; ~: v! J. X2 J9 a; K{. x3 G2 F+ e) e7 I4 V
      int x1,y1,x3,y3;/ w9 R" _9 b. h$ S( D4 f
      double a,b,c,d,e,f;
  U0 L! N( L4 n' h  M0 Q" `      doubler,k1,k2,x,y,x2,y2;- t# {; h- D+ ^
      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;6 x9 @5 k% u7 G- s# D+ _; P( F
      cin>>x1>>y1>>x2>>y2>>x3>>y3;
# ?8 S% C- c) e- }4 ^2 G! ?; A  q* D      if((y1==y2)&&(y2==y3))
' E- A/ P; `8 n& X1 X# y5 K: _% p      {
! J/ n# `  C# V  G2 B9 S            cout<<"三点不构成圆!"<<endl;$ k( f8 S  {* ?$ i
            return 0;# Q! \% I7 e8 ~- W/ ^6 F" E4 g8 j
      }
6 ^  k. m; ~; U      if((y1!=y2)&&(y2!=y3))5 I1 x' X- H2 b. R# d8 f& ?
      {1 S: J- g4 I- }4 M
            k1=(x2-x1)/(y2-y1);) x4 {# |2 @! Q( O4 k1 E: @: L$ |; m
            k2=(x3-x2)/(y3-y2);
  T! {4 A; f& e: Y! N      }
9 P$ F1 }, Q9 ?" ^      if(k1==k2)
& `! p2 o5 l( A: s- [      {& ~: o+ p2 Q4 y
            cout<<"三点不构成圆!"<<endl;
; G9 f8 G; J# J            return 0;
! |' m6 L6 R7 U: W      }  W/ ^/ B, I1 ?. a. S. }
      a=2*(x2-x1);1 ]# C6 G/ A) R' v/ O, {' h" K  v9 p: x
      b=2*(y2-y1);  s( C# s4 g. J; f/ L
      c=x2*x2+y2*y2-x1*x1-y1*y1;
/ g6 W& s3 z8 G7 I. p; j      d=2*(x3-x2);
. b* t# g5 r: T: {. r6 ~      e=2*(y3-y2);3 w$ U0 c! s! ~
      f=x3*x3+y3*y3-x2*x2-y2*y2;/ T: E, G6 L3 K
      x=(b*f-e*c)/(b*d-e*a);
. e+ ^1 t) O$ M, \- ]      y=(d*c-a*f)/(b*d-e*a);
- C  b# V' j/ y. C9 j9 w      cout<<"圆心为("<<x<<","<<y<<")"<<endl;+ _) _/ X2 @: R/ K5 ]# n5 @' C+ D
      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
5 _9 U* O0 l" s* g1 k  S      cout<<"半径为"<<r<<endl;
  d" h) H! S' P0 f9 ~      return 0;
; h1 v2 ?6 F0 j" s1 Y! r$ l6 @}0 n- _" v& ]: k6 F- |3 `
14,查找圆心) V/ _! E$ I2 J0 ~2 b
            UF_EVAL_p_tevaluator ;" ^2 a5 p5 H8 L: \
            UF_EVAL_arc_t arc;
/ G* ^% a& M1 S  n4 I/ n            UF_EVAL_initialize(obj_tag,&evaluator);( g+ ?& f3 s% x% a/ R+ W$ f" @
            UF_EVAL_ask_arc(evaluator,&arc);
& q0 M+ {3 T; W, q9 d6 }* a            UF_VEC3_copy(arc.center,point);           3 ~7 M6 c" r& r3 w# x6 U; z9 b
15, message_box
& v+ g8 @2 D; {' V* e. wvoid message_box(int *res_mes)
0 @; G$ J- Q" N- E3 N, L{5 H& ~& E5 G* y' c
      UF_UI_message_buttons_sbuttons;
. m+ Y) V0 f, q1 c      buttons.button1=TRUE;( }6 C2 [0 b: y; u7 N0 d, p
      buttons.button2=FALSE;
! f$ c( _$ b, X9 d( L      buttons.button3=TRUE;
; W9 O3 h9 b4 {6 \9 r: m# M; N9 w5 N0 L* B, b5 o
      buttons.label1="OK";
3 Z' h" x. K0 g      buttons.label3="CANEL";9 c3 E) m" X/ g- Q5 v
% K. _' J1 K/ w2 M4 D6 Y
      buttons.response1=UF_UI_OK;- ^% |4 @& q8 R  i( U8 a$ B0 a
      buttons.response3=UF_UI_CANCEL;- [4 t7 L2 Q# I6 n' L" ]

1 \+ j% i: Z+ ^. e      char *string_msg;
* u& [9 u( N% e0 v      char*material_msg="ALL selcted objects will be removed";
( v4 X" o! g0 n/ {7 h# ]      string_msg =material_msg;" T  e0 u0 r9 L8 g# h) D; u# B

! ?0 e2 F+ @* f6 k6 E      UF_CALL(UF_UI_message_dialog("",
  V5 o1 Q( |5 a3 D7 p) \            UF_UI_MESSAGE_WARNING,
* c# [9 y# o! B. B3 X          &material_msg,
- v0 n8 k" R% Y0 q            1,
3 J9 ^% P2 y3 s# C5 p* M            TRUE,
. ]2 n. O$ m* \2 m, S* p. v& L            &buttons,
) [+ A6 T. r0 E- j% |/ ?& j( W             res_mes ));
+ L; }( P2 i7 X$ ~}5 e0 T+ P# S7 L) v+ n
16,选择过滤
/ k# V  P  ]7 p6 _. n# {* |static int init_add_face( UF_UI_selection_p_t select, void *client_data)3 v9 e4 ^2 V1 K6 X& `, U" N; X4 P
{2 U4 e% V, j' m7 s* [! M0 [) {5 z7 T
      int nums = 1;) q* i! j+ l1 ^- }" U) {( ~2 g
      UF_UI_mask_t masks[] ={
! G: Y2 ?& w+ P6 B* `) r6 R            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};/ C- r' I' W4 v7 t
) J  c) D( R$ J1 P
            if(5 `/ Z( `6 P! M0 P
                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)
) {( f$ ~, K* N                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)( j6 \1 |% t) N# W. z6 D
                  )  x, L  ]+ \0 o9 G* C6 W1 s2 N
            {  R$ G4 L& r3 n0 U
                  return(UF_UI_SEL_SUCCESS);
; m" d$ J- Q/ o4 i            }+ Z' t. _; z' L* v' M: a* R$ @
            else2 S7 O+ @4 B! a$ K; f# h; X
            {     
% X3 n$ Z+ P$ Y( [                  return(UF_UI_SEL_FAILURE);
! D' v0 ]3 a3 g            }
3 {' b8 j$ N; x) ]$ x}
: {& m- F4 m9 lint find_tag(
; n7 L$ W& S% \1 \9 [; i" B% y                    void * client_data,//用以传输过滤资料
' a0 K/ @% r& d) \. H, ?6 i0 G% ?                   tag_t object//现在鼠标所选物体ID
/ {! q. c6 g0 [( k7 H                   )0 K& B0 b+ ?1 d" J! M* N! R
{
, q1 O- T7 |7 h) Z5 A, M: Z      user_data *obj;1 V/ y9 c* U1 V) g9 \. Z
      obj=(user_data*)client_data;
5 _9 b* g( ~1 q' t5 y9 t      int find_face=true;//接受
; X; i7 t9 e/ V& J! W- [9 B5 N      char *string1;
! j2 x; |. W' @4 O; G9 `4 _# A( H      string1=newchar[133];8 k" |; F3 C# X+ x2 \) @, Q! f
      string1=UF_TAG_ask_handle_of_tag(object);) L& |& v# V0 C' t' C
      for(int i=0;i<过滤的数目;i++)0 U- u7 F" [! I# S
      {4 ]( X" w/ l- ]/ Y; B* I% h

/ \' t  \" U7 D' t& ?( J            char *string2;- ~: v' F5 [1 b% [! P
            string2=newchar[133];: _, g* M- P" O
            string2=UF_TAG_ask_handle_of_tag(物体ID);
4 T1 h: Z' ~: _3 i            if(strcmp(string1,string2)==0)
8 t* _" S( n5 f' F0 n            {8 N2 \; w, J! d4 m2 @
                  find_face=FALSE;//不接受
' T1 A6 V+ u' ^$ L( G4 y
9 i. v6 u% ^: k            }0 Q6 g& q) {& \/ |# Y
            delete []string2;
/ {# c# v5 w+ a; ]0 i6 \) `# ]  k      }
$ E% o( j0 s$ ^. I4 D; d      delete []string1;. G5 M0 d% z( ?2 H
      return find_face;2 Q* w& n, H% k5 J6 d, B
}
' K4 Z- s" S+ x8 ?* j/ b. I( D9 e4 G. [+ o( s* D- P$ F  e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了