亚洲精品自拍偷拍_欧美八区_天堂中文资源在线_99热超碰在线_伊人亚洲精品_日本中文在线
若楓后處理論壇
標題:
APT刀軌數據生成NC程序C++源代碼
[打印本頁]
作者:
若楓
時間:
2025-5-21 20:59
標題:
APT刀軌數據生成NC程序C++源代碼
APT刀軌數據生成NC程序C++源代碼,本功能僅作為技術交流研究之用,代碼,功能可能存在缺失。需自行編寫刀軌數據的讀取與處理。以下僅為部分代碼以下為頭文件部分源代碼
int EQ_is_equal (double s, double t);
9 _, v0 ^9 z; T9 r; O
int EQ_is_ge (double s, double t);
5 [/ h, \6 F2 S
int EQ_is_gt (double s, double t);
5 f7 U7 B# g8 z' q$ {
int EQ_is_le (double s, double t);
! X4 L" D% F8 l. ? ?% S
int EQ_is_lt (double s, double t);
7 T' h0 A8 `6 @& F
int EQ_is_zero (double s);
+ u) f, Y5 b# d- K- j
//=============================================================
8 I* L( w: C( r2 G. {( M
double ARCTAN1 (double y, double x );
7 Y$ k) P! q6 u0 T! q
//#=============================================================
1 d$ Q9 C; o5 i9 F3 D+ ?' @
double ARCTAN2 (double y, double x );
, G3 G, Z9 Z( w0 K
//#=============================================================
( @9 \2 g+ b" x/ J) u. q
double CheckConst ( double angle, double constvar );
& ^$ f2 V0 E" H" y2 w# |7 q5 U
//#=============================================================
$ g* V/ e) @" Y4 K# ^
double Check360 ( double angle );
! g$ D/ S( J. f, t7 M; t
//#=============================================================
. ]& ?- D f4 ~1 `. B
double CheckLimit ( double angle, double kin_axis_min_limit, double kin_axis_max_limit );
5 K8 L9 d- V. w+ g" e5 z# Z& P8 E4 y
//#=============================================================
復制代碼
2 d i. u7 z/ q4 q- R2 t
以下為部分源代碼,用于判斷,計算角度等
" Z3 M" \: O$ u# S, y
int EQ_is_equal (double s, double t)
8 _, G" e: k( ~7 g) O& x- V
3 N, H5 v; E _! Z0 q& e$ M6 N! V% ]
{
( L6 T, ^: {' m1 Z$ x
4 X* p$ k/ T+ G8 _6 V C
if (fabs(s-t)<= system_tolerance) { return(1); } else { return(0) ; }
# t1 l3 {* X" S: i
5 c, B: f1 j( j. I# T
}
. |6 q# Y4 \4 {
* h4 c* }6 S( S5 y1 S: h) d/ v
/***********************************************************************/
' g1 T" [1 M: h$ E9 k; J8 @
4 F+ m/ D" j6 U5 c j& ]
int EQ_is_ge (double s, double t)
7 I3 o) d* M8 a! F: ]& D
: Z/ D: ^3 T; F' ]1 d1 W
{
5 w2 k5 K k' N' h0 `# i; H
) x D1 I% A) v3 }2 A0 y/ m
if (s > (t - system_tolerance)) { return(1); } else { return(0) ; }
: y5 |# G; }" Z' J
2 A7 W }" b( Z! n W5 J9 V. Y
}
j2 ?) e X5 |7 s
4 }% E, M2 H4 w$ C
/***********************************************************************/
2 w7 u) `' K% i2 i
; F# w" \; k9 d# W2 J+ z
int EQ_is_gt (double s, double t)
# o+ ]5 y! r9 d+ M- r3 u+ j+ B
: T2 F7 b9 k# S6 q: |
{
$ g* S* [4 d5 E, X, p4 L) N
- |$ l: J; N, ]. g% s2 ~) B& \9 Q
if (s > (t + system_tolerance)) { return(1); } else { return(0) ; }
! W+ d/ A. O: }9 i
' H5 j$ \$ P% a& j& _% m& M
}
/ ~3 c: X( M. Z
4 e. [% N/ e6 R; _4 w$ _) I
/***********************************************************************/
7 T2 f. V- t9 s9 _8 w! A
! G" }& _$ m* d9 C9 Z9 S
int EQ_is_le (double s, double t)
1 m6 z+ J6 a; ~7 ~. m6 K2 I( Q
5 N8 {5 K6 l2 o" }* d$ {9 R
{
& d" i* D) |$ S4 S$ n4 _1 P q
* h9 U8 N% O3 ~) i; F
if (s < (t + system_tolerance)) { return(1); } else { return(0) ; }
7 D5 K3 L% I, e) X/ k
& n& {) m2 j' E a
}
* J* _ l1 n' I1 U$ G
6 t" ~; n1 |0 y+ b1 h1 B
/***********************************************************************/
# n7 S( l% @$ d$ L8 n; D
9 t& ~* c, l# m' P- W7 `
int EQ_is_lt (double s, double t)
# i. B6 n6 v. z z) k$ a0 C0 w$ V7 P
% ]3 J, v. u. L0 K
{
. A! i* f& U" T: R/ }
" F9 s7 x7 b4 j$ p" c
if (s < (t - system_tolerance)) { return(1); } else { return(0) ; }
) H# j% `7 H/ l* W2 J
) Z0 Q/ o# f5 t
}
1 f- W- B# R1 L, C9 l1 x/ r% Z* @
N+ r, f' ]2 V# p q1 g# q
/***********************************************************************/
2 @; x" C- P; V" w& ~
$ O I) k& [( }! c$ m7 z/ v
int EQ_is_zero (double s)
% v7 e$ _! m% _
% m$ k8 n0 t* D# f2 g
{
& ]/ d# H$ B) B1 d
3 ~4 }; h6 K2 |. N+ `- z
if (fabs(s)<= system_tolerance) { return(1); } else { return(0) ; }
5 z" X& n( a+ y6 H# H0 r2 h# Y* ^$ [
7 W1 {. M* ~7 C; i( K9 W/ k% _2 c
}
" s* d1 V- Z6 w. V6 I
4 \. T+ b' [4 X: \% \$ {% Q9 H
//=============================================================
0 ]3 ~0 S' i( X' B" g) ^, k# H: U' G
7 a. Z* Y6 }& ?: D. @
double ARCTAN1 (double y, double x )
& Y. p5 ~5 v4 p9 B
# z" r' W' Z' A
//#=============================================================
8 h% ]0 [# t2 P: f
- M! r }. {; e
{
" O- c6 U" i9 w$ \
% ^; R6 X- g/ y5 A! {
double ang;
G- k5 D5 h, w1 o4 _. r( `: [
# l) O8 f6 a- k& l6 T
if (EQ_is_zero(y)) { y=0; }
, `( E9 m- y% W ~
9 d: D+ i+ f: O: z# t9 ]
if (EQ_is_zero(x)) { x=0; }
) L z) t6 y q% E# E4 L& l0 u- a
* w" J2 N/ x, @4 n) [
if (y == 0 && x == 0) { return(0); }
* R8 d2 p, [8 ^1 `# H: L* z
6 O& p$ w, @1 {1 {
ang=atan2(y,x);
1 o3 @ E9 a5 \! e! Z0 e" f4 b
6 {. ^6 ?/ |/ j8 O7 o$ W# S: n4 }" \
if (ang < 0 ) {
$ v" g/ S. O8 @
% i* \8 @* u# x5 ?9 P
return(ang + PI*2);
9 M" Z% H2 {5 P$ J; U4 [7 |
/ o' t4 R X7 V& B
}
6 v5 r" i! P, N9 ~. e5 K Q
8 h% t1 r% U' m& [; D; M
return(ang);
0 m7 D7 D' `( q
/ @1 r3 }; e) u5 K- S( g
}
& F5 A# h: y1 R; U2 p
x) A: e2 c+ x6 T
//#=============================================================
; y7 Q. L7 T ?1 o% X5 }
6 S: o. F1 v3 i9 `$ C% @ l$ F
double ARCTAN2 (double y, double x )
0 C) }5 q/ m' g c: Z, t
y% v+ i7 ~% J4 `
//#=============================================================
5 }" C( J, H7 Q& W6 K2 e- D
" u" E: H8 I7 L8 S4 r' o, k4 g
{
* Y* [3 v- J* Y, f) c
2 u t; |) ~1 v+ }8 i) K
double ang;
+ k8 C+ Y- T2 b% X* w( E7 _* }
! P! `* ]9 v( @6 n: q: C- y
if (EQ_is_zero(y)) {
R T }+ h3 o# m7 i2 Z6 r( O9 o
: k2 _. U: \% W9 O) T0 m
if (x < 0.0) { return (PI); }
7 F8 I! M! l+ a( s
8 u6 S2 B; i' e- h. n3 j
return (0.0);
# q' \; h6 s7 Z% e2 m E
# L$ Z5 @# i8 f1 n9 T- w- P% [
}
" }/ D1 K% H6 m0 w
! r; C' o, u T9 S/ Z; m+ l
if (EQ_is_zero(x)) {
7 \ n1 I. s2 R% ~: U! W5 W
; r+ v. v6 _' A0 S
if (y < 0.0) { return(PI*1.5); }
, ?% E% S& {9 _1 a' s
. `& }, V4 ~2 d- x0 Y
return(PI*.5);
o) S w: W" l i: P4 ~3 i- H$ u
$ R+ K, f! ~1 }0 l
}
5 _4 E3 j3 Y" h* t* E
, a" t$ ^9 F; l# H4 _) J
ang=atan(y/x);
: B1 s- D }6 T: l, a. n
) K) t6 V* W& I
if (x > 0.0 && y < 0.0) { return(ang+PI*2.0); }
3 b3 c$ @: L" m0 ?
/ ]+ ^9 q3 ~7 i7 T% _7 k# r' u
if (x < 0.0 && y < 0.0) { return(ang+PI); }
9 x+ n! n$ m3 U2 _) j& V) _& T
. L1 t4 A3 R( k
if (x < 0.0 && y > 0.0) { return(ang+PI); }
# |* A! g0 ?- i2 o, x
7 \) V: J5 I; k
return(ang);
5 L; S1 R( L& A! K1 G# c4 ]
1 q% d, F: O& N4 ~7 o+ |. A
}
. j, }# r% ^# `0 [( r( i
' l7 r9 `; D# @2 v
//#=============================================================
I3 A ~% v2 Q8 V1 m) ?
+ w( y8 i4 p' f, U% y- |" j
double CheckConst ( double angle, double constvar )
3 W4 t0 H; D* G2 {/ b
) I: u' D8 `# i$ [5 C! z+ W
//#=============================================================
, L/ V F. g; w7 o5 [0 P' J+ [: l
( a) `. A" I- L( f2 S# B
{
8 ?6 t% G1 J; b9 r9 n* N
^: h9 K0 a* H
while (angle < -constvar) { angle+=constvar ; }
# T5 T2 g* {9 }
1 b+ G4 {5 C: a( N5 S( U
while (angle >= constvar) { angle-=constvar ; }
0 X6 J9 g, L( J; Z+ _( ?- Q
* W, Q* W8 g! b
return (angle) ;
# a+ f _ f7 ]1 R! w# M0 m4 l) {9 r
5 H8 D+ ?& v3 j; u i+ {$ X
}
I# ]/ x* L/ ^* i% u" p! \% }& f
# i. L0 {* @& s# E+ L* A
//#=============================================================
; q2 I2 K5 f5 c* C
3 o6 l: i/ S5 q9 a3 n, @ Z
double Check360 ( double angle )
7 ], a) t, I& H
) E9 U3 M$ z" i2 z" `! F
//#=============================================================
3 T, ^) L# p$ t2 `" u1 T
; G4 [# O/ A4 Z( x9 U1 k
{
. ]; R, r% d' g8 `
! z2 t2 q$ V9 u) I! x0 Q/ {
while (angle < -360.) { angle+=360. ; }
, V' J6 y+ n1 T7 l9 c: O. m
# K. c( t- v" [/ _3 k/ }4 {/ V5 z
while (angle >= 360.) { angle-=360. ; }
! F* }- u) A* Z4 V
: ^' c, r1 f2 n
return (angle) ;
! U5 @8 q; {2 q5 ^' z
5 I2 B( W0 O1 i6 i* k
}
& P5 r& c7 x# z
3 f0 O! f% D: C4 `( ^
//#=============================================================
* x4 ~! b+ l u8 A* ^/ H8 U# K2 \
$ Q2 P' D* N' U) i' D6 G+ H" C8 I
double CheckLimit ( double angle, double kin_axis_min_limit, double kin_axis_max_limit )
9 K: G, u0 S! y6 U( F
5 s% Z8 ]- D1 L+ O8 f
//#=============================================================
4 p9 M: D1 X) u1 b" M
1 h, u# r1 N, D
{
" y! z) {: ?# M' N) `4 I& W2 \
( t$ I3 m! P1 n% t, C
while ((angle-kin_axis_min_limit) > 360.) { angle-=360. ; }
' H5 ]8 e! ]0 n7 t
|2 a% }, `* n6 N0 i
while ((kin_axis_max_limit-angle) <= -360.) { angle+=360. ; }
, v) g% n% R- W! h5 E
& |6 t c6 s( H7 @9 w; M
return (angle) ;
. z. n; x. Q4 {! |9 W' o& L! }4 M5 y
) q! Y% |/ r. `9 k) t# `
}
復制代碼
; o. b+ L3 N& `6 z2 u4 ~; c+ P
以下為搖籃5軸計算過程代碼
& Z1 D: }) [8 y2 K& N# G7 r; N P( ]
i=sin(ang_rad[1]); j=0.0; k=cos(ang_rad[1]);
, l; n0 T* M; c# w% p0 z
1 z, T2 @% z( }* I# E; x2 P$ _
j=0.; B1=0.; B0=0.;
8 u4 y. i3 h2 l9 ~3 D% d" _
. a8 i @8 Q8 a- U
if (EQ_is_ge(i,0.)) {
* x; {# M/ I3 M" y
% x8 I$ n: U1 F8 S
if (EQ_is_gt(k,0.)) { B0=acos(k); B1=B0; } else { B0=acos(k); B1=B0; }
% u6 _) ~0 g/ `7 P3 a
" ^9 o& p& s& G, X2 A. N$ t6 V
}
, Y' r! s* f }7 R' R$ @
! Q: g) h6 R% T K2 d0 ~
if (EQ_is_lt(i,0.)) {
2 o% j# f5 P7 @" t" N
v( c$ {; ]$ x! u% b/ t
if (EQ_is_lt(k,0.)) {
) |7 @; y) {/ I* b# j6 ]
) ^6 ]( Y' w" h* o8 h
B0=atan(i/k); B1=B0+PI ;
1 y6 {$ v I- U
) I' k+ u2 C" m5 a- Q- k8 i
} else {
" ~ q y1 G8 G+ J9 s/ o" D8 r
6 c) c0 l0 `' h2 Z3 I X
if (EQ_is_zero(k)) { B0=-PI/2. ; } else { B0=atan(i/k); }
+ \, Z$ Y' Y0 v8 j! ~
$ s# w" h; g; g2 G
B1=2.*PI+B0 ;
S7 J- N# B) f; G7 L* P s" X
" k: Z+ d8 | F& I
}
$ W2 Z* b$ Q Y8 P' s6 m) q: K5 a
- L w* m8 ?2 D: u. E
}
" J/ Q$ O* a. s* K& H
0 j4 j' q: ?4 d7 e9 m6 {
if (EQ_is_ge(B1,0.)) B0=1.; else B0=-1. ;
" K' D3 l8 u7 q! J4 @9 L5 B, H
9 \+ B! M( y8 U& k' C, q
B2=(-1.)*B0*(2*PI-fabs(B1));
( k/ l7 r W# G j
& ]- e, [2 d( Z; J( s' c
ang_rad[0]=0.; ang_rad[1]=B1; ang_rad[2]=0.;
# F1 a7 E6 T2 V5 Y
) }, d: H% n8 a" Q) ^# r
ang_rad[3]=0.; ang_rad[4]=B2; ang_rad[5]=0.;
復制代碼
8 [1 ]% A/ i# j" f
通過輸出的NC程序,反向輸出的刀軌數據與原始刀軌文件對比,其數據結果一致。
% `; d8 c, V2 \6 p; e5 t3 |5 _6 e
- X1 ~2 M1 C5 o5 J- q2 _
(, 下載次數: 113)
上傳
點擊文件名下載附件
# [& ]5 B# Z8 r
測試結果:
. N* o; N9 t: K- G
(, 下載次數: 107)
上傳
點擊文件名下載附件
9 ]3 r( _9 h. W8 E5 Y
1 |$ X+ J j$ l. X' M4 h( Z
反向測試結果
(, 下載次數: 115)
上傳
點擊文件名下載附件
' d2 H- V4 w* V8 n+ F3 i, z
作者:
yucammayco
時間:
2025-6-3 18:53
謝謝分享
作者:
云與海的故事
時間:
2025-10-15 08:41
謝謝分享
作者:
qms88888
時間:
2025-10-15 12:52
感謝樓主的分享
歡迎光臨 若楓后處理論壇 (http://m.886378.cn/)
Powered by Discuz! X3.5
主站蜘蛛池模板:
国产精品99久久久久久www
|
色丁香久久
|
久久久成人免费视频
|
日韩精品1
|
国产日韩视频在线观看
|
欧美成人免费观看
|
欧美日韩精品国产
|
国产黄大片
|
xxxx操
|
亚洲免费福利
|
一区二区三区在线免费观看视频
|
久久在线看
|
一二三四国产精品
|
免费av在线
|
五月婷婷六月天
|
国产午夜网站
|
久久久影视
|
免费欧美一级
|
www.日韩av.com
|
黄色w站
|
免费的av网址
|
亚洲激情自拍
|
成人aaaa
|
午夜精品免费视频
|
爱爱视频网站免费
|
亚洲视频99
|
丁香九月激情
|
欧美激情网
|
在线观看免费黄视频
|
国产欧美网站
|
jizz在线免费观看
|
欧美日韩后
|
青青视频二区
|
久久理伦
|
国产第一页在线播放
|
国产精品成人免费精品自在线观看
|
久久伊人99
|
久久精品在线播放
|
欧美国产在线视频
|
岛国久久久
|
久久黄色一级视频
|