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

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

  [复制链接]

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

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

admin 楼主

2015-3-2 10:31:39

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

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

x
1 A0 n2 ^+ a4 U) v
7,裁剪片体
! ^+ [8 z" M7 l/ \0 a8 [0 _* @/ ttag_t  *trim_objects;
+ |$ X: F$ o! A- k" x7 p& @  ktrim_objects =new tag_t[count];6 `) G/ t+ @0 e. O1 l5 K
trim_objects =bound_id;0 D% w$ B& r8 d* ~+ D* c- F  z. F
voidtrim_sheet()
" N3 t) d1 r1 `9 z$ b% d7 n{
9 s( _* M: z* [* ~3 ~: Z/ i" {0 D2 p8 p4 `. S( m2 C- k
      UF_MODL_vector_t projection_method ;
! V$ \3 v5 e* }1 ~; n      projection_method.reverse_vector=0;
2 J/ ^2 b" ]2 d# `. T: u2 M      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;! t# U% s, C6 O: t; z1 P$ Z3 E; S6 h
      UF_MODL_vector_defined_by_union_tdir1;
4 a# C- R% Y- \6 r( T      UF_MODL_vector_direction_t dir2;/ Q- V) _; v2 H  f, Q  r
      dir2.xyz [0]=dir[0];& W, T( l- F( t
      dir2.xyz [1]=dir[1];9 I/ p' F8 E1 M( z2 p
      dir2.xyz [2]=dir[2];8 v: X0 a/ d# V& |0 o. ]
      dir1.direction=dir2;
. A8 M; {3 p1 w% p( t0 \8 N; k# n9 _4 c. |* M( t. m& h
      projection_method.defined_by=dir1;
4 b9 _6 S2 Q# k7 j1 T& M4 g$ y% Y, K; d2 o2 ?, `* Y' c5 U; S
      double point_coords[3] ;
' F1 e7 r; e/ ~; z' P5 Z- s  i4 ^7 J0 R1 z, @5 Q; I( j
      point_coords[0]=center[0];
" i6 v$ V5 l4 C      point_coords[1]=center[1];6 u. B* ^. d0 S: u. D* q
      point_coords[2]=center[2];% M+ }1 s6 A" J0 A5 j- V

, t1 H% c, F$ T+ u7 Y      int gap_point_count ;" {% _" c) Z& ]( l
      double *gap_points;
% @# ^) G/ z7 ]! `# z      tag_t feature_obj_eid;- @' U6 b' b, W! L
      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,7 ?1 g) R0 W, P( ]
                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);
' a! }6 S  d: G$ H. b# o/ W* b
2 F2 d( [* B. R8 a1 K}$ ~" d* N  j8 k2 ?  A7 d
8,offset偏移. O0 Q: k0 R0 g0 r

8 C8 c5 I- ~* K1 T4 M# M) Achar   distance_str[] = {"10.0"};//偏移的距离! w. x* k8 k0 m" p. {- }0 M! G( w
, o8 g4 R( e5 U( S& _6 n
int  num_curves;
' P* f4 s4 v' h* h2 ^8 v$ N1 N1 U1 xtag_t *offset_curves;
1 B- P- }! Z, s) A# T7 t( IUF_CURVE_offset_distance_data_t  offset_distance;
- M# E' N( E4 d4 A/ voffset_distance.distance= distance_str;; e- x+ Y5 B/ N% A$ v  h% C- M7 t
offset_distance.roUGh_type=1;
( O6 _% W% ^) T1 \2 I3 KUF_STRING_t   input_string;
, _8 {# X* |3 Y: ninput_string.id=curve_id;//加入想要偏移的线1 E. U) x" A/ f1 n0 ^
input_string.num=1; //偏移矢量方向数量
* K$ s$ e6 e" W3 t  oinput_string.string=&string_count;//偏移线的数量6 N: T) x9 e% g# n, h# o4 t
intstring_dir=UF_MODL_CURVE_START_FROM_END;' y4 {* R. O$ I6 t  L+ I
input_string.dir=&string_dir;
3 F2 R- P- J: s5 u
& k1 F5 ~, ]3 u, U, r' HUF_CURVE_offset_data_toffset_data;
/ x2 t6 w4 G2 g. ]; _8 {2 a7 e' [8 T" Z* Z
offset_data.offset_def.distance_type1= &offset_distance;
0 |3 R. E3 {- t9 L& G# E( G5 ooffset_data.input_curves= &input_string;; x- ?1 z9 c% E3 E
offset_data.approximation_tolerance= 0.01;
, v: }+ w5 u  C& ]offset_data.string_tolerance=0.001;
9 l) L9 J# q& H8 O5 U: n; C7 U# `# loffset_data.offset_def.distance_type1= &offset_distance;
, ^  L6 l7 M: _5 }9 |+ p' R! Boffset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;
  G) V9 }  D5 O6 ?7 b2 DUF_CALL(UF_CURVE_create_offset_curve(&offset_data,) Z7 g+ l- ?: M7 q
&num_curves,&offset_curves));/ S$ ^! l* _9 H$ Z# T$ a
9,创建平面
, L  L, h% {8 v* |' O* qUF_STRING_tgenerator;
3 a2 I; G. r: e8 t, T5 D: Q3 f# lUF_STRING_p_tge = &generator;% d6 l! d8 s" d
2 {  u, C& e9 |0 ^
UF_MODL_init_string_list(ge);+ x7 x' i! r. ]  C! N8 E* ]
UF_MODL_create_string_list(1,12,ge);8 O6 W' d' \( u" A: a* M1 l- f( M
" @  [! o- K( G$ w/ w+ `9 X* V
ge->string[0]= 1;1 V0 ?% x% R, `1 g, G" D( U
ge->dir[0]= 1;//指定线从开始到结束# ~# w# n( U/ e3 k2 G2 L
ge->id[0]= arc_id;//指定边界的id9 f- L2 V! M3 H" F5 b+ E3 V
doubletol[3];
0 Y, z; O) g0 J4 Dtol[0] =.001;//直线公差
" u, M: k8 U( `' Ptol[1] = .5* (PI/180);//圆弧公差
' X6 T" ^8 a2 H( r0 p1 mtol[2] =.02;//不起作用
7 E9 t; F& b: ^% FUF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));+ b) D, @1 |5 z) M7 {4 X0 a
10,选择  l( b& m/ l, k$ i
1),点选择
/ o9 j" h( @; Y* w: d7 V( ~1 jtag_t point_tag;
" w  c: G( P* L9 R- Hdouble point[3];- n! J" c/ i$ p+ S7 Y$ p
       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  9 P, x  ~5 q0 r* n$ }
       intpoint_res;
- T2 G) p5 |; p' T$ W* H
6 x  W! |8 z! \  A8 o( g6 F! ~UF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,
. [: S1 K. F, n( d& A! {point,&point_res));5 c' O0 x" j! l9 m) u' f1 ]3 \" c- e
if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)4 _8 ?, J5 ~7 A7 ^, |9 H9 }3 ]
{! e  D6 ~- i+ m/ B! ]. K* A: x
}
4 l% h5 b- x: |4 O7 X1 B2),向量选择
# q( T. T- u) p, @     int  mode = UF_UI_INFERRED ;
, W4 Z$ s9 o& y" S, j     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;2 k, Q2 s2 `8 r( h7 U; p
double vec[3];
5 |7 P* J9 G- W# y) hdouble vec_pnt[3];* m+ i! [! \; ^) M: A
int res_vec = 0;# R9 K" {, p: I, R6 h# w" |
     UF_initialize();  
* b  h4 M9 D( ?  u     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,
$ z3 G3 @* V. \% z$ ]0 p3 G/ z           vec,vec_pnt,&res_vec);# n  @' [$ z% ?2 e0 E( p) J( ~
     if( ifail != 0 || res_vec!= UF_UI_OK )   
8 T8 q# @% Y0 o. V     {     
" a- j3 t0 M$ ]: F! `$ R# ?) C" V           UF_UI_ONT_refresh();  P) b1 d2 @- r6 g
           printf("No vector selected \n" );
; U! y( ?4 H8 U2 x) ~& n3 s1 F     }8 u( u1 X/ P- |6 x. {5 V; ?
     else
) ^( h: H: L5 T2 t  k$ l* \     {9 c6 d! d* S6 j9 ^7 q
           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",8 s9 A, l, x; w
                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );& A6 L% c- r; U2 X
}4 _& o1 ^5 o$ E7 \, ]9 y5 V
3),平面选择
$ p, d: V9 h* a( ytag_t plane_eid=NULL_TAG;3 F7 S/ p* ^! Y3 j# T% Z3 B
double orientation[9] ={0,0,0,0,0,0,0,0,0};
5 d) M) B) J' y( t  l1 A   double origin[3] = {0,0,0};( \! k' r/ U2 V/ J+ m  W
   double pts[6] = {0,0,0,0,0,0};4 N4 l+ D$ z( K) m  p5 C
   int i, error_code = 0;8 q* N/ ^5 w( {! w
   int mode, display, response;( h+ @4 M" p5 E/ y0 }
   mode = 1;                    
4 J+ J/ V6 G$ \( Vdisplay = 0;      
8 x; h9 F- {% q) N2 V: LUF_initialize();  I' Q% S  s' r  r
   error_code = UF_UI_specify_plane(/ F% @  u, a- K3 B! _0 X2 s; R3 y; f
         "Select Plane", &mode, display,1 c, C5 u" d% T+ g6 }" o- v! S5 q
         &response, orientation, origin,&plane_eid);
" j0 `$ O2 u% h7 F& M2 q3 H6 q
' X' n4 U$ e% B- W- @   if ( !error_code && response != 1&& response != 2)' B: E* k$ |% V. R5 H
   {
' v$ J5 k- ?2 A/ F4 f$ `                     for (i=0; i<3; i++)
/ t  t( k) u. F6 _3 F* i/ E               pts = origin + orientation;& }) n, m0 z6 U* T0 e3 T1 v- X
                     for (i=3; i<6; i++); P# |- T. Q6 |3 s1 Z
               pts = origin[i-3] + orientation;  ?8 e- ~+ p! \5 p. B: K4 S  L
         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);$ m6 L# i4 E8 W" p- P* k
   }: y, x& C+ G/ |- c& Y# O
11,临时点,线% C- G2 R2 j8 M
void display_temporary_point_line (double point1[3], double point2[3]): ^1 b; y0 L5 W: F; y
{- P  H" n# Y* V# L
  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;
3 G4 h' l% v( C) Y/ D9 b  UF_OBJ_disp_props_TColor;% Z* f" ?2 }0 B8 e5 M  M0 ]
  color.layer= 201;  ?% h1 D: t' J6 Y
  color.color= 186;3 Z# P% C6 G3 S+ s9 M) K8 |
  color.blank_status= UF_OBJ_NOT_BLANKED;
' z$ ]  g- l& y5 ?+ `& n  color.line_width= UF_OBJ_WIDTH_NORMAL;& x" d7 o. u) J/ N; E/ \1 a0 `; w) l
  color.font=0;
" h' d4 ]# S, \' t+ A" \: k  color.highlight_status= FALSE;! c6 l6 B- p* v% j; b5 L
  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;/ {0 ^3 Q1 j; l! H6 H

0 \- L* P2 u1 ^UF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);0 R7 ]0 b- e* _. r6 q+ B
UF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);
9 o  ?; P- _& M: a/ e# C; p& sUF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);4 V: n& r# O1 G) ^' W5 {; n- X
}
' \' K+ L9 X% P8 o12,WCS与绝对坐标转换
3 {! P+ M8 G% ?, S/ q                        voidcycs_wcs(double point[])
) D+ w, f6 \  B0 o{' U7 C0 L3 p& _# ^) S
      tag_t  wcs_id,matrix_id;6 L/ b/ R9 z# D! b$ d+ M6 W& a7 L
      double matrix[ 9 ];
4 Z3 m% ^* D0 |2 s      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量
; R0 s" k1 [4 ^0 A2 p9 M2 T9 J      double wcs_origin [3],vec[3][3],point_origin[3];
6 @( }  o: r" I) a7 F  i# ^3 \$ K      //1,得到工作坐标系
( m- p! `; b, F* e4 L      UF_CSYS_ask_wcs(&wcs_id);( t: o, r7 t$ K: I+ \* r- i- m+ h# ~! u
      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    
6 @2 {$ J* Q" w. N- U) _      UF_CSYS_ask_matrix_values(matrix_id,matrix);; i: Z- T: V; @3 h& Z
3 E* {& t; I5 W- I
      //2,得到工作坐标系轴向量6 c, z  K$ f. a0 A+ |
      UF_MTX3_x_vec (matrix,vec[0]);9 o  @3 Q0 e& N1 |2 B+ c5 Y! D* A
      UF_MTX3_y_vec (matrix,vec[1]);
# ?6 I4 u, B5 }' B5 I8 K$ t, a      UF_MTX3_z_vec (matrix,vec[2]);
# G9 {: E6 ~! T! d
& {- X! X  P3 k: y+ W      for(int i=0;i<3;i++)
/ b4 C1 Z: g0 [9 m( @! K- S$ P0 o' A      {     
/ z7 `! H/ `; R, |7 W& V            double tol;
* M9 U% x9 N2 l: {//3,得到点到工作坐标系原点矢量
: |$ Q. C9 s$ k2 M/ t            UF_VEC3_unitize(vec,0.000001,&tol,vec);1 I* }  `# C" J# M: ?8 z' K
//4,得到点到工作坐标系原点矢量
2 L9 g' ?& I8 i* K            point_origin=point-wcs_origin;. j+ }8 a- p, w7 s( ]( O
      }
. a- U- A/ m. y5 G0 B* g  i* R      for(int j=0;j<3;j++)  p8 O2 u: U7 T/ e
      {
4 Z+ L* j) [# j% g4 I3 T0 f            UF_VEC3_dot(point_origin,vec[j],&point[j]);
' `/ Y7 P! B/ U% y! w      }
$ _1 q3 F- k3 B5 _, C6 C( A}
) ]4 P% n, q. [' u5 z13,三点求圆心
& a9 C' K8 {" a$ s#include<iostream.h> / ~0 {  Z' Y. I6 Z7 c
#include<math.h>
/ z* U5 ?) k/ P, P& `
% |+ S6 f8 X  x1 Oint main()# u% u8 V  x6 L" B4 t6 _4 Z: Q. w
{+ B6 s, T" K# `3 q4 t3 ^% F
      int x1,y1,x3,y3;2 g" w! z+ D1 c% J
      double a,b,c,d,e,f;
7 P" _* ^- V$ \  l# \& H7 U# f      doubler,k1,k2,x,y,x2,y2;
7 d. o$ o/ x, v1 I      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;; `0 \1 i1 W- Q3 E- h
      cin>>x1>>y1>>x2>>y2>>x3>>y3;
& G1 q( L/ @6 f) q      if((y1==y2)&&(y2==y3))3 P: C$ \! L3 ?, }; \" r
      {
& m  a3 x0 d$ v+ ^$ m: C$ l            cout<<"三点不构成圆!"<<endl;
, J( e- k9 @8 g            return 0;6 ?7 D/ Z0 ?# g  z7 _
      }
; V8 {# V) K+ \* y      if((y1!=y2)&&(y2!=y3))
3 R' {" f* J& k6 X- d2 l& C      {
& @! E! r/ f! M+ M9 m: Y            k1=(x2-x1)/(y2-y1);
# i, L4 g; l3 |9 ]& U  t7 p5 W            k2=(x3-x2)/(y3-y2);' i( j# R7 k3 h+ [$ r! o
      }
1 G! G- L8 b5 W& [2 }9 a) J& F      if(k1==k2)# `% M. `  C( x$ [/ C! Q
      {
3 h$ M3 }3 M/ }( y' t, x" K            cout<<"三点不构成圆!"<<endl;
- y4 T3 }; B1 b/ Q# D# X% y8 N( c            return 0;
4 _9 x' O+ O1 B# l' q! ]      }
( G) r% H9 z- {2 ~      a=2*(x2-x1);
6 B) J4 a  ?7 B$ C% h  i      b=2*(y2-y1);( S# `9 h3 W( x3 E. I0 n
      c=x2*x2+y2*y2-x1*x1-y1*y1;
& ]$ @1 `& @" x7 I      d=2*(x3-x2);
9 |3 G& x. i3 K1 f      e=2*(y3-y2);* j6 u8 T$ V* U1 N  r
      f=x3*x3+y3*y3-x2*x2-y2*y2;  T. ~1 j4 ^( n$ n9 w4 I
      x=(b*f-e*c)/(b*d-e*a);
7 [- a1 L3 p5 x9 E      y=(d*c-a*f)/(b*d-e*a);3 ~5 D7 `) L, ]$ I( b
      cout<<"圆心为("<<x<<","<<y<<")"<<endl;. C& I6 c: |1 E) @
      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));4 x1 N. q9 F" L, y. X' p9 v
      cout<<"半径为"<<r<<endl;/ n6 O  e) Z- j
      return 0;9 F' `* @; g) K$ z3 b0 Y
}. L) x3 b9 O, ?
14,查找圆心4 X, l+ T' A, B, |5 F$ \
            UF_EVAL_p_tevaluator ;
/ G, K# {8 D5 u2 U4 u0 ?# C            UF_EVAL_arc_t arc;
5 R1 q9 G: [4 X5 E' ]. L            UF_EVAL_initialize(obj_tag,&evaluator);$ \3 |! U  g, R7 Z8 C. G
            UF_EVAL_ask_arc(evaluator,&arc);  Q/ ]8 x% c* z0 E( T6 H9 n
            UF_VEC3_copy(arc.center,point);           6 C) F! q7 b  j! x1 P
15, message_box1 `4 O1 \2 O+ K' d/ Q+ h
void message_box(int *res_mes)5 Z9 v. s7 O7 f6 g7 P! I+ A
{
/ G" E  T9 G" o. ]  {      UF_UI_message_buttons_sbuttons;
# {' Z* s* d8 [# o      buttons.button1=TRUE;
6 A# s& P) Z! A. C+ N0 q7 N      buttons.button2=FALSE;: ~! J3 o4 t5 f$ e
      buttons.button3=TRUE;, ]0 X4 g! T7 T2 ]% z5 M: Q

& G6 V5 v+ S5 Q- ?4 ]      buttons.label1="OK";
) }) L" a7 L( c, p" B      buttons.label3="CANEL";
) S0 Z/ M: D' a5 J
9 B! i% ]# _( u& t4 h      buttons.response1=UF_UI_OK;2 D1 }: w5 g  Q4 N
      buttons.response3=UF_UI_CANCEL;
$ Q( }' y' e0 c& ~7 [# x) P) ]( L; P* |6 R+ ?
      char *string_msg;
7 l4 ~' u# O; X      char*material_msg="ALL selcted objects will be removed";; K( h- ~# z6 l. p) ?
      string_msg =material_msg;- b! T* E7 @  h! r2 c# p0 T

7 m- J2 ^) x8 R1 N      UF_CALL(UF_UI_message_dialog("",
/ S: W* C! w) r. o0 g            UF_UI_MESSAGE_WARNING," j) I1 n8 v9 \  J, Z4 `6 m
          &material_msg,
! L" C; L, s# d# s  h* r            1,
6 q( ?) i1 G0 `% `            TRUE,( E8 H8 }6 d) j4 _& E- q8 J3 {6 n* X
            &buttons,
; D! s, m3 }+ X, z* M% q6 B             res_mes ));
7 i: u5 S  l% E}
+ Z" {8 I* L2 [  ^16,选择过滤
- i# b: g9 O2 y7 Zstatic int init_add_face( UF_UI_selection_p_t select, void *client_data)7 D" H  y+ w2 c; ?$ m
{
( X" }  R; e: h+ \      int nums = 1;
$ E' `& t1 m1 v/ Q; G' ~' H- r, H      UF_UI_mask_t masks[] ={9 z% F! |2 A) @2 C+ K- A2 ~
            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};7 B1 k  [  Q+ v; X+ f! M

8 C5 q- G- ~. ]            if(8 p  k$ ^. V2 p# g5 B# w4 ^  z8 A; i
                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)3 Y2 Z/ W& m( L/ L
                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)  P5 O& ]( O) i  q, I4 A
                  )$ K- \+ ^3 f% k
            {# Z8 H' R; j& w* z7 `) T
                  return(UF_UI_SEL_SUCCESS);
) C7 ?2 x; H6 `9 c3 Y7 i1 V            }" X# h) q3 N- F" n" }- ~
            else
# g/ k9 r3 |' I& Y- r* }            {     
5 M" C% D& ]6 V* d                  return(UF_UI_SEL_FAILURE);
5 R' W, Z$ d3 m: l  b) S8 f            }
0 Z2 r$ T  t1 J8 _}* V2 q; e5 ]: w$ L. Q! A2 X) y
int find_tag(
( E+ y% j4 [( m' l% P$ C( T' A4 {+ H                    void * client_data,//用以传输过滤资料$ \( t3 Y2 g. `  p1 y5 b& B; E
                   tag_t object//现在鼠标所选物体ID3 o, K) _- ]' O
                   )4 v' z% n* g: L
{
0 k7 N) G  N3 G- u      user_data *obj;
6 i7 r- |6 o; L2 T      obj=(user_data*)client_data;
( |8 f1 i6 L, }2 s1 X4 R      int find_face=true;//接受
6 l0 o- a* k# r0 Y      char *string1;
1 _3 @* a4 F8 B  ]5 ?      string1=newchar[133];
3 m" U1 z+ L7 o" f8 h      string1=UF_TAG_ask_handle_of_tag(object);  K  v* a5 U6 ~+ B  y- u; P
      for(int i=0;i<过滤的数目;i++)
4 z& L8 b9 M2 U, o8 g      {
- F+ [+ u8 p8 d. l, ~# k/ P( r; m$ @" S# r! X
            char *string2;
( b2 h' Z7 y3 o" u" ^            string2=newchar[133];: B4 E# ~8 T' x1 x  @: T" U& F6 l
            string2=UF_TAG_ask_handle_of_tag(物体ID);; t! S$ S4 L$ X
            if(strcmp(string1,string2)==0)
) ]7 D+ p) B  R- u            {
# M; k, e! Z1 b+ g* g3 G& K' w# q                  find_face=FALSE;//不接受
' ]1 D# M. K/ H
% _! j4 ~% u9 v. D0 l1 k4 _  G# m' [            }( _/ E: {1 ~# h4 |- o- \3 Y
            delete []string2;
) z0 t6 b4 a# F7 ]! t      }: X+ L: y4 y! `) b$ o
      delete []string1;3 @8 ~: W7 J+ m9 ]. n! d
      return find_face;
' j4 z+ E5 E0 m( A* W: ~}
. u/ _# A9 ^1 d6 ]7 U9 I7 l& M+ ]6 J$ O3 d& E& J
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了