|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 wslaoa 于 2011-10-8 18:39 编辑 - |) c$ w5 s6 b' Z1 N2 C' D$ }6 l- t
3 k+ x7 t% u9 G, U% x
读小鱼(王工)四点碰数程序读后感% k4 i' ^- @5 z+ e6 I. D, N
昨晚,读到若枫论坛上一篇关于自动分中的宏程序,看了半天,没看明白,想放弃,但看到作者宏程序格式书写规范,注释写的完善,感觉作者绝非庸手,就制成pdf保存下来。
. ~4 z8 }0 W$ A- J5 x+ N1 n 今天,闲来无事打开分析,渐渐看出来门道来。
# [) I2 N5 m- B' z2 F" f 一般来说,常用的分中建坐标系不外乎作者罗列的三类九种:第一类四边分中(XY双边分中,碰四次);第二类是一对边分中再加另一边(X边分中加一Y边和Y边分中加一X边,碰三下);第三类一角(打XY单边,碰两次)如表所示:% I: v5 u2 ` `" Z( r, d
' ^7 t0 O- |0 {& G2 l 如果选四边,需要碰四点,如果选一角需要碰两点,你不能多碰也不能少碰,另外还必须将探头自动移到你需要碰数的地方,否则就不叫自动碰数了,你该怎么实现呢?: ^' s' s0 A$ c. r8 j, M
作者用了我们(至少是我)很少用的功能AND(与运算),看了作者的程序后,我急忙翻起课本,复习了AND的知识点(1+1=1;1+0=0;0+0=0相当于串联开关,进行与运算时,先转化为相应的二进制数,然后从低位往高位逐个按上述规则进行运算;转化为二进制,位数不同时低位者向高位加0,如10010和1011进行与运算先把1011补位变成01011然后一位一位进行运算)后才恍然大悟:作者巧思构想,用1,2,4,8和对应的数进行与运算。我们只要把这四个数转换为二进制就可以理解作者的独具匠心了:1----1;2----10;4----100;8----1000;也就是说根据上述AND的用法,我们任选一个数如10,它的二进制是1010,。让它和8进行与运算10 AND 8 ,它的结果是多少呢? I' R7 C ]/ D1 M! X
+ ]! C4 ] k r4 D/ B4 s 不知诸位发现了没有,任何数和8进行AND运算,都只需考虑第四位即可,结果要么是1000(十进制8),要么是0。 1,2,4也同样。如果理解了这一点,整个程序就可以迎刃而解了。比如选上表中的第三类一角(X-,Y-)模式,按作者X-(1判别),Y-(2判别),Y+(4判别),Y-(8判别)碰就可以得到这样一个结果1,1,0 ,0(其中1代表需要碰;0代表不需要碰),按二进制从高位往低位排列就是0011,对应十进制就是3,其他依次类推就知道作者#14取那些数的良苦用心了。: ]- }" D* D8 K% |9 Z0 g9 i* k
附表:
# t' k3 {/ T7 {2 Z6 M& @
5 |+ T9 g- p& Y8 R$ S( T
伟哉!作者,我本来以为自己在宏程序上小有所成,现在看来是多么浅陋无知。得知这只是碰数程序中的一部分而已(还有五点碰数)我顿时佩服的五体投地。后来听说有个培训班是他在讲宏程序我就毅然报名参加了。
( \2 U& F# Q8 r5 u 作者给我们打开了一扇窗,让我们触摸到了宏的强大。愿作者将自己的心血多传授大家,以让全国各地的机床更加智能起来!
# L, ^' }% v* h* i. G9 b% Z& u (附:作者是小鱼老师,小鱼老师的程序博大精深,有歪解小鱼老师原意的,希望请小鱼老师原谅。 程序源代码见前面 小鱼老师的帖子找正坐标宏程序)+ f6 P6 u* t8 l5 `
星期八 e4 A+ C; R9 c3 h+ g; o
10月8日凌晨2点 |
评分
-
查看全部评分
|