讀小魚(王工)四點(diǎn)碰數(shù)程序讀后感
昨晚,,讀到若楓論壇上一篇關(guān)于自動(dòng)分中的宏程序,,看了半天,,沒看明白,,想放棄,,但看到作者宏程序格式書寫規(guī)范,,注釋寫的完善,,感覺作者絕非庸手,,就制成pdf保存下來,。
今天,,閑來無事打開分析,漸漸看出來門道來,。
一般來說,,常用的分中建坐標(biāo)系不外乎作者羅列的三類九種:第一類四邊分中(XY雙邊分中,碰四次),;第二類是一對(duì)邊分中再加另一邊(X邊分中加一Y邊和Y邊分中加一X邊,,碰三下);第三類一角(打XY單邊,,碰兩次)如表示:
0 t) `9 G( \% F! c5 U" O) t
[attach]227410[/attach]
如果選四邊,,需要碰四點(diǎn),如果選一角需要碰兩點(diǎn),,你不能多碰也不能少碰,,另外還必須將探頭自動(dòng)移到你需要碰數(shù)的地方,否則就不叫自動(dòng)碰數(shù)了,,你該怎么實(shí)現(xiàn)呢,?
作者用了我們(至少是我)很少用的功能AND(與運(yùn)算),看了作者的程序后,,我急忙翻起課本,,復(fù)習(xí)了AND的知識(shí)點(diǎn)(1+1=1;1+0=0;0+0=0相當(dāng)于串聯(lián)開關(guān),,進(jìn)行與運(yùn)算時(shí),,先轉(zhuǎn)化為相應(yīng)的二進(jìn)制數(shù),然后從低位往高位逐個(gè)按上述規(guī)則進(jìn)行運(yùn)算,;轉(zhuǎn)化為二進(jìn)制,,位數(shù)不同時(shí)低位者向高位加0,如10010和1011進(jìn)行與運(yùn)算先把1011補(bǔ)位變成01011然后一位一位進(jìn)行運(yùn)算)后才恍然大悟:作者巧思構(gòu)想,,用1,2,4,8和對(duì)應(yīng)的數(shù)進(jìn)行與運(yùn)算,。我們只要把這四個(gè)數(shù)轉(zhuǎn)換為二進(jìn)制就可以理解作者的獨(dú)具匠心了:1----1;2----10,;4----100,;8----1000,;也就是說根據(jù)上述AND的用法,我們?nèi)芜x一個(gè)數(shù)如10,,它的二進(jìn)制是1010,,。讓它和8進(jìn)行與運(yùn)算10 AND 8 ,它的結(jié)果是多少呢,?
[attach]227411[/attach]
不知諸位發(fā)現(xiàn)了沒有,任何數(shù)和8進(jìn)行AND運(yùn)算,,都只需考慮第四位即可,,結(jié)果要么是1000(十進(jìn)制8),要么是0,。 1,2,4也同樣,。如果理解了這一點(diǎn),整個(gè)程序就可以迎刃而解了,。比如選上表中的第三類一角(X-,,Y-)模式,按作者X-(1判別),,Y-(2判別),,Y+(4判別),Y-(8判別)碰就可以得到這樣一個(gè)結(jié)果1,1,0 ,0(其中1代表需要碰,;0代表不需要碰),按二進(jìn)制從高位往低位排列就是0011,,對(duì)應(yīng)十進(jìn)制就是3,其他依次類推就知道作者#14取那些數(shù)的良苦用心了,。
附表:
[attach]227412[/attach]
偉哉,!作者,我本來以為自己在宏程序上小有所成,,現(xiàn)在看來是多么淺陋無知,。得知這只是碰數(shù)程序中的一部分而已(還有五點(diǎn)碰數(shù))我頓時(shí)佩服的五體投地。后來聽說有個(gè)培訓(xùn)班是他在講宏程序我就毅然報(bào)名參加了,。作者給我們打開了一扇窗,,讓我們觸摸到了宏的強(qiáng)大。愿作者將自己的心血多傳授大家,,以讓全國各地的機(jī)床更加智能起來,!
(附:作者是小魚老師,小魚老師的程序博大精深,,有歪解小魚老師原意的,,希望請(qǐng)小魚老師原諒。程序源代碼
http://www.postp.net/viewthread.php?tid=2487&extra=page%3D1)
星期八
10月8日凌晨2點(diǎn)
作者: jiangssli 時(shí)間: 2011-10-8 18:58
呵呵!!但愿有人看了本帖以后不要再說什么誰,誰.誰騙人的話了!!
作者: chd168 時(shí)間: 2011-10-8 19:50
看了,不過對(duì)我沒啥用處.嘿嘿
作者: 時(shí)光......... 時(shí)間: 2011-10-9 10:39
高手呀 但是我是在大廠 有編程的 接觸不到宏程式 嘿嘿 大家多交流下 小弟也好學(xué)習(xí)
作者: 慢慢來123321 時(shí)間: 2011-10-9 12:34
一時(shí)看不懂 mark一下
作者: jiangssli 時(shí)間: 2011-10-9 19:23
本帖最后由 jiangssli 于 2011-10-9 19:24 編輯 & c2 @- n8 z, j' r* ?
時(shí)光......... 發(fā)表于 2011-10-9 10:39
- |7 H) G/ V5 j! u4 ]8 I, Z1 m
高手呀 但是我是在大廠 有編程的 接觸不到宏程式 嘿嘿 大家多交流下 小弟也好學(xué)習(xí)
' U, M6 Z' O; h' T5 L [( S" Y7 g+ E+ P% S% m5 ?4 ~& |( f
樓主提到的王工(小魚)就是我們專業(yè)宏程序培訓(xùn)的主講授課老師!
作者: wslaoa 時(shí)間: 2011-10-10 12:56
本帖最后由 wslaoa 于 2011-10-10 13:19 編輯
: e' k) d$ g% j' s% e
8 @" ]4 A6 a. Z# e5 [+ s我經(jīng)常聽別人說宏程序有什么用�,�,!現(xiàn)在有自動(dòng)編程軟件,!學(xué)它還有啥用啊,!又那么難學(xué),!當(dāng)然了反對(duì)的理由很多,大家也都看了很多遍,,我就不重復(fù)了,。但喜歡用自動(dòng)編程軟件的高手有沒有注意到這一點(diǎn),對(duì)于有精度要求的零件如果刀具磨損了,,你是重新出程序還是將刀子(稍微磨損但能用只是達(dá)不到零件的精度)扔掉�,。∏罢咛闊�,,而后者太浪費(fèi),。但如果是用宏編程的話,只需改改刀具參數(shù)所對(duì)應(yīng)的變量就行了,,操作工就能行,!另外如果是層切削的話,每層切削內(nèi)容都一樣,,假設(shè)有150層,,用宏做個(gè)下刀循環(huán),這樣程序能精簡很多,,程序大小能縮短到原來的1/150,,占用機(jī)床存儲(chǔ)空間會(huì)小很多,傳輸也能快很多,。還是希望諸位能多了解點(diǎn)宏,,別一棒子打死!
作者: pipiyang 時(shí)間: 2011-10-10 16:37
著實(shí)厲害,,略懂一二
* {+ G9 J+ ]. c1 A& f; o) X
歡迎光臨 機(jī)械社區(qū) (http://97307.cn/) |
Powered by Discuz! X3.4 |