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

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

  [复制链接]

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

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

admin 楼主

2015-3-2 10:31:39

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

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

x

$ }% d. o* C* Y3 @7,裁剪片体
  ], I: B% v( D& D4 p# D  ?tag_t  *trim_objects;! m6 [9 r& f7 s3 ?$ ^" @/ R
trim_objects =new tag_t[count];
6 h/ Z% ~2 P; u) x; V2 j$ ttrim_objects =bound_id;
+ J( b6 b; a. R. _6 g4 qvoidtrim_sheet()
* G; P9 c. }; c( r{
8 P( k( b. p, u% P
3 T8 @! ]/ Z$ A9 H) o1 n7 J      UF_MODL_vector_t projection_method ;
' D/ z- m$ k: q' K      projection_method.reverse_vector=0;  L6 z& [% d2 H; \+ P% D
      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;
. ~# G3 ]; P' {1 o/ F( O* r5 t      UF_MODL_vector_defined_by_union_tdir1;
( `- d2 z3 l# [) W      UF_MODL_vector_direction_t dir2;
6 t% |8 O( h2 `" H7 x  T% W/ N+ ~      dir2.xyz [0]=dir[0];
3 J% N: R0 h, O+ m0 y) c      dir2.xyz [1]=dir[1];- E) z5 ?* r8 b
      dir2.xyz [2]=dir[2];+ \4 W- h8 s$ |7 m
      dir1.direction=dir2;' j. L5 c+ x: R7 M# N+ E+ N

7 C; ^  O. N9 ~# a/ ~. b5 M/ q1 T8 v/ ?      projection_method.defined_by=dir1;
1 o+ z/ u0 F3 q6 V0 d* j
. B) g- w# M2 Y* k5 h      double point_coords[3] ;! H0 |( g, |7 O9 O$ B4 u  g

" E$ U  j! l8 a" H# q/ f      point_coords[0]=center[0];
# ^2 w% e2 a. R      point_coords[1]=center[1];
- ]& Z9 c# j& ^8 F- r6 p      point_coords[2]=center[2];  y2 Z3 p5 S4 S( i) e% }3 c& N9 D
6 }5 R: q8 C0 X9 Q' j
      int gap_point_count ;
* X8 f/ S* v# g9 F' e      double *gap_points;) j$ N& S+ o0 z: M
      tag_t feature_obj_eid;& X! B+ {: x" s# v* h
      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,
/ t% n- D/ j' R/ ~( R0 q                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);
5 g/ H/ M+ {( J6 d$ {' D# o' C4 w
% B( s) m+ _# o4 b9 p}7 u8 |. _( j& I3 s  C
8,offset偏移
6 j9 @. Q( V  q# f1 E1 [
; t' `1 t7 D# I" n" L, X0 {- z; fchar   distance_str[] = {"10.0"};//偏移的距离
" ^; i3 t7 X, }& ]* j/ @( ^
; ~0 V8 ^- w% m' h6 u- g9 rint  num_curves;" X' l: S0 H* `, R
tag_t *offset_curves;# e9 _4 m( ?5 M" C
UF_CURVE_offset_distance_data_t  offset_distance;
" D! G: S  T# s! Qoffset_distance.distance= distance_str;
+ w8 K7 F, B- ?: z9 l8 t, woffset_distance.roUGh_type=1;! g/ u; n5 ~1 g, Q) B. s
UF_STRING_t   input_string;7 |% I3 M1 p/ r# ^0 n/ o. O
input_string.id=curve_id;//加入想要偏移的线* W: w, ]8 J# E' i0 i
input_string.num=1; //偏移矢量方向数量% ?/ c4 u" O/ a% P4 S) V
input_string.string=&string_count;//偏移线的数量
2 P8 U4 ^; J1 zintstring_dir=UF_MODL_CURVE_START_FROM_END;
/ a# C$ w- d" j7 W- O# uinput_string.dir=&string_dir;
- y) P, _& J5 g& r! {4 ~, x( B8 @, Q" U+ l/ }
UF_CURVE_offset_data_toffset_data;0 R: h7 Q8 G; w1 w1 C2 Q( N

3 q( F) P9 x$ H% k; Z4 @% Toffset_data.offset_def.distance_type1= &offset_distance;
" j; z7 Y; A9 V0 ~8 j( uoffset_data.input_curves= &input_string;
! D% y0 }) I: d' Toffset_data.approximation_tolerance= 0.01;, y- w8 B' A. m; P: N3 r  Y
offset_data.string_tolerance=0.001;! p0 g$ v8 r# z) F4 r' C
offset_data.offset_def.distance_type1= &offset_distance;
+ A5 d0 j( n. |( H4 f; N# P: Q8 Roffset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;
5 M1 ?9 l6 D4 |) ?* Q, XUF_CALL(UF_CURVE_create_offset_curve(&offset_data,7 f& B8 d5 \7 K+ i, D
&num_curves,&offset_curves));% z# {- G' X- \2 z: q
9,创建平面
: O0 @" a. @" c" xUF_STRING_tgenerator;
. [! C" L0 W& c+ {1 PUF_STRING_p_tge = &generator;
2 n0 [4 U6 z1 c1 a
% H. j. l( b5 BUF_MODL_init_string_list(ge);( @3 Z4 {# b2 c" ?
UF_MODL_create_string_list(1,12,ge);. l4 h/ ?5 w  ^$ |, [$ C

4 p) l* x" P; Y# ?4 t+ _# Uge->string[0]= 1;) Y0 ~* U( F7 C4 H! o( |' d! w' d
ge->dir[0]= 1;//指定线从开始到结束" f& B& x; ]& U1 J' Z$ E6 ~
ge->id[0]= arc_id;//指定边界的id
, _7 L8 |( `7 h" {" d1 udoubletol[3];7 b, ~4 g, e5 E* E5 J0 s7 c
tol[0] =.001;//直线公差
2 ^3 s* r4 z7 q( P" P9 p6 Ttol[1] = .5* (PI/180);//圆弧公差1 b, e; ^8 @) x; I4 O4 G. m8 H
tol[2] =.02;//不起作用- @1 b& G: f8 r4 A1 B( ~3 G
UF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));
# K) e& o$ i7 O0 J( c10,选择- t; ]& B. }3 X4 g$ ]( t3 \  ]
1),点选择4 A" x4 z# E# h% m$ h$ E
tag_t point_tag;
2 o% i  h, M+ O7 M& e0 v" P& H# }double point[3];
) \2 A9 r' v/ B$ \5 Z* A9 G       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  2 B9 h! i+ L3 W; Q# W1 `" ~9 A
       intpoint_res;" m) t7 W& T: U5 [; N
/ o8 c/ K3 W+ b% G/ g4 N
UF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,
5 {+ `6 R( H  P/ K+ u) Lpoint,&point_res));
6 E* \5 ~# x2 uif(point_res=UF_UI_OK&&NULL_TAG!=point_tag)  o9 A& Z4 [9 V- w8 s. \* L/ O
{
/ z6 G0 u- T1 o  V  } }
0 ]0 C$ L0 P7 H! {* G  r+ [2),向量选择) N7 d3 f- N( a4 C
     int  mode = UF_UI_INFERRED ;
; O. }8 l3 `6 V5 m! X" p4 o( F. `     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;
4 ~: \% x6 o: R+ ~" ?double vec[3];' n6 m5 Y1 o3 B3 c
double vec_pnt[3];6 F8 r5 R8 T. N7 f' F
int res_vec = 0;
& |9 f) k1 E7 t+ b! T" b     UF_initialize();  1 N1 k# E. s3 B* Y8 K
     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,5 z1 A9 j& A6 b0 C+ d" N
           vec,vec_pnt,&res_vec);
9 k1 S+ L1 A7 p5 n- q     if( ifail != 0 || res_vec!= UF_UI_OK )   
- z/ A  W9 }- `  {$ R     {     - E/ W$ M% d! R
           UF_UI_ONT_refresh();# _, Z. W) N" N7 F0 X: D
           printf("No vector selected \n" );2 C# O' P- Z: u+ N" y+ v% t
     }# T! `/ R) C" B: Z
     else
* V2 X/ @8 q% Z( J9 q7 k     {
* \9 G9 I1 o2 {. U" R! X           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",9 W7 q% U) |, K
                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );
+ q3 i% f: e6 @2 b1 ]* R( E2 J( R}; q9 z, N( W. k) x. n  d" V
3),平面选择
; L; h" Z$ ]6 ]) ^; x/ qtag_t plane_eid=NULL_TAG;
) ]! D( G3 w3 W0 C. w' I3 ~double orientation[9] ={0,0,0,0,0,0,0,0,0};% L+ ?* S7 O' h, v9 r4 w
   double origin[3] = {0,0,0};
. N. @$ {% r5 t   double pts[6] = {0,0,0,0,0,0};7 G2 ~, Z/ R9 B3 V
   int i, error_code = 0;
& t- P9 U. ~( `; @   int mode, display, response;
; @! w6 ^) ?6 B# r4 m% e  x  l   mode = 1;                    + q: _% D! G5 N( F
display = 0;      1 E  S" Z- c' G
UF_initialize();7 m  o5 r& y/ Z6 m
   error_code = UF_UI_specify_plane(. V/ @8 k: l+ K: C' r% y7 Z5 v. l" X
         "Select Plane", &mode, display,4 p8 S7 b" w, M4 U  L4 L
         &response, orientation, origin,&plane_eid);! }' o' ~% g+ |* E1 {  s
& P% G3 t& N% v1 C  w
   if ( !error_code && response != 1&& response != 2)! x* F* h- U9 X) h* }
   {1 I1 }4 F9 C8 y( l! [7 q
                     for (i=0; i<3; i++)
4 Z) a7 {, v5 |: q* s& e4 S               pts = origin + orientation;, t1 ^; m) Y: m0 w6 G: R3 G
                     for (i=3; i<6; i++)
( V: d8 c5 V  u- g               pts = origin[i-3] + orientation;
) n. q" `/ g# b8 Z2 f! K         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);
" o- V9 D2 A/ I5 D/ v5 M5 S( g& _   }
4 |6 I* e# y- M0 ~11,临时点,线7 d# P9 W1 @1 T, ^# U; ]* @
void display_temporary_point_line (double point1[3], double point2[3])
% o! N8 n9 h/ n$ \{
, g. S1 a1 m/ V7 ^9 Y  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;
+ l1 K0 s" ~/ l  UF_OBJ_disp_props_TColor;
- k% s1 n. q* o$ F% r  color.layer= 201;
0 p- m5 X, H- g% c1 [  color.color= 186;
2 h3 b" J# w9 J/ C& o/ K  color.blank_status= UF_OBJ_NOT_BLANKED;! {' d  C5 j  L0 G' {
  color.line_width= UF_OBJ_WIDTH_NORMAL;
$ i  m& {8 Q  z9 y  color.font=0;& V1 b3 a+ u5 `5 c
  color.highlight_status= FALSE;
$ F' Q4 Z. @8 z% U! ]  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;0 r, W& E. i( D. y. P

5 s% C! [! L1 FUF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);2 r4 ~2 X* G! O" D5 w
UF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);; c( s) t3 P5 i: A
UF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);3 j1 l; a4 ]* T. S
}
* L8 o* Z6 e; X3 R& W$ t2 q12,WCS与绝对坐标转换
$ y" D; m. z; P8 e. M  S6 Y                        voidcycs_wcs(double point[])
; `  ~& o1 f5 W: P( Z/ r{
1 `. n3 }" A0 ?+ Y5 z9 W      tag_t  wcs_id,matrix_id;% x5 }- H) J- k6 Y
      double matrix[ 9 ];. h, p1 `' R' G0 V) ^4 l+ a/ s+ B
      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量" `' O9 r& f+ k0 L" ~. P
      double wcs_origin [3],vec[3][3],point_origin[3];
  x0 f: F& P3 C      //1,得到工作坐标系* ~4 M  Z3 b& F4 v. m
      UF_CSYS_ask_wcs(&wcs_id);; R# X4 R# Q* W' |$ B; v& `
      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    5 K2 l8 A% h' L& H' T8 Y
      UF_CSYS_ask_matrix_values(matrix_id,matrix);
6 |* ^( R$ t  m- f% m5 H. S' q7 U
# V# L- Y* V9 j1 m' ]1 |  i      //2,得到工作坐标系轴向量
  V' T" @! S- ^* m1 k: Z6 {/ d      UF_MTX3_x_vec (matrix,vec[0]);% m6 J% m- p/ F: R' ^0 N! ^) Z
      UF_MTX3_y_vec (matrix,vec[1]);, [! v; g8 |/ y
      UF_MTX3_z_vec (matrix,vec[2]);2 ]" `! h# A6 ^% U+ H

1 N: Q' J5 t6 e; P0 ~6 C7 ^      for(int i=0;i<3;i++)- S( w8 j* z/ I5 {. S
      {     
/ B9 F5 W; g) x8 {. u            double tol;% ^1 F, ?* `. e
//3,得到点到工作坐标系原点矢量
- j& X' ]. h. l9 F% b( }3 @! ?8 j2 s6 |            UF_VEC3_unitize(vec,0.000001,&tol,vec);
0 n) V) m6 `% e: ]9 p- W//4,得到点到工作坐标系原点矢量
) i( H6 m  W8 h* M  O+ _( {            point_origin=point-wcs_origin;
; }; z" O# {* ^      }
1 d8 m' S* |5 F+ J6 B      for(int j=0;j<3;j++)( G1 c( @. C5 A9 p. o; [
      {
( m  R. H$ c4 l# u" _* P2 Q            UF_VEC3_dot(point_origin,vec[j],&point[j]);0 M* m4 }  M4 X1 A
      }
2 U4 ~# S) r7 l# [3 {. t}
# k. a9 o' X  M13,三点求圆心
. ~3 Y7 {5 Z- Z2 m. z: y& b#include<iostream.h>
9 Q! x& z3 ~; `#include<math.h>
6 E. v0 ~. Y& i) t# F5 E/ ?9 H! w. D, p8 R5 {! H: i
int main()
# M: z1 G3 `% Z& M& X& z6 z{6 _! O: a  F' N. P) x: b: g  }
      int x1,y1,x3,y3;8 ~5 n# S& C! @5 r6 e; i  s
      double a,b,c,d,e,f;
5 e* _  p9 n5 \      doubler,k1,k2,x,y,x2,y2;  r6 Y6 |( L2 ?0 z
      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;
+ d( \# S, ?! H$ h" n+ x) r4 v      cin>>x1>>y1>>x2>>y2>>x3>>y3;: I' F6 c* b, T. @
      if((y1==y2)&&(y2==y3))3 A" p4 n# o3 G& l7 R, g; T0 r4 Y
      {
5 P* {) n" D3 j            cout<<"三点不构成圆!"<<endl;
; H4 _. O2 k0 F5 T1 w: Y            return 0;4 f& n! d( V3 Y5 {
      }# [* O" }5 @0 W- N! Y! _
      if((y1!=y2)&&(y2!=y3))
) F9 D6 D" }# t2 c7 {* i      {4 }  i4 ?; s, d
            k1=(x2-x1)/(y2-y1);0 H/ v. S$ a) }6 j+ q
            k2=(x3-x2)/(y3-y2);( O0 Y% M8 m2 M' [/ y0 ~, B
      }2 F: c: c9 \; I+ ^  d6 ?9 ^
      if(k1==k2)! D# D8 {1 @; p& P: I3 l$ [5 W% _9 I
      {
2 a9 o! _6 s2 [% o' _7 x1 ^            cout<<"三点不构成圆!"<<endl;' @. _1 j8 o, o0 ~# y7 k" e) f
            return 0;
5 I" Z2 k) I) {. K3 k+ L      }
" F3 l$ \8 W+ i- g+ U+ F      a=2*(x2-x1);
: T$ N7 j# }) F! A! I, s9 i) {4 v      b=2*(y2-y1);4 j# m" G7 V8 u9 L3 c; b) _: J9 j3 f6 d2 D
      c=x2*x2+y2*y2-x1*x1-y1*y1;9 a* S% U7 }0 i
      d=2*(x3-x2);
5 i4 c/ k: e! {& p      e=2*(y3-y2);' Q6 z" [4 T% M& L% }& q
      f=x3*x3+y3*y3-x2*x2-y2*y2;
0 F4 U4 h) \( l( s; N  F* `4 ?      x=(b*f-e*c)/(b*d-e*a);7 J( P8 a  M8 q% y
      y=(d*c-a*f)/(b*d-e*a);! h+ l1 n6 }1 |' w
      cout<<"圆心为("<<x<<","<<y<<")"<<endl;
) w7 u4 A, ^7 ?- J6 _4 @      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));8 W6 M! T4 ~2 `6 O
      cout<<"半径为"<<r<<endl;
+ P/ J4 a* T. T- s4 d      return 0;; k: o- q6 n7 l( a  Z3 s$ Z
}2 U7 \" H' o4 e& a( F/ b* C& k
14,查找圆心
8 M  Z( Y# ^0 m" q5 @; U            UF_EVAL_p_tevaluator ;4 n; \8 V& W3 `. g7 x" a7 X0 d
            UF_EVAL_arc_t arc;
) n; p: d  b! ^" ]3 C! J            UF_EVAL_initialize(obj_tag,&evaluator);
4 f! o/ l% N& v            UF_EVAL_ask_arc(evaluator,&arc);2 W! i5 Y$ S& h( f6 ~' |
            UF_VEC3_copy(arc.center,point);           & o& ?8 S0 C% [7 ?7 g4 n* ]1 H5 |
15, message_box6 m5 D/ L; M& k2 }: e) {
void message_box(int *res_mes)
  @! d2 ^: _' |4 s: W3 n{
* i- f1 e' R1 ]% I/ S% P- J: C8 l. P      UF_UI_message_buttons_sbuttons;
% \! i5 @0 z, ^+ O5 a  g  G      buttons.button1=TRUE;
" N$ k6 V5 L8 U( r- d      buttons.button2=FALSE;
1 w  u0 M$ B+ F" n" J; C      buttons.button3=TRUE;$ `& R! h5 c  U5 E8 ~
# d7 U$ n) M) p" t  X
      buttons.label1="OK";  M7 @: Z7 M1 N* `' [# \: m# g
      buttons.label3="CANEL";
& d; z, U, p& K6 a8 M
4 h+ E1 \" z3 l. x3 X0 g* i! B% \      buttons.response1=UF_UI_OK;
* A+ {7 k6 W6 x  g) P+ k, O      buttons.response3=UF_UI_CANCEL;
! u' W( L  N( |- y) R  m
* {4 w) [# C4 X' v3 f: J      char *string_msg;8 C3 G) T; Z+ z* Q  A$ A
      char*material_msg="ALL selcted objects will be removed";
+ c2 |. C% ]9 ^+ h) [# k  H: P+ i      string_msg =material_msg;
" _" w! L: R* Y9 V- u; ~) {7 K- \
$ U5 l* h, e% p9 ?  G9 m! r" }0 h      UF_CALL(UF_UI_message_dialog("",
9 k9 O4 B" ~1 M+ q3 h: g- i! d            UF_UI_MESSAGE_WARNING,. N# S, L: H5 q6 \- c
          &material_msg,6 H( K: W. `& A# _6 p
            1,
$ _/ \( i- a" s6 |# z; [            TRUE,
9 f6 `  N- X' z8 r$ j$ w4 [" y            &buttons,  i8 r; x$ d. A, u3 j
             res_mes ));5 g: b. D, I, `# Z% y/ u# \
}1 |# u7 i! B: e- o; O$ W
16,选择过滤
9 x; u# T! k7 \  k( E# lstatic int init_add_face( UF_UI_selection_p_t select, void *client_data)- t0 P7 E+ X! `. w1 o
{
2 }; D* ]# d* t) ^. y      int nums = 1;
' h, ?& V' v1 u7 d% z7 Q      UF_UI_mask_t masks[] ={
) }' Q: Y( P9 e/ Y) Q% a            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};0 r1 E+ }' Z1 x1 _9 r

: R5 x0 \9 L0 ?* ~+ k1 Y/ E, n            if(  i& w) J1 |) e# a0 h
                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)
  ?% O( z' c. t8 B9 ?; t: l- ?  r                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0)8 c1 X* ]+ q( P4 R" U5 p6 x
                  )
$ V3 J5 P/ R( T" r            {
7 O% o5 H( ^9 {! H3 y                  return(UF_UI_SEL_SUCCESS);$ K, V- X. L/ h' ?/ _
            }% Z% B. _) q! E: h+ g6 v+ T
            else
$ {! s) z, j9 R            {     
% g( G& d6 Z0 H                  return(UF_UI_SEL_FAILURE);
( a* H5 u, p0 x            }* L! p+ G, T; M( N5 q; X
}' [( }& `9 k9 I3 A( W' f) @: e
int find_tag(
8 p4 U( j6 D* u' H- a+ {5 H: L4 x; G                    void * client_data,//用以传输过滤资料
: n8 H& [* G4 x                   tag_t object//现在鼠标所选物体ID) S' j4 _& Q* e: P
                   )$ p2 `5 ?% a+ k' F  E" a6 W! p# `
{4 m2 o0 F# o; s" l. F
      user_data *obj;
, V3 N- A7 Q7 D; _2 ^: c      obj=(user_data*)client_data;+ R# U! E+ g: C) x6 X; @
      int find_face=true;//接受/ x2 B0 _1 R7 s( A4 T9 Y3 b+ a
      char *string1;! K# \2 A  C6 q6 G
      string1=newchar[133];
* c' O, ?0 `) W      string1=UF_TAG_ask_handle_of_tag(object);
# [* [7 X8 z4 c. Y" ]7 a      for(int i=0;i<过滤的数目;i++)1 B* R! L  ~, G/ G+ U1 n
      {
. @( P& Z2 u/ B9 [- T) R* u4 I; W% o7 l; v7 c! @
            char *string2;& C& x7 w! ?, u. W0 Q
            string2=newchar[133];1 o( A. D2 Z/ Z6 f, F+ P/ A) B
            string2=UF_TAG_ask_handle_of_tag(物体ID);0 S3 d1 n7 _) i2 h' Y
            if(strcmp(string1,string2)==0)
9 ~; k: @7 C! ]5 O3 o+ V            {( A" N3 u# L3 n% y* ?
                  find_face=FALSE;//不接受) R  {' a4 H8 A7 A

4 P; H( }& _. f2 l, }/ u7 z8 `" {            }
3 P& \' u8 Z; }- N1 }            delete []string2;! q: N7 A1 \1 ?% ^& |$ J
      }
: n/ b3 F, k8 R& M  R3 `      delete []string1;0 G% D  ]$ h) v/ m+ q
      return find_face;9 Z  W1 w6 W: X: L
}
5 m& [! b+ X3 r* x' h6 S2 H  h. ?( d) `$ s2 J' P5 K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了