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

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

  [复制链接]

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

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

admin 楼主

2015-3-2 10:31:39

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

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

x
; `5 `* Z. U! w/ N$ H* z
7,裁剪片体
: O0 `7 Y: Z. ]3 N* w7 V8 Jtag_t  *trim_objects;& ^3 f0 z, u7 g5 u
trim_objects =new tag_t[count];
2 y$ _+ L# V# u) }7 Xtrim_objects =bound_id;$ ^! p0 Z. W0 w  H7 F" o1 f
voidtrim_sheet()
) Q! U$ d1 W3 f+ r, l& q{
/ N& t/ y; q$ ~( l6 N* M! \
( a  s+ x/ W" u( H      UF_MODL_vector_t projection_method ;1 Y& b. N4 q9 d, `
      projection_method.reverse_vector=0;5 [5 y9 t8 i. B8 B8 g# J- _
      projection_method.vector_type=UF_MODL_VECTOR_DIRECTION;( k$ `' x' }/ i
      UF_MODL_vector_defined_by_union_tdir1;
/ O3 ?% i$ |$ Y0 E5 }      UF_MODL_vector_direction_t dir2;
! {7 \) e7 s$ W) ]: r' O' P      dir2.xyz [0]=dir[0];% N) I2 w" v9 c. v- z
      dir2.xyz [1]=dir[1];
' _& k# ?; O6 L" W. }- I      dir2.xyz [2]=dir[2];; H- Z1 {+ F& o9 ]4 O6 z% v; B4 Y
      dir1.direction=dir2;* f, Q6 V! D: I
1 d3 c) c4 F& e9 o" N9 X( B% _
      projection_method.defined_by=dir1;
2 G# [+ w1 j* [! ?2 F/ g2 V# Z% u0 ~* q2 k
      double point_coords[3] ;* x+ L% Q' I8 j! h- n4 {/ v
4 z/ E; \! j7 e; _- I. j" P
      point_coords[0]=center[0];* k4 D; [, w3 Q/ E
      point_coords[1]=center[1];
7 u/ ?4 s! R& g- F+ F# }) e      point_coords[2]=center[2];8 A! X/ ~* F9 Z7 t, T2 F

: W* q& U$ z) O      int gap_point_count ;
% S! ?7 k6 ^7 w( s      double *gap_points;+ J5 ~* E0 S# q7 S
      tag_t feature_obj_eid;# w" ]5 ?* p1 d0 X
      UF_MODL_create_trimmed_sheet(sel_sheet,edge_count,trim_objects,&projection_method,+ }4 @9 e# P% U# p
                                           0,1,point_coords,0.1,&gap_point_count,&gap_points,&feature_obj_eid);( ~4 E4 h% s: V2 e6 e  M4 e/ }& C, D

- K5 o0 Z5 l3 @  |; {}
7 _: q" _$ B) ^8,offset偏移1 ~& w2 w9 P' a2 q. m9 G! T  v1 [+ ?

$ O9 H$ e9 G9 D5 ]$ Cchar   distance_str[] = {"10.0"};//偏移的距离
, ], h( ^+ d6 U0 x- c# N
+ g, g1 m" q6 R" h/ i2 j& [+ V% Mint  num_curves;) z' w/ {; `! H. a3 U
tag_t *offset_curves;% e% W- f' U  ?! k9 t- j& Z# J" a
UF_CURVE_offset_distance_data_t  offset_distance;- m$ r7 S6 @0 d! m; I2 t: X4 _# I- ]
offset_distance.distance= distance_str;
* w3 r1 P2 I& G& Q; m+ B1 [( g% eoffset_distance.roUGh_type=1;
: v9 h5 M- I& s1 \/ P$ ]" MUF_STRING_t   input_string;
# d4 R0 ~! l& q/ \# Z, Jinput_string.id=curve_id;//加入想要偏移的线9 N, n" d. ]# l1 f
input_string.num=1; //偏移矢量方向数量9 E  F3 @! t2 v* F! t. L; `
input_string.string=&string_count;//偏移线的数量9 v7 j+ D; q4 W6 {2 x
intstring_dir=UF_MODL_CURVE_START_FROM_END;& P& \) d# {0 O- ?' v: u* w5 c' ?
input_string.dir=&string_dir;
+ f4 a7 y. ^# J" P- n
; W" C1 o5 D7 `% A, \/ mUF_CURVE_offset_data_toffset_data;
! K6 c/ A. |& [. P. C$ n
* |2 N% ^6 W* T: q5 P7 s6 Qoffset_data.offset_def.distance_type1= &offset_distance;
, ?. R% D3 S9 f3 @- I- ]7 Voffset_data.input_curves= &input_string;
! x8 \1 w3 @2 Q2 O2 hoffset_data.approximation_tolerance= 0.01;
9 B2 B. [8 ]$ M9 }! j1 [2 S6 ^offset_data.string_tolerance=0.001;" m0 r  E. c. X) K
offset_data.offset_def.distance_type1= &offset_distance;
! L4 V/ f9 R* u- Y; t4 Woffset_data.offset_type= UF_CURVE_OFFSET_DISTANCE_TANGENT;7 X. ]7 `: V1 M6 w
UF_CALL(UF_CURVE_create_offset_curve(&offset_data,
) `* P; l4 P+ u" R8 S  M&num_curves,&offset_curves));2 I, _% y- }: Q; Q* h/ g  V
9,创建平面8 z. Y" o( l2 ^  G
UF_STRING_tgenerator;1 G: F# n% p: X4 Z& y. s& H
UF_STRING_p_tge = &generator;
+ g5 V3 A( g: m. ?! ^& Z: e
# d: l9 X# M/ ^1 @UF_MODL_init_string_list(ge);
: m2 ^" \: L4 q& T' ^UF_MODL_create_string_list(1,12,ge);' c& H& S' W' p" N! t

. n4 d! y6 @/ O6 j/ s( pge->string[0]= 1;
4 d2 R9 e8 w& K" ~ge->dir[0]= 1;//指定线从开始到结束
( r0 e2 k4 B4 _+ e: |5 Rge->id[0]= arc_id;//指定边界的id
6 B; O- X* J  h: Mdoubletol[3];
3 S( q- O/ j1 rtol[0] =.001;//直线公差
6 o  P9 Z9 T' T. Itol[1] = .5* (PI/180);//圆弧公差
3 `9 h2 c1 K0 d/ u: c" o3 stol[2] =.02;//不起作用5 F6 b4 p' D# D& j! u
UF_CALL(UF_MODL_create_bplane(ge,tol,&bplane));
5 w# N* t8 F4 e10,选择$ B( l* c! i( H& A
1),点选择
7 i9 w0 o! S0 z& w' p! Utag_t point_tag;" P% ?: q: a5 L* x) k: [
double point[3];9 n( q$ Z% h$ y6 N' ]2 c
       UF_UI_POINT_base_method_t  base_method=UF_UI_POINT_INFERRED ;  - G5 t0 X7 _; K; @5 w
       intpoint_res;9 ]& A0 @; i! T0 V$ Q

5 V" c5 {% c8 z! A" m! PUF_CALL(UF_UI_point_construct("选择起点",&base_method,&point_tag,- a6 V8 f6 |2 ?( O0 o3 [0 l
point,&point_res));. G# h' ?5 ^% e, I
if(point_res=UF_UI_OK&&NULL_TAG!=point_tag)
& b: [! H  A0 P; L$ ~, t{
& X2 A) W2 @, }: ]: `' u }  G8 Z2 T) `; r% [" t2 D) G
2),向量选择  v% u5 E! L, h9 _: ]: e6 r8 a
     int  mode = UF_UI_INFERRED ;
  X; f9 x) @4 }9 q' w5 x) ^     int  disp_flag = UF_UI_DISP_TEMP_VECTOR;& L! j7 ~# i1 |0 z/ r; `! n
double vec[3];7 c, I) o! g0 K( T! [9 w
double vec_pnt[3];( M5 g6 u2 ^) z# ~* U  C
int res_vec = 0;
4 \+ d4 Z( Y7 Q/ x6 m     UF_initialize();  . O9 ^8 @( {) ?/ J% s4 f' Q
     ifail=  UF_UI_specify_vector( "Choose aVector",&mode,disp_flag,
1 k4 K, f% X% d5 F- U           vec,vec_pnt,&res_vec);
3 F1 ]" f9 W3 u6 A: |3 D+ ^. d     if( ifail != 0 || res_vec!= UF_UI_OK )   
1 ]4 z4 q8 y7 P% k1 u     {     
, S- ~& z& J9 c! O: ^           UF_UI_ONT_refresh();/ s. P3 {6 l  ?6 F2 ^
           printf("No vector selected \n" );0 u/ g5 h$ n. o- F; I; U  @# D
     }5 ~8 s9 t' {# Y1 x
     else
; j5 R; r  O: z9 j% n     {
" v  z$ }1 C3 X. u7 n           printf("Vect base (%f, %f, %f), direction (%f, %f, %f) \n",
, T& Q: u0 @, b5 g4 \1 M                 vec_pnt[0],vec_pnt[1], vec_pnt[2], vec[0], vec[1], vec[2] );
  g# m# ]! r. K! Q* u) h7 B}- m3 q' ~+ X# i' U+ H3 o
3),平面选择
3 z3 h1 A6 y  b. _tag_t plane_eid=NULL_TAG;
% u6 c5 z: \  e1 s% |double orientation[9] ={0,0,0,0,0,0,0,0,0};
* c& d8 X- `  X( p3 O   double origin[3] = {0,0,0};, j" ]9 `& I! w/ X
   double pts[6] = {0,0,0,0,0,0};( b- W: @' Z: |3 h9 c
   int i, error_code = 0;
6 {+ P2 T/ c4 C) T7 o* C4 I   int mode, display, response;% ]- f, x1 Y3 K# ?1 H, i
   mode = 1;                    
) \9 N6 o( [  u& }0 Wdisplay = 0;      
- B8 E% M# q: v# r8 PUF_initialize();& R4 C. u/ V* e% Q  i
   error_code = UF_UI_specify_plane(1 T. {& l' H$ M
         "Select Plane", &mode, display,1 L9 Q- @6 |+ j' F) b3 l' J% T. q
         &response, orientation, origin,&plane_eid);
3 ^% X- Z1 M9 Y% N! G: J8 U, T( g2 w9 P
   if ( !error_code && response != 1&& response != 2)
5 `! e8 S- h+ t- j   {
! D. X. O4 ^( v& P                     for (i=0; i<3; i++)
) X. N$ S% z$ k$ ^7 T               pts = origin + orientation;, m7 G0 B$ v  u# U6 b/ B9 }
                     for (i=3; i<6; i++)
# ^. J4 @3 S, p. i) w. T               pts = origin[i-3] + orientation;
: J9 m+ M8 I3 i         FTN(uf5374)(origin,pts,&pts[3],&plane_eid);* e' ~; M. t& m/ ]  m9 ]
   }
, x) ]& ?' ]* O% ?2 ]: O: O11,临时点,线
2 U$ v4 J. J/ D" Zvoid display_temporary_point_line (double point1[3], double point2[3])- W1 A! g& h1 k  u+ O3 v* `
{3 k- S8 L( W  r
  UF_DISP_view_type_twhich_views = UF_DISP_USE_WORK_VIEW;
% ?. t, `8 U* \% @+ L  UF_OBJ_disp_props_TColor;6 R/ H5 Z3 h6 ^6 k
  color.layer= 201;
! n# u" |$ ^$ _  color.color= 186;
0 x! B! Y, x4 H! h9 [  color.blank_status= UF_OBJ_NOT_BLANKED;5 I5 X2 v# S" D9 r  f. ]" o0 M
  color.line_width= UF_OBJ_WIDTH_NORMAL;
8 X6 D! ~+ b' J, Q  color.font=0;
) G2 x5 _$ i# A; Y  color.highlight_status= FALSE;
' v6 b: A. Z- ^" o( F! [- M+ E  UF_DISP_poly_marker_tmarker_type = UF_DISP_POINT;
+ |: y) C" y) u  T$ ^
$ x4 h8 z" b7 k& s# R3 \UF_DISP_display_temporary_point ( NULL,which_views, point1, &color, marker_type);& L, |1 l* G7 _% v! {& f7 h
UF_DISP_display_temporary_point ( NULL,which_views, point2, &color, marker_type);* N3 s; y/ \0 v7 k( r
UF_DISP_display_temporary_line ( NULL,which_views, point1, point2, &color);& ]" ?% y* O! h" O3 U
}
2 P0 I! ]8 I. y12,WCS与绝对坐标转换& C" \  R' v/ m7 {
                        voidcycs_wcs(double point[])
1 h9 }- b' r0 ^/ ?' `{
" Y1 y8 B8 p5 V) Q6 V& |6 ]      tag_t  wcs_id,matrix_id;  i# W7 H: Y$ s& L0 g
      double matrix[ 9 ];, g. a6 m& q; Y- M7 q$ E
      //wcs_origin:工作坐标系原点,vec:工作坐标系轴向量,point_origin:点到原点的矢量# m8 m7 R4 q1 O2 C2 P
      double wcs_origin [3],vec[3][3],point_origin[3];$ W6 E+ T3 X  b2 N: d! {* w
      //1,得到工作坐标系
' g' f* E! M% ~5 J- i1 w% n+ u      UF_CSYS_ask_wcs(&wcs_id);3 ~& D: [6 P  J! |0 |7 D
      UF_CSYS_ask_csys_info(wcs_id,&matrix_id,wcs_origin);                    ! g* _7 Y7 K  t
      UF_CSYS_ask_matrix_values(matrix_id,matrix);; ^; s6 j% s2 s) D  A4 F

( y! ^: i# b: V5 y  A. a      //2,得到工作坐标系轴向量* S4 O& i% d3 h, `  E
      UF_MTX3_x_vec (matrix,vec[0]);/ g( y6 k/ ]: \3 w! ^9 X
      UF_MTX3_y_vec (matrix,vec[1]);; t( ^% p/ e! X4 G
      UF_MTX3_z_vec (matrix,vec[2]);4 n- J* j- T0 D$ [2 v3 J* |- \" ^
- z3 v; k' I8 K& M0 r4 e. t
      for(int i=0;i<3;i++)
# B7 ^% G& ~: Q$ P      {     
( u7 J: j# g" @+ _2 i0 h- G            double tol;
9 X: K/ D1 D# I& A//3,得到点到工作坐标系原点矢量
( [2 `/ l! F" s$ U( }9 j            UF_VEC3_unitize(vec,0.000001,&tol,vec);. y; L- ]9 ^, s7 v2 U6 E4 V! C
//4,得到点到工作坐标系原点矢量
+ `' Z! d; A) p, y            point_origin=point-wcs_origin;% g& _6 E: p. X" r& v
      }
5 U0 N- A) I: s& t      for(int j=0;j<3;j++): D) k, {9 X/ Y
      {6 Z) {7 f) y# h8 ?/ q
            UF_VEC3_dot(point_origin,vec[j],&point[j]);
& I1 E2 C" T/ q* w. k; p* B' N      }
# l$ G6 F) _# T* W8 f0 n4 M}
0 e/ |. \3 g6 L$ _$ N13,三点求圆心
0 O2 i. e9 S) O7 d0 r, j#include<iostream.h>
$ B4 G8 |* A9 h" B2 }2 U#include<math.h>
5 T+ h9 u9 C4 t0 n% V, W2 A0 Z7 \9 J* I& G- H3 F1 z2 G7 l
int main()
. H9 a; n0 o* f* F7 z0 R* P. [{7 q% T& \- T4 k! \) N$ a- l
      int x1,y1,x3,y3;6 Q0 B3 A- @; B) |' A- {% N
      double a,b,c,d,e,f;
. F8 j2 D/ e3 A- ]. d5 S3 P, Q      doubler,k1,k2,x,y,x2,y2;
& Q- M" d- I3 F& @      cout<<"请输入x1,y1,x2,y2,x3,y3"<<endl;6 H  c! q9 E9 N8 t
      cin>>x1>>y1>>x2>>y2>>x3>>y3;& d1 W4 S9 @8 \3 k
      if((y1==y2)&&(y2==y3))7 S& x3 Y# N5 t- r5 b5 U* h& h, U
      {! U7 {- K1 M9 D/ L
            cout<<"三点不构成圆!"<<endl;
+ I. Z4 U! k! l/ G! z$ g            return 0;
: C- r, ~! X& k; m      }& ~- d# K3 u6 i2 f% G
      if((y1!=y2)&&(y2!=y3))7 k+ h$ }7 h; y9 U
      {
. i: Y8 Q% N& z1 b. L& D7 s            k1=(x2-x1)/(y2-y1);$ }% w3 y. }# Z8 x$ G
            k2=(x3-x2)/(y3-y2);3 R" G2 |1 N! {% d) ~
      }
+ @9 A' N  H8 d      if(k1==k2): |* f9 u9 B: Z3 W  s
      {  H$ \" z' m9 s
            cout<<"三点不构成圆!"<<endl;! |. P, p$ U7 m( d
            return 0;
, V& N3 @& V# r9 y$ F& B      }
; D3 g) X: l7 Z0 }4 Q$ @' e      a=2*(x2-x1);8 x" Q, s$ }- {+ k2 z4 U1 @1 v
      b=2*(y2-y1);2 |8 Z9 v9 [  g2 {5 T
      c=x2*x2+y2*y2-x1*x1-y1*y1;5 D, ]- @2 H2 @  N1 o: H8 H+ W9 U
      d=2*(x3-x2);
4 F' I6 X  B. X3 d, p; l( c1 N      e=2*(y3-y2);
5 _- ^& C3 [- k7 b. [5 t; R3 q* b      f=x3*x3+y3*y3-x2*x2-y2*y2;4 {3 V" n4 H7 n% A; C* [; @! d  x
      x=(b*f-e*c)/(b*d-e*a);3 F3 y5 e0 g/ ?' A$ v, t
      y=(d*c-a*f)/(b*d-e*a);
- J$ S; i, i7 D" E, t3 _5 V/ J+ X      cout<<"圆心为("<<x<<","<<y<<")"<<endl;2 W  _4 E, Y1 \4 E  e
      r=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));- P3 P9 f. e& K" d& D9 l" x
      cout<<"半径为"<<r<<endl;
/ J& d0 F4 o0 ^% Y' n      return 0;
8 I$ R9 C0 E' m* ]}* z0 g2 w, ~& T7 k% `
14,查找圆心. B# j& d% t0 M( J
            UF_EVAL_p_tevaluator ;
' K$ a' E- P' |; w7 G: R. R            UF_EVAL_arc_t arc;' r; D) ]4 v9 S; t! m& _6 j
            UF_EVAL_initialize(obj_tag,&evaluator);
5 I' x0 }, m: g            UF_EVAL_ask_arc(evaluator,&arc);
: T! x) O. y1 J% J            UF_VEC3_copy(arc.center,point);           
& x/ t, H' h0 U" s# o7 c% f15, message_box3 s; `$ N2 V0 p
void message_box(int *res_mes)' l+ @6 u" k) W: a
{
' ]1 L2 h& X8 e0 q! ?- z( p      UF_UI_message_buttons_sbuttons;- M& u9 F& h, P
      buttons.button1=TRUE;
% Z/ r3 R# @( G+ `' A' k      buttons.button2=FALSE;3 q& E1 M7 M* r: i! E8 w! V
      buttons.button3=TRUE;
( j. R  Y+ F1 c$ H# P( S/ b* p+ H. h1 M, D9 O( e. N; t2 x
      buttons.label1="OK";
2 q" D; }( T0 q* ^$ S1 ]4 K      buttons.label3="CANEL";# t+ |, F6 P7 J9 Z! L

, V2 j  B' R! q' Z- w# P7 `. B$ s1 ~      buttons.response1=UF_UI_OK;4 b# R+ ?8 \4 P/ e* ^2 d
      buttons.response3=UF_UI_CANCEL;9 ~) C& W* j+ l. _% C0 Z

/ S/ y3 D  S9 S' x$ ^1 C; p      char *string_msg;& W8 W$ d4 `: w! R
      char*material_msg="ALL selcted objects will be removed";) e0 @7 Q  k& i6 J/ G/ k9 ^
      string_msg =material_msg;
/ v4 Q, B8 j/ N0 c- l: Q5 U8 F; u6 g9 v/ a
      UF_CALL(UF_UI_message_dialog("",
" Q  m2 Q- S; d# I            UF_UI_MESSAGE_WARNING,( B- C6 [2 `( k5 \1 q- O9 s6 {' f/ e
          &material_msg,0 G5 O/ u8 @' i$ ?5 O
            1,
6 D. y; ]+ ~- E( q            TRUE,
4 R9 a5 q8 E" ~0 u; _* E9 T            &buttons,
% R' `  U. R) G5 E# a             res_mes ));3 o0 p! D: C% |& R
}
  E' I6 I+ r1 J16,选择过滤3 [) o" ^: m( \) N0 m: @! Z
static int init_add_face( UF_UI_selection_p_t select, void *client_data)' B6 a# A1 C1 H: x3 J' I
{
- o" f+ k7 P& H2 i- I5 Z      int nums = 1;. v+ z) u0 y! }$ u
      UF_UI_mask_t masks[] ={, I% v3 Y4 o. w3 T. I
            UF_solid_type, 0,UF_UI_SEL_FEATURE_ANY_FACE};* G$ C; Z8 v4 `* z

' k" ]7 _: ]8 X9 W. B4 Y1 Q            if(
: X/ y' k3 u9 _% b/ M1 H                  (UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,nums,masks)==0)
2 e) f, K1 ~& U7 u- r                  &&(UF_UI_set_sel_procs(select,filter_proc_circle,NULL,client_data)==0); p: z4 ]% Z! D( t7 \; }* `* d
                  )
- z2 P8 Q; ~0 T0 a6 M- _            {# z  j4 @; J3 C* Z# ]- s# n
                  return(UF_UI_SEL_SUCCESS);& u% g! }& u2 g2 e2 ?% t+ d$ P
            }
) M& s& K; t; H, r( W' D            else
1 ~2 a- D; l/ |            {     & T& u  _5 e$ P" L' C0 s: N- ^  l
                  return(UF_UI_SEL_FAILURE);6 q( C0 ?+ J5 S! W4 Q  @
            }
2 K" o5 t. h  j1 {}1 [8 x+ }: ~- Q
int find_tag(
& d* k! I2 w* F5 G  W7 J& c                    void * client_data,//用以传输过滤资料3 y( ]5 l% i; _/ \6 l1 }1 ^7 z
                   tag_t object//现在鼠标所选物体ID
( k$ n& V& d9 l! V$ C                   ); l! j% i9 K5 x8 g* W
{. Y% D: \8 [) X: f0 l
      user_data *obj;" r: w4 f6 b9 o& a) }! [' P' ~
      obj=(user_data*)client_data;
& p, e' W, R4 F# _  P2 I      int find_face=true;//接受
4 R5 x' q$ q* J+ G( K0 u/ r      char *string1;# @; K1 k5 _3 m$ W8 L5 p# V
      string1=newchar[133];
+ |% b6 C4 U  q8 b1 [2 c" `      string1=UF_TAG_ask_handle_of_tag(object);
8 X0 R' N9 r# i5 K$ D' }      for(int i=0;i<过滤的数目;i++)
5 H; I1 l5 L5 ]7 v% q* Q! W2 K; ]      {0 {- A" p& k+ U; J
) u" P4 I6 s& }0 |5 f  K3 N
            char *string2;
# Y, o/ d0 q0 K% }) V            string2=newchar[133];
, a" h" k. q0 n; K            string2=UF_TAG_ask_handle_of_tag(物体ID);
3 r/ `" N  S, A9 Q) \+ H            if(strcmp(string1,string2)==0)1 s6 s  _0 C& E% {1 Z0 S2 ?
            {8 p$ p) ]2 W4 o5 w# G" n0 Q5 Z
                  find_face=FALSE;//不接受
! G2 {4 Z+ O* Q  a% S$ P& W7 W" ]+ H
9 V& x& {: n! i6 A3 z            }& M( @7 ?/ w9 v  E
            delete []string2;
' V6 n# M, r" }6 E: D) s8 f      }
( n: V8 n# R$ v' z      delete []string1;
! V  a- D% A3 z8 v      return find_face;
2 B: b6 D! ~5 m" x8 `. S}5 F0 l( g! G; ~1 k" ^
6 p6 b  S" j9 r+ }( v( C6 G
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了