|
馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區
您需要 登錄 才可以下載或查看,沒有賬號?立即注冊
×
本帖最后由 wslaoa 于 2011-10-8 18:39 編輯
9 f7 ^& L5 a; m1 n& _1 M7 Z# L
$ h. f. q* I6 a6 ?讀小魚(王工)四點碰數程序讀后感
2 ]) ~( X H8 h% w: ^0 R7 @/ k 昨晚,讀到若楓論壇上一篇關于自動分中的宏程序,看了半天,沒看明白,想放棄,但看到作者宏程序格式書寫規范,注釋寫的完善,感覺作者絕非庸手,就制成pdf保存下來。
# c1 L- F) q. I 今天,閑來無事打開分析,漸漸看出來門道來。: S1 w) C) h- V
一般來說,常用的分中建坐標系不外乎作者羅列的三類九種:第一類四邊分中(XY雙邊分中,碰四次);第二類是一對邊分中再加另一邊(X邊分中加一Y邊和Y邊分中加一X邊,碰三下);第三類一角(打XY單邊,碰兩次)如表所示:( x5 e! L! }# R9 k6 h/ Z! H
截圖08.jpg (24.54 KB, 下載次數: 0)
下載附件
2011-10-8 18:28 上傳
& y) {: L- w) c0 ` 如果選四邊,需要碰四點,如果選一角需要碰兩點,你不能多碰也不能少碰,另外還必須將探頭自動移到你需要碰數的地方,否則就不叫自動碰數了,你該怎么實現呢?& p& J1 F- A- F! ~9 Q, }
作者用了我們(至少是我)很少用的功能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 ,它的結果是多少呢?
, g/ }, a |7 t3 L9 K
截圖09.jpg (3.89 KB, 下載次數: 0)
下載附件
2011-10-8 18:28 上傳
& M/ {6 R7 ?! n/ }+ n* o2 n
不知諸位發現了沒有,任何數和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取那些數的良苦用心了。
8 ^7 d/ @ _8 Z# n2 J% J附表:1 V0 Z) I: A' F' L! }: S" S% _
截圖10.jpg (34.52 KB, 下載次數: 1)
下載附件
2011-10-8 18:28 上傳
3 W; L# E X1 \7 E
偉哉!作者,我本來以為自己在宏程序上小有所成,現在看來是多么淺陋無知。得知這只是碰數程序中的一部分而已(還有五點碰數)我頓時佩服的五體投地。后來聽說有個培訓班是他在講宏程序我就毅然報名參加了。+ \/ M/ [* R. m* |
作者給我們打開了一扇窗,讓我們觸摸到了宏的強大。愿作者將自己的心血多傳授大家,以讓全國各地的機床更加智能起來!
- v) N+ s& x2 f (附:作者是小魚老師,小魚老師的程序博大精深,有歪解小魚老師原意的,希望請小魚老師原諒。 程序源代碼見前面 小魚老師的帖子找正坐標宏程序)
9 k* q4 a& F6 K4 \& W$ o" o- M) I 星期八
- }* `) F) B! @7 V 10月8日凌晨2點 |
評分
-
查看全部評分
|