亚洲精品自拍偷拍_欧美八区_天堂中文资源在线_99热超碰在线_伊人亚洲精品_日本中文在线
若楓后處理論壇
標題:
APT刀軌數據生成NC程序C++源代碼
[打印本頁]
作者:
若楓
時間:
2025-5-21 20:59
標題:
APT刀軌數據生成NC程序C++源代碼
APT刀軌數據生成NC程序C++源代碼,本功能僅作為技術交流研究之用,代碼,功能可能存在缺失。需自行編寫刀軌數據的讀取與處理。以下僅為部分代碼以下為頭文件部分源代碼
int EQ_is_equal (double s, double t);
' J' t3 [% ]' T- {0 y3 j
int EQ_is_ge (double s, double t);
% E3 ^: q6 m. a& i
int EQ_is_gt (double s, double t);
+ [2 N7 N L7 L e
int EQ_is_le (double s, double t);
" y. i, k% n; O
int EQ_is_lt (double s, double t);
4 i* _7 T8 I2 L! `
int EQ_is_zero (double s);
3 x% T( i9 J+ D$ q& u# e* K
//=============================================================
0 Y+ N8 B' W# ^( ]; U) ^
double ARCTAN1 (double y, double x );
I/ T6 E$ ]% `# q9 P+ N
//#=============================================================
- F4 J$ M' L- T( c+ `0 z; @* S+ q
double ARCTAN2 (double y, double x );
# `# K/ {: @6 Z' q }
//#=============================================================
+ ~4 v- g, _- L2 f4 A6 C
double CheckConst ( double angle, double constvar );
0 L+ g% }/ m! u' e6 a; @
//#=============================================================
+ i( k! K- |" D) h1 R& p2 Q
double Check360 ( double angle );
, W% b4 u3 W7 W: b* c2 h# h* u
//#=============================================================
9 v- r6 b% C0 S' o
double CheckLimit ( double angle, double kin_axis_min_limit, double kin_axis_max_limit );
; C. u) O+ K' v* j. d1 C
//#=============================================================
復制代碼
; q9 L' S: G% V5 M. A8 ~9 u7 _
以下為部分源代碼,用于判斷,計算角度等
/ ]5 g# R( ?7 f( e
int EQ_is_equal (double s, double t)
+ e' x; V% M X0 a$ [9 ~- o3 q
1 _) J! o$ a9 b2 [
{
8 I& u2 i6 F6 R4 P
1 M& }! s- F* d, a' q: l
if (fabs(s-t)<= system_tolerance) { return(1); } else { return(0) ; }
5 K1 e; w# [# \* S: p7 A
1 i" L j5 w& w
}
( D! b% F2 e6 M3 H C
/ n7 Y; P3 L, y& X0 u) e
/***********************************************************************/
& t% I) `' f% l
% D/ q; V" t9 F i7 N& h) c
int EQ_is_ge (double s, double t)
" ~3 N: H5 E' N* B& u' d4 Z
! H! V/ w; X4 G' k
{
; K8 K8 `1 j1 s3 A
$ R$ [" {7 _2 }5 V
if (s > (t - system_tolerance)) { return(1); } else { return(0) ; }
7 f% _! l1 w5 a1 ?7 o" o0 E, c
) u) P* v5 e9 h0 H2 W! b0 ?
}
1 L0 z0 z z# a- `0 C
5 }6 q& K( E1 l
/***********************************************************************/
; \0 ?6 O, B1 C' R% ~) ^) {$ j3 F% H
$ Z6 k( v+ G. v, m3 y3 t
int EQ_is_gt (double s, double t)
& `% g: V2 S+ o8 D6 I. h$ d
5 E7 P1 u. @2 G# c/ _. E0 W
{
3 ?2 R2 B3 x, p8 l- t2 f) C4 C
; e* H0 c" w2 G3 s! i) J
if (s > (t + system_tolerance)) { return(1); } else { return(0) ; }
* O8 B* W& \, [% H
/ |) X' ^; k7 k% Q
}
1 g' h; P; ^8 u* ^
4 ]: {2 Z) l5 f- b
/***********************************************************************/
6 y7 f) D, _% s, g
# K2 c$ i* A# W0 j, R% t0 b9 B
int EQ_is_le (double s, double t)
) m0 @9 x# E3 l1 ]0 W g {6 H
9 D2 l; n8 r8 g( ]! Q3 w$ @" y
{
8 d( U; Q+ \- ^% u- A/ a( T- U7 A
* }% r6 y L% }# B2 |/ |2 I6 a8 J
if (s < (t + system_tolerance)) { return(1); } else { return(0) ; }
0 H' K9 | E5 J. c( ~/ T& E
, \. r" q; j' w' [
}
6 N& f. Z+ y* i; W# s
3 H" O: i0 u- f9 Q3 ? R: @8 j
/***********************************************************************/
4 `5 }/ T9 v5 `
, h7 _! f( u) k! a# e2 R
int EQ_is_lt (double s, double t)
& d7 W: [' ^5 n1 k# `& W
' R ^1 J a& _) l$ f
{
! b$ l8 A; `- [
2 J9 i$ ]# o/ k4 u7 w) A) ^; G; E
if (s < (t - system_tolerance)) { return(1); } else { return(0) ; }
$ z4 J$ x2 X, `1 g
1 Z& ]0 N [/ O
}
, o1 p' g/ K5 L+ f* ~4 e! A) J D
: Y1 Y% Q* G6 M) r9 \7 D" l
/***********************************************************************/
% n p) k! a0 N* V
- x5 r2 n5 }7 n+ Z. L
int EQ_is_zero (double s)
9 D$ b; L# L1 ?/ e2 \$ M
+ d* [8 P% |# r
{
9 d- h6 V/ I, t' f h' x5 S
! W2 k- `- I; f/ J. M- Y5 ?) r: \
if (fabs(s)<= system_tolerance) { return(1); } else { return(0) ; }
; F% X$ P4 Y& ~( ]
7 e/ n& s# y$ k. }$ x0 S: T
}
* f7 X- n- u% }5 l* s
8 b7 E/ V& ?7 [3 y) X( V/ U
//=============================================================
2 P; [2 i+ y1 P6 c9 {1 R; u
6 F, I* E7 C$ z3 t
double ARCTAN1 (double y, double x )
; Z) Y+ F4 c/ ]
e" r( ~. R8 k1 i1 H
//#=============================================================
! Q3 T& ]6 ^4 n
* R7 R7 |4 j2 B- I3 c
{
" M9 o5 s$ P. [" U$ k5 [: o
* v j% O* I0 @9 V# v
double ang;
" E# M3 w+ q+ Y9 ~
& K; E+ t3 ^6 f
if (EQ_is_zero(y)) { y=0; }
7 f4 i2 n% ]# b/ @
" |6 o. h* n) L) x5 j( h
if (EQ_is_zero(x)) { x=0; }
% z& ]* A( y4 h8 F4 b3 M8 W" u, |
# R$ U3 d- q3 S# \ V
if (y == 0 && x == 0) { return(0); }
z* v$ a' x( Y( _" g
2 H7 {3 _. T* K* x0 E
ang=atan2(y,x);
2 _. y. q% d$ B- _3 x) P' e, A" J
$ F" |7 C& W& B- g$ s
if (ang < 0 ) {
) r- M! `# J) d) } E) L
0 V' w) |8 C0 l" M) Y$ e
return(ang + PI*2);
7 y. S7 X5 ]& x6 l1 j+ j9 _
E9 f1 {7 ^3 \
}
( D3 R, n5 P6 d) @
* V7 U4 Z, o u/ t2 j- Z, Y
return(ang);
/ S7 P$ f8 k+ }
, G' W& m. B" i
}
J |, v& \% Y, C( M
8 N* R* p \- A$ ~4 B+ u s
//#=============================================================
* N0 G9 O( \- F& F, K
2 n( X) [8 H0 [5 X
double ARCTAN2 (double y, double x )
/ i+ }4 }2 P7 v: z' ]
+ _8 m" O1 s3 H
//#=============================================================
0 o( r' ~8 {- x
7 g% c* ^% |: O3 f7 ~, p0 d* L) ]7 R
{
1 z) j6 R9 m5 S5 Y
: ~$ b9 r' B O7 @
double ang;
$ j9 Z/ l4 u8 T* M7 y4 B$ V
& X+ b9 e2 e: o* a/ e, a8 u
if (EQ_is_zero(y)) {
1 I/ v+ f' c* [6 V
0 `. R; T6 s, X7 G
if (x < 0.0) { return (PI); }
+ h z- p- a$ f; `/ m; j& z: C
1 t: j: H9 D- h" M1 E5 s
return (0.0);
$ o& j0 y1 p+ D* A! z {
# L2 E" o! \, ~& Q+ q
}
; ]" h* S: ?4 Q2 ]
! c: U4 u: T3 ?5 d2 w
if (EQ_is_zero(x)) {
. V% h; U% ^3 x! F" ~, t* S z% v5 b8 x
) }3 c6 p3 S n! B1 X
if (y < 0.0) { return(PI*1.5); }
/ S/ p% g; s- ]; _: w1 @: e
) d' z* C$ F4 Q% k& E) E4 [
return(PI*.5);
; A& K6 q& r1 @
1 ]) b0 n$ e$ p0 U
}
% D; m- S+ g, h2 X
}3 n) r1 V, A' O7 S. O9 S% O7 C
ang=atan(y/x);
& U' S* r) k6 P! m! A$ ?1 A
8 W |) z: d: v
if (x > 0.0 && y < 0.0) { return(ang+PI*2.0); }
! c" y/ Z2 L! \1 K+ P
3 I. t$ S; c/ B7 V$ S
if (x < 0.0 && y < 0.0) { return(ang+PI); }
$ s- B+ b0 ]4 {& Y% Q+ t
) Y+ M2 {3 E4 N+ q+ c8 F
if (x < 0.0 && y > 0.0) { return(ang+PI); }
" n" n( d4 K& e8 L/ T
* O. E! R, |5 S9 F* c7 z( s
return(ang);
" m: F. @5 } l) I3 o" G$ l; n
0 G& X. V9 L+ C M; ]% _: X. O
}
# @5 n& E: {, q6 V
7 J3 e2 n2 v" C _
//#=============================================================
* o+ i$ H* A! |% f: @9 f/ V3 U4 Z
. a$ K2 l# }* K& N- H; ]/ ]( f
double CheckConst ( double angle, double constvar )
# G5 e& a: E; S, }
, N) A9 w+ n" i. M. P
//#=============================================================
9 z5 y$ ^0 |) L8 ?( z
+ c$ v: o z# j, {9 y* f0 u4 @
{
+ H4 N! g% Y% y, S
4 c+ g% |* b J3 z) b( Z/ H
while (angle < -constvar) { angle+=constvar ; }
$ w4 K/ }( a; P1 S" H( w9 X& F; d
4 M- p# r# Z4 o9 J, F; M6 e* x
while (angle >= constvar) { angle-=constvar ; }
0 w. j2 c# d* ~' ?
% q" W' \: \$ I6 ~4 a# p8 P; [: _* r
return (angle) ;
& v) N$ X3 S( r- P1 J r9 N: N) }
+ p$ o2 i8 z& b- j2 @+ d
}
! @7 @9 A5 S8 L4 P6 _/ g, @
% }, _1 R5 U( _* O6 B
//#=============================================================
( D$ W8 W* O0 ?2 C/ p# }6 X
, o" i- m& O. \# t* s7 K4 j& U
double Check360 ( double angle )
0 |; Y+ \- B1 a0 O
, p/ z5 i9 V* K. Q% E) N L& }( M, R
//#=============================================================
9 F a2 i/ H- Y0 L& a
5 I0 @1 V& B* z+ e0 m' {- b1 O
{
% s t6 h! N8 v5 J, g# P. c
" [7 I% B- d& A; i2 R: y
while (angle < -360.) { angle+=360. ; }
( M4 j, V# t% T; b# ~, e% q) ] b
' ~* U6 ]# R# b) P* K- p
while (angle >= 360.) { angle-=360. ; }
' a1 G- T7 [( A0 ~4 u+ Z8 t* X; h
+ }# P1 y: ]% m* `9 B" Q
return (angle) ;
% t9 v) Q. [! a" q3 P/ a
. Z( t, H6 L' s8 u/ T
}
% ]* X. d" l) T3 t9 j4 |
5 a& E, l! R- [' |, c
//#=============================================================
; @4 c1 f- a5 p$ s I: A
0 U: `2 ` U% E- O- `; _) C. u8 S" W% Y
double CheckLimit ( double angle, double kin_axis_min_limit, double kin_axis_max_limit )
* l4 c4 V5 _% W% T
% k2 H5 C; E! ~) p
//#=============================================================
$ I( W- }7 Q5 w! `% R
! K8 T* N9 @8 @. j
{
7 ]0 U! D% g! \3 Q+ {
& t! t& A" Q& f
while ((angle-kin_axis_min_limit) > 360.) { angle-=360. ; }
; H+ |2 d: P* y: N$ P
' y }0 o: }: T( Q: a9 O$ D1 Q4 J
while ((kin_axis_max_limit-angle) <= -360.) { angle+=360. ; }
4 z7 c8 k, B8 Q( _ C- l6 c! k9 ?
& @! n) l/ F! F8 q
return (angle) ;
' a4 u3 s4 d3 N; r9 k+ F5 v
$ [; J8 K; e" B8 q7 u+ o
}
復制代碼
6 M' Z( K# i5 O' \. E$ W" i
以下為搖籃5軸計算過程代碼
3 I' Z+ w: R( ~* u. k
i=sin(ang_rad[1]); j=0.0; k=cos(ang_rad[1]);
( k+ b$ |6 F6 o4 Q0 o; R( |
' Z" `) Z& f! Y8 \# z4 }8 Z
j=0.; B1=0.; B0=0.;
/ c$ ^& e1 [( R" D
# Y: E3 @& C- U& W
if (EQ_is_ge(i,0.)) {
: E" |8 j8 `1 h4 p& l9 `
+ g& T: }# w8 w+ H/ m7 h
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 E; X5 C1 j/ v I) ]4 J2 a
}
" P) l7 B1 y& M
6 o9 o4 _; @0 z
if (EQ_is_lt(i,0.)) {
" ~3 e% C# W9 u- x0 B( B
0 L+ L% n3 b6 i8 _4 T# d, ]) O
if (EQ_is_lt(k,0.)) {
" D2 Q( G' U8 p l9 \
) b+ B8 |# p+ G+ C0 ^/ k
B0=atan(i/k); B1=B0+PI ;
" n' G0 z' g& F e$ u
: P N' {6 D- W& B
} else {
, r5 i; {1 f# Q/ A# }7 B
2 o5 V2 Q! Q3 x0 r2 d2 _
if (EQ_is_zero(k)) { B0=-PI/2. ; } else { B0=atan(i/k); }
; v2 s0 r; o& m7 d- d
+ A1 f* c2 l, G1 U0 V; m1 G
B1=2.*PI+B0 ;
, Z: C/ K# z, Q V, a4 l, t! W
) G# O! G6 F% O
}
6 z) e% A$ }5 ^/ J6 C# e
7 N$ K9 ~! h5 ~. n9 L8 u
}
# d3 ]0 w3 c& K d6 ~+ i
6 T0 H6 W: z3 ^7 _2 ]# B
if (EQ_is_ge(B1,0.)) B0=1.; else B0=-1. ;
: t' i4 p8 j$ m; D
$ V8 E. l& @& I; f+ q( m
B2=(-1.)*B0*(2*PI-fabs(B1));
8 j* e% P" Y- s
1 s+ U/ O! g3 i+ v, E
ang_rad[0]=0.; ang_rad[1]=B1; ang_rad[2]=0.;
- I% t0 g5 X. ~* Y8 m; l8 n* z' g
4 U6 \0 o' \- G1 `/ R5 X- w8 h
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国内精品
|
亚洲天堂资源
|
高清一区二区三区
|