亚洲精品自拍偷拍_欧美八区_天堂中文资源在线_99热超碰在线_伊人亚洲精品_日本中文在线

若楓后處理論壇

標題: APT刀軌數據生成NC程序C++源代碼 [打印本頁]

作者: 若楓    時間: 2025-5-21 20:59
標題: APT刀軌數據生成NC程序C++源代碼
APT刀軌數據生成NC程序C++源代碼,本功能僅作為技術交流研究之用,代碼,功能可能存在缺失。需自行編寫刀軌數據的讀取與處理。以下僅為部分代碼以下為頭文件部分源代碼
  1. int  EQ_is_equal (double s, double t);
    ' J' t3 [% ]' T- {0 y3 j
  2. int  EQ_is_ge (double s, double t);% E3 ^: q6 m. a& i
  3. int  EQ_is_gt (double s, double t);+ [2 N7 N  L7 L  e
  4. int  EQ_is_le (double s, double t);
    " y. i, k% n; O
  5. int  EQ_is_lt (double s, double t);4 i* _7 T8 I2 L! `
  6. int  EQ_is_zero (double s);3 x% T( i9 J+ D$ q& u# e* K
  7. //=============================================================0 Y+ N8 B' W# ^( ]; U) ^
  8. double ARCTAN1 (double y, double x );  I/ T6 E$ ]% `# q9 P+ N
  9. //#=============================================================
    - F4 J$ M' L- T( c+ `0 z; @* S+ q
  10. double ARCTAN2 (double y, double x );
    # `# K/ {: @6 Z' q  }
  11. //#=============================================================
    + ~4 v- g, _- L2 f4 A6 C
  12. double CheckConst ( double angle, double constvar  );
    0 L+ g% }/ m! u' e6 a; @
  13. //#=============================================================+ i( k! K- |" D) h1 R& p2 Q
  14. double Check360 ( double angle );
    , W% b4 u3 W7 W: b* c2 h# h* u
  15. //#=============================================================9 v- r6 b% C0 S' o
  16. double CheckLimit ( double angle, double kin_axis_min_limit, double kin_axis_max_limit );; C. u) O+ K' v* j. d1 C
  17. //#=============================================================
復制代碼
; q9 L' S: G% V5 M. A8 ~9 u7 _
以下為部分源代碼,用于判斷,計算角度等
/ ]5 g# R( ?7 f( e
  1. int  EQ_is_equal (double s, double t)+ e' x; V% M  X0 a$ [9 ~- o3 q

  2. 1 _) J! o$ a9 b2 [
  3. {
    8 I& u2 i6 F6 R4 P

  4. 1 M& }! s- F* d, a' q: l
  5.   if (fabs(s-t)<= system_tolerance)  { return(1); } else { return(0) ; }
    5 K1 e; w# [# \* S: p7 A

  6. 1 i" L  j5 w& w
  7. }
    ( D! b% F2 e6 M3 H  C
  8. / n7 Y; P3 L, y& X0 u) e
  9. /***********************************************************************/
    & t% I) `' f% l
  10. % D/ q; V" t9 F  i7 N& h) c
  11. int  EQ_is_ge (double s, double t)" ~3 N: H5 E' N* B& u' d4 Z
  12. ! H! V/ w; X4 G' k
  13. {; K8 K8 `1 j1 s3 A

  14. $ R$ [" {7 _2 }5 V
  15.   if (s > (t - system_tolerance)) { return(1); } else { return(0) ; }
    7 f% _! l1 w5 a1 ?7 o" o0 E, c
  16. ) u) P* v5 e9 h0 H2 W! b0 ?
  17. }
    1 L0 z0 z  z# a- `0 C

  18. 5 }6 q& K( E1 l
  19. /***********************************************************************/; \0 ?6 O, B1 C' R% ~) ^) {$ j3 F% H

  20. $ Z6 k( v+ G. v, m3 y3 t
  21. int  EQ_is_gt (double s, double t)& `% g: V2 S+ o8 D6 I. h$ d
  22. 5 E7 P1 u. @2 G# c/ _. E0 W
  23. {
    3 ?2 R2 B3 x, p8 l- t2 f) C4 C
  24. ; e* H0 c" w2 G3 s! i) J
  25.   if (s > (t + system_tolerance)) { return(1); } else { return(0) ; }
    * O8 B* W& \, [% H
  26. / |) X' ^; k7 k% Q
  27. }
    1 g' h; P; ^8 u* ^

  28. 4 ]: {2 Z) l5 f- b
  29. /***********************************************************************/
    6 y7 f) D, _% s, g
  30. # K2 c$ i* A# W0 j, R% t0 b9 B
  31. int  EQ_is_le (double s, double t)
    ) m0 @9 x# E3 l1 ]0 W  g  {6 H
  32. 9 D2 l; n8 r8 g( ]! Q3 w$ @" y
  33. {
    8 d( U; Q+ \- ^% u- A/ a( T- U7 A

  34. * }% r6 y  L% }# B2 |/ |2 I6 a8 J
  35.   if (s < (t + system_tolerance)) { return(1); } else { return(0) ; }
    0 H' K9 |  E5 J. c( ~/ T& E
  36. , \. r" q; j' w' [
  37. }
    6 N& f. Z+ y* i; W# s

  38. 3 H" O: i0 u- f9 Q3 ?  R: @8 j
  39. /***********************************************************************/4 `5 }/ T9 v5 `

  40. , h7 _! f( u) k! a# e2 R
  41. int  EQ_is_lt (double s, double t)& d7 W: [' ^5 n1 k# `& W

  42. ' R  ^1 J  a& _) l$ f
  43. {! b$ l8 A; `- [
  44. 2 J9 i$ ]# o/ k4 u7 w) A) ^; G; E
  45.   if (s < (t - system_tolerance)) { return(1); } else { return(0) ; }$ z4 J$ x2 X, `1 g

  46. 1 Z& ]0 N  [/ O
  47. }
    , o1 p' g/ K5 L+ f* ~4 e! A) J  D
  48. : Y1 Y% Q* G6 M) r9 \7 D" l
  49. /***********************************************************************/
    % n  p) k! a0 N* V
  50. - x5 r2 n5 }7 n+ Z. L
  51. int  EQ_is_zero (double s)9 D$ b; L# L1 ?/ e2 \$ M
  52. + d* [8 P% |# r
  53. {9 d- h6 V/ I, t' f  h' x5 S
  54. ! W2 k- `- I; f/ J. M- Y5 ?) r: \
  55.   if (fabs(s)<= system_tolerance)  { return(1); } else { return(0) ; }; F% X$ P4 Y& ~( ]

  56. 7 e/ n& s# y$ k. }$ x0 S: T
  57. }* f7 X- n- u% }5 l* s
  58. 8 b7 E/ V& ?7 [3 y) X( V/ U
  59. //=============================================================2 P; [2 i+ y1 P6 c9 {1 R; u

  60. 6 F, I* E7 C$ z3 t
  61. double ARCTAN1 (double y, double x ); Z) Y+ F4 c/ ]

  62.   e" r( ~. R8 k1 i1 H
  63. //#=============================================================
    ! Q3 T& ]6 ^4 n
  64. * R7 R7 |4 j2 B- I3 c
  65. {
    " M9 o5 s$ P. [" U$ k5 [: o

  66. * v  j% O* I0 @9 V# v
  67.    double ang;" E# M3 w+ q+ Y9 ~

  68. & K; E+ t3 ^6 f
  69.    if (EQ_is_zero(y)) { y=0; }
    7 f4 i2 n% ]# b/ @

  70. " |6 o. h* n) L) x5 j( h
  71.    if (EQ_is_zero(x)) { x=0; }
    % z& ]* A( y4 h8 F4 b3 M8 W" u, |

  72. # R$ U3 d- q3 S# \  V
  73.    if (y == 0 && x == 0) { return(0); }
      z* v$ a' x( Y( _" g

  74. 2 H7 {3 _. T* K* x0 E
  75.    ang=atan2(y,x);
    2 _. y. q% d$ B- _3 x) P' e, A" J

  76. $ F" |7 C& W& B- g$ s
  77.    if (ang < 0 ) {) r- M! `# J) d) }  E) L
  78. 0 V' w) |8 C0 l" M) Y$ e
  79.       return(ang + PI*2);
    7 y. S7 X5 ]& x6 l1 j+ j9 _
  80.   E9 f1 {7 ^3 \
  81.    }
    ( D3 R, n5 P6 d) @
  82. * V7 U4 Z, o  u/ t2 j- Z, Y
  83.    return(ang);/ S7 P$ f8 k+ }
  84. , G' W& m. B" i
  85. }  J  |, v& \% Y, C( M

  86. 8 N* R* p  \- A$ ~4 B+ u  s
  87. //#=============================================================* N0 G9 O( \- F& F, K

  88. 2 n( X) [8 H0 [5 X
  89. double ARCTAN2 (double y, double x )
    / i+ }4 }2 P7 v: z' ]

  90. + _8 m" O1 s3 H
  91. //#=============================================================
    0 o( r' ~8 {- x
  92. 7 g% c* ^% |: O3 f7 ~, p0 d* L) ]7 R
  93. {1 z) j6 R9 m5 S5 Y
  94. : ~$ b9 r' B  O7 @
  95.    double ang;
    $ j9 Z/ l4 u8 T* M7 y4 B$ V

  96. & X+ b9 e2 e: o* a/ e, a8 u
  97.    if (EQ_is_zero(y)) {
    1 I/ v+ f' c* [6 V

  98. 0 `. R; T6 s, X7 G
  99.       if (x < 0.0) { return (PI); }
    + h  z- p- a$ f; `/ m; j& z: C

  100. 1 t: j: H9 D- h" M1 E5 s
  101.       return (0.0);
    $ o& j0 y1 p+ D* A! z  {

  102. # L2 E" o! \, ~& Q+ q
  103.    }
    ; ]" h* S: ?4 Q2 ]

  104. ! c: U4 u: T3 ?5 d2 w
  105.    if (EQ_is_zero(x)) {. V% h; U% ^3 x! F" ~, t* S  z% v5 b8 x

  106. ) }3 c6 p3 S  n! B1 X
  107.       if (y < 0.0) { return(PI*1.5); }/ S/ p% g; s- ]; _: w1 @: e

  108. ) d' z* C$ F4 Q% k& E) E4 [
  109.       return(PI*.5);
    ; A& K6 q& r1 @

  110. 1 ]) b0 n$ e$ p0 U
  111.    }
    % D; m- S+ g, h2 X
  112.   }3 n) r1 V, A' O7 S. O9 S% O7 C
  113.    ang=atan(y/x);
    & U' S* r) k6 P! m! A$ ?1 A

  114. 8 W  |) z: d: v
  115.    if (x > 0.0 && y < 0.0) { return(ang+PI*2.0); }! c" y/ Z2 L! \1 K+ P

  116. 3 I. t$ S; c/ B7 V$ S
  117.    if (x < 0.0 && y < 0.0) { return(ang+PI); }
    $ s- B+ b0 ]4 {& Y% Q+ t

  118. ) Y+ M2 {3 E4 N+ q+ c8 F
  119.    if (x < 0.0 && y > 0.0) { return(ang+PI); }" n" n( d4 K& e8 L/ T

  120. * O. E! R, |5 S9 F* c7 z( s
  121.    return(ang);" m: F. @5 }  l) I3 o" G$ l; n

  122. 0 G& X. V9 L+ C  M; ]% _: X. O
  123. }# @5 n& E: {, q6 V
  124. 7 J3 e2 n2 v" C  _
  125. //#=============================================================* o+ i$ H* A! |% f: @9 f/ V3 U4 Z
  126. . a$ K2 l# }* K& N- H; ]/ ]( f
  127. double CheckConst ( double angle, double constvar  )
    # G5 e& a: E; S, }
  128. , N) A9 w+ n" i. M. P
  129. //#=============================================================9 z5 y$ ^0 |) L8 ?( z

  130. + c$ v: o  z# j, {9 y* f0 u4 @
  131. {+ H4 N! g% Y% y, S
  132. 4 c+ g% |* b  J3 z) b( Z/ H
  133.    while (angle < -constvar) { angle+=constvar ; }
    $ w4 K/ }( a; P1 S" H( w9 X& F; d
  134. 4 M- p# r# Z4 o9 J, F; M6 e* x
  135.    while (angle >= constvar) { angle-=constvar ; }0 w. j2 c# d* ~' ?
  136. % q" W' \: \$ I6 ~4 a# p8 P; [: _* r
  137.    return (angle) ;& v) N$ X3 S( r- P1 J  r9 N: N) }

  138. + p$ o2 i8 z& b- j2 @+ d
  139. }
    ! @7 @9 A5 S8 L4 P6 _/ g, @
  140. % }, _1 R5 U( _* O6 B
  141. //#=============================================================( D$ W8 W* O0 ?2 C/ p# }6 X
  142. , o" i- m& O. \# t* s7 K4 j& U
  143. double Check360 ( double angle )
    0 |; Y+ \- B1 a0 O
  144. , p/ z5 i9 V* K. Q% E) N  L& }( M, R
  145. //#=============================================================9 F  a2 i/ H- Y0 L& a
  146. 5 I0 @1 V& B* z+ e0 m' {- b1 O
  147. {% s  t6 h! N8 v5 J, g# P. c
  148. " [7 I% B- d& A; i2 R: y
  149.    while (angle < -360.) { angle+=360. ; }( M4 j, V# t% T; b# ~, e% q) ]  b

  150. ' ~* U6 ]# R# b) P* K- p
  151.    while (angle >= 360.) { angle-=360. ; }
    ' a1 G- T7 [( A0 ~4 u+ Z8 t* X; h

  152. + }# P1 y: ]% m* `9 B" Q
  153.    return (angle) ;
    % t9 v) Q. [! a" q3 P/ a
  154. . Z( t, H6 L' s8 u/ T
  155. }
    % ]* X. d" l) T3 t9 j4 |

  156. 5 a& E, l! R- [' |, c
  157. //#=============================================================; @4 c1 f- a5 p$ s  I: A

  158. 0 U: `2 `  U% E- O- `; _) C. u8 S" W% Y
  159. double CheckLimit ( double angle, double kin_axis_min_limit, double kin_axis_max_limit )
    * l4 c4 V5 _% W% T

  160. % k2 H5 C; E! ~) p
  161. //#=============================================================
    $ I( W- }7 Q5 w! `% R

  162. ! K8 T* N9 @8 @. j
  163. {
    7 ]0 U! D% g! \3 Q+ {

  164. & t! t& A" Q& f
  165.    while ((angle-kin_axis_min_limit) > 360.) { angle-=360. ; }; H+ |2 d: P* y: N$ P

  166. ' y  }0 o: }: T( Q: a9 O$ D1 Q4 J
  167.    while ((kin_axis_max_limit-angle) <= -360.) { angle+=360. ; }
    4 z7 c8 k, B8 Q( _  C- l6 c! k9 ?
  168. & @! n) l/ F! F8 q
  169.    return (angle) ;
    ' a4 u3 s4 d3 N; r9 k+ F5 v

  170. $ [; J8 K; e" B8 q7 u+ o
  171. }
復制代碼

6 M' Z( K# i5 O' \. E$ W" i以下為搖籃5軸計算過程代碼
3 I' Z+ w: R( ~* u. k
  1. i=sin(ang_rad[1]);  j=0.0;  k=cos(ang_rad[1]);( k+ b$ |6 F6 o4 Q0 o; R( |
  2. ' Z" `) Z& f! Y8 \# z4 }8 Z
  3.          j=0.; B1=0.; B0=0.;/ c$ ^& e1 [( R" D
  4. # Y: E3 @& C- U& W
  5.           if (EQ_is_ge(i,0.)) {: E" |8 j8 `1 h4 p& l9 `

  6. + g& T: }# w8 w+ H/ m7 h
  7.              if (EQ_is_gt(k,0.)) { B0=acos(k); B1=B0; } else { B0=acos(k); B1=B0; }9 G( J: x! F% T' |, w$ y; g0 e! d

  8. 8 E; X5 C1 j/ v  I) ]4 J2 a
  9.           }
    " P) l7 B1 y& M
  10. 6 o9 o4 _; @0 z
  11.           if (EQ_is_lt(i,0.)) {
    " ~3 e% C# W9 u- x0 B( B

  12. 0 L+ L% n3 b6 i8 _4 T# d, ]) O
  13.              if (EQ_is_lt(k,0.)) {" D2 Q( G' U8 p  l9 \
  14. ) b+ B8 |# p+ G+ C0 ^/ k
  15.                 B0=atan(i/k); B1=B0+PI ;
    " n' G0 z' g& F  e$ u

  16. : P  N' {6 D- W& B
  17.              } else {
    , r5 i; {1 f# Q/ A# }7 B
  18. 2 o5 V2 Q! Q3 x0 r2 d2 _
  19.               if (EQ_is_zero(k)) { B0=-PI/2. ; } else { B0=atan(i/k); }; v2 s0 r; o& m7 d- d
  20. + A1 f* c2 l, G1 U0 V; m1 G
  21.               B1=2.*PI+B0 ;
    , Z: C/ K# z, Q  V, a4 l, t! W
  22. ) G# O! G6 F% O
  23.              }
    6 z) e% A$ }5 ^/ J6 C# e
  24. 7 N$ K9 ~! h5 ~. n9 L8 u
  25.           }# d3 ]0 w3 c& K  d6 ~+ i
  26. 6 T0 H6 W: z3 ^7 _2 ]# B
  27.           if (EQ_is_ge(B1,0.)) B0=1.; else B0=-1. ;: t' i4 p8 j$ m; D
  28. $ V8 E. l& @& I; f+ q( m
  29.           B2=(-1.)*B0*(2*PI-fabs(B1));
    8 j* e% P" Y- s
  30. 1 s+ U/ O! g3 i+ v, E
  31.           ang_rad[0]=0.; ang_rad[1]=B1; ang_rad[2]=0.;- I% t0 g5 X. ~* Y8 m; l8 n* z' g
  32. 4 U6 \0 o' \- G1 `/ R5 X- w8 h
  33.           ang_rad[3]=0.; ang_rad[4]=B2; ang_rad[5]=0.;
復制代碼

7 s& [) c. s; n) F; e' F: i; U$ s3 j" F通過輸出的NC程序,反向輸出的刀軌數據與原始刀軌文件對比,其數據結果一致。  i4 h+ {8 ^# h$ _7 p, N; R

* p3 I. X2 s! ^- j& l& P (, 下載次數: 113) % G* u9 J: l% s  V9 |' X
測試結果:
# l" `, P  l6 k, n& K (, 下載次數: 107) 3 \' U) x" F. e. U5 N7 ^
4 x3 I2 V! G5 h% b- R9 w  B
反向測試結果 (, 下載次數: 115)
& F7 A, v; w, T9 D
作者: yucammayco    時間: 2025-6-3 18:53
謝謝分享
作者: 云與海的故事    時間: 2025-10-15 08:41
謝謝分享
作者: qms88888    時間: 2025-10-15 12:52
感謝樓主的分享




歡迎光臨 若楓后處理論壇 (http://www.886378.cn/) Powered by Discuz! X3.5
主站蜘蛛池模板: 男生操女生免费网站 | 三级国产在线观看 | 久久精品久久久久久 | 久草五月天 | 日本在线中文 | 天堂久久精品 | 成人激情综合网 | 黄色网址你懂的 | 国产成人区 | 日韩成人免费视频 | 亚洲欧美a | av网站免费在线 | 一曲二曲三曲在线观看中文字幕动漫 | 欧美久久久久久久久中文字幕 | 亚洲成人a√ | 韩国jizz| 日韩一区二区在线观看视频 | а中文在线天堂 | 91av免费观看 | 国产a网站 | 国产成年人 | 欧美xx视频 | 亚洲二区在线视频 | 亚洲天堂中文字幕 | 二级毛片视频 | 99国产精品久久 | 久久久久久久艹 | 亚洲a网站 | 99热精品在线观看 | 国产精品揄拍一区二区 | 欧美特级特黄aaaaaa在线看 | а√天堂8资源在线官网 | 男女激情视频在线观看 | 欧美日韩视频在线播放 | 中文字幕日韩视频 | 天堂在线中文视频 | 日本少妇激情视频 | 在线观看中文字幕亚洲 | 99国内精品 | 亚洲天堂资源 | 高清一区二区三区 |