專利名稱:單位換算的實(shí)現(xiàn)方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體地,涉及一種單位換算的實(shí)現(xiàn)方法和裝置。
背景技術(shù):
Allegro (自由軟件程序庫)是Cadence (某電子供應(yīng)商)推出的先進(jìn)PCB設(shè)計(jì)布線工具。Allegro提供了良好且交互的工作接口和完善的功能,和它前端產(chǎn)品Cadence、OrCAD, Capture的結(jié)合,為當(dāng)前高速、高密度、多層的復(fù)雜PCB設(shè)計(jì)布線提供了較為完善的解決方案。但由于軟件本身沒有兼具各方面功能,因此在實(shí)際操作過程中還需要開發(fā)一些輔助功能加以完善。Cadence提供二次開發(fā)的Skill語言,Skill語言是一種基于通用人工智能語言-Lisp的交互式高級編程語言(LISP即List Processing-表處理),熟悉Skill語言對于使用Cadence工具的用戶來說,不僅可以提高工作效率,而且可以開發(fā)自己的基于Cadence平臺的工具。Skill支持一套類似C語言的語法。在用allegro進(jìn)行布局布線設(shè)計(jì)或封裝設(shè)計(jì)時(shí),經(jīng)常需要進(jìn)行單位換算,例如,_(即單元毫米)與mil (即單元密耳)的換算,也可能存在其他單位之間的換算,但是,每次進(jìn)行單位換算都需要手動操作,不僅會增加人工操作量,降低工作效率,并且容易導(dǎo)致?lián)Q算錯(cuò)誤。針對相關(guān)技術(shù)中手動換算單位導(dǎo)致工作量大、效率低、及準(zhǔn)確性差的問題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
針對相關(guān)技術(shù)中手動換算單位導(dǎo)致工作量大、效率低、及準(zhǔn)確性差的問題,本發(fā)明提出一種單位換算的實(shí)現(xiàn)方法和裝置,能夠?qū)⒂脩糨斎氲膯挝坏牧恐祿Q算為期望的單位的量值,減少了人工操作量,改善工作效率,并且能夠提高單位換算的準(zhǔn)確性。本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的根據(jù)本發(fā)明的一個(gè)方面,提供了 一種單位換算的實(shí)現(xiàn)方法。該單位換算的實(shí)現(xiàn)方法包括接收用戶輸入的第一單位的量值;將第一單位的量值代入到用于將第一單位換算為第二單位的語句中;運(yùn)行代入量值后的語句,將第一單位的量值換算為第二單位的量值。其中,該單位換算的實(shí)現(xiàn)方法進(jìn)一步包括在Allegro運(yùn)行界面中,如果接收到用戶輸入的單位換算指令,則顯示單位換算界面;并且,接收用戶輸入的第一單位的量值包括通過單位換算界面接收用戶輸入的第一單位的量值。并且,單位換算界面包括第一部分和第二部分,第一部分對應(yīng)于第一單位,第二部分對應(yīng)于第二單位,其中,在用戶在第一部分中輸入量值的情況下,將該量值代入用于將第一單位換算為第二單位的語句中并運(yùn)行該語句,將該量值換算為第二單位的量值并顯示在第二部分中。此外,該單位換算的實(shí)現(xiàn)方法進(jìn)一步包括在用戶在第二部分中輸入量值的情況下,將該量值代入到用于將第二單位換算為第一單位的語句中并運(yùn)行該語句,換算為第一單位的量值并顯示在第一部分中。并且,該單位換算的實(shí)現(xiàn)方法進(jìn)一步包括將第一單位的量值代入到用于將第一單位換算為第三單位的語句中并運(yùn)行該語句,將第一單位的量值換算為第三單位的量值。根據(jù)本發(fā)明的一個(gè)方面,提供了 一種單位換算的實(shí)現(xiàn)裝置。該單位換算的實(shí)現(xiàn)裝置包括接收模塊,用于接收用戶輸入的第一單位的量值;代入模塊,用于將第一單位的量值代入到用于將第一單位換算為第二單位的語句中;換算模塊,用于運(yùn)行代入量值后的語句,將第一單位的量值換算為第二單位的量值。其中,接收模塊進(jìn)一步用于在Allegro運(yùn)行界面中接收用戶輸入的單位換算指令,并且用于通過單位換算界面接收用戶輸入的第一單位的量值;界面提供模塊,用于在接收模塊接收到單位換算指令的情況下顯示單位換算界面。并且,單位換算界面包括第一部分和第二部分,第一部分對應(yīng)于第一單位,第二部分對應(yīng)于第二單位,其中,在用戶在第一部分中輸入量值的情況下,將該量值代入用于將第一單位換算為第二單位的語句中并運(yùn)行該語句,將該量值換算為第二單位的量值并顯示在第二部分中。進(jìn)一步地,代入模塊還用于在用戶在第二部分中輸入量值的情況下,將該量值代入到用于將第二單位換算為第一單位的語句中;并且,換算模塊還用于運(yùn)行該用于將第二單位換算為第一單位的語句,并將換算得到的第一單位的量值并顯示在第一部分中。此外,代入模塊還用于將第一單位的量值代入到用于將第一單位換算為第三單位的語句中,換算模塊還用于運(yùn)行該用于將第一單位換算為第三單位的語句,將第一單位的量值換算為第三單位的量值。本發(fā)明通過將用戶輸入的單位的量值換算為期望的單位的量值,代入預(yù)定的語句來換算單位,能夠有效減少人工操作量,改善工作效率,并且提高單位換算的準(zhǔn)確性。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本發(fā)明實(shí)施例的單位換算的實(shí)現(xiàn)方法的流程圖2根據(jù)本發(fā)明實(shí)施例的單位換算的實(shí)現(xiàn)方法的具體操作過程中單位換算的界面示意圖;圖3是根據(jù)本發(fā)明實(shí)施例的單位換算的實(shí)現(xiàn)裝置的框圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。根據(jù)本發(fā)明的實(shí)施例,提供了一種單位換算的實(shí)現(xiàn)方法。如圖1所示,根據(jù)本發(fā)明實(shí)施例的單位換算的實(shí)現(xiàn)方法包括步驟S101,接收用戶輸入的第一單位的量值;步驟S103,將第一單位的量值代入到用于將第一單位換算為第二單位的語句中;步驟S105,運(yùn)行代入量值后的語句,將第一單位的量值換算為第二單位的量值。其中,在Allegro運(yùn)行界面中,如果接收到用戶輸入的單位換算指令,則顯示單位換算界面;并且,接收用戶輸入的第一單位的量值表示為通過單位換算界面接收用戶輸入的第一單位的量值。并且,單位換算界面包括第一部分和第二部分,第一部分對應(yīng)于第一單位,第二部分對應(yīng)于第二單位,其中,在用戶在第一部分中輸入量值的情況下,將該量值代入用于將第一單位換算為第二單位的語句中并運(yùn)行該語句,將該量值換算為第二單位的量值并顯示在第二部分中。此外,在用戶在第二部分中輸入量值的情況下,將該量值代入到用于將第二單位換算為第一單位的語句中并運(yùn)行該語句,換算為第一單位的量值并顯示在第一部分中。并且,該單位換算的實(shí)現(xiàn)方法進(jìn)一步包括將第一單位的量值代入到用于將第一單位換算為第三單位的語句中并運(yùn)行該語句,將第一單位的量值換算為第三單位的量值。此外,在實(shí)際應(yīng)用中,單位換算界面可以包括多于3個(gè)部分,每個(gè)部分對應(yīng)于一個(gè)單位。其中,在用戶在其中一個(gè)部分中輸入量值的情況下,其它部分均顯示由該部分的量值換算而來的量值。根據(jù)本發(fā)明的單位換算的實(shí)現(xiàn)方法可以借助于編寫工具(實(shí)際應(yīng)用中,可以是Notepad++)采用skill (解釋性的腳本語言,運(yùn)行于cadence設(shè)計(jì)工具,可以擴(kuò)充cadence設(shè)計(jì)工具的功能)來實(shí)現(xiàn)。在allegro環(huán)境下使用Skill,必須要先載入后才能使用相關(guān)的命令,根據(jù)本發(fā)明的單位換算的實(shí)現(xiàn)方法提供了兩種用于加載Skill文件及allegro, ilinit內(nèi)容解析的方式,包括方式一,直接在COMMAND窗口輸入skill load( “Skill文件名”)來載入,這種方法只針對當(dāng)前處于開啟狀態(tài)的ALLEGRO才有效;方式二,將載入語句寫入PCBENV目錄下的allegro, ilinit文件內(nèi)來實(shí)現(xiàn)在ALLEGRO啟動時(shí)的自動加載,該方式比較通用。下面描述方式二的具體步驟。步驟一,查看環(huán)境變量所在目錄,該步驟可以通過兩種方法來實(shí)現(xiàn)(I)通過查看電腦環(huán)境變量中的HOME變量值.例如,HOME變量為d:\,那實(shí)際的allegro, ilinit文件路徑應(yīng)該放在d:\pcbenv目錄下;(2)直接在ALLEGRO命令行輸入echo$localenv也可以得到實(shí)際的環(huán)境變量目錄。在環(huán)境變量目錄下如果沒有allegro, ilinit文件,可以新建一個(gè)文本文件,然后修改文件名,allegro在啟動時(shí)會在環(huán)境變量目錄下查找al legro.1linit文件,并執(zhí)行其中的Ski 11語句??梢詫llegro, ilinit理解成一個(gè)ALLEGRO自動啟動的Skill文件。步驟二,編寫allegro, ilinit 文件 實(shí)際應(yīng)用中,allegro, ilinit文件內(nèi)容如下;--------------------------------------------------------setSkillPath(buiIdString(appendl(getSkillPathO “D:/Skill” )))load ( “XXX.1l”);--------------------------------------------------------以上代碼都是標(biāo)準(zhǔn)的Skill語句,下面描述將使用到的函數(shù),實(shí)際應(yīng)用中可以多于或少于下面所描述的函數(shù),包括函數(shù)一,getSkillPath O ;函數(shù),用于獲取ALLEGRO的Skill PATH列表,該列表所包含路徑中的Skill文件,可直接使用相對路徑調(diào)用;函數(shù)二,appendl;函數(shù),用于在列表中添加內(nèi)容,appendl (getSkillPathO “D:/ski 11 ”)))用于將D: /Ski 11目錄添加進(jìn)Ski 11路徑里,這樣只要123.1l文件處于D: /Ski 11目錄下就可以直接使用load( “123.1l”)來調(diào)用;函數(shù)三,buildString ;將LIST類型組成字符串,此函數(shù)可以省略;函數(shù)四,setSkillPath ;函數(shù),根據(jù)重新組成的路徑設(shè)置SKILL PATH ;函數(shù)五,load ;載入函數(shù),如果Skill帶有密碼,寫法為load( “xxx.1l” “password”);可選地,可以使用Ioadi函數(shù)。使用以上函數(shù)可以將Skill文件放入指定文件夾以便管理,此外,由于PCBENV目錄默認(rèn)包括在Skill PATH中,如果不使用上面語句,也可以將Skill文件放入PCBENV目錄下,使用相對路徑調(diào)用,如load( “test, il”);如果在其它位置可以使用絕對路徑調(diào)用,如load( “d:/skill/test, il”)。保存allegro, ilinit 文件后,在 ALLEGRO 命令行里執(zhí)行 Skillload( “allegro.1linit”)所有加載的Skill即可生效,當(dāng)然也可以重開ALLEGRO。根據(jù)本發(fā)明的單位換算的實(shí)現(xiàn)方法編寫的skill,具體操作為按上述方法把conv.1l這個(gè)skill放到指定的目錄下并加載后,重啟allegro,在命令行輸入conv,即可彈出如圖2所示的界面,S卩,上述的單位換算界面,通過該界面可以進(jìn)行單位的換算。在實(shí)際應(yīng)用中,圖2中所示的界面能夠進(jìn)行mils和mm兩個(gè)單位之間的換算。其中,圖2中所示的上方空白處可以理解為上述的第一部分(例如,該部分對應(yīng)于單位mil (mils),也可以對應(yīng)于其他單位),下方的空白處可以理解為上述的第二部分(例如,該部分對應(yīng)于單位mm,也可以對應(yīng)于其他單位),在上方空白處輸入量值并按下“ok”按鍵后,即可調(diào)用將單位mil換算為單位mm的語句,將輸入的量值換算為單位mm的值,顯示在下方空白處。反之亦然,在下方空白處輸入量值并按下“ok”按鍵后,即可調(diào)用將單位mm換算為單位mil的語句,將輸入的量值換算為單位mil的值,顯示在上方空白處。在實(shí)際應(yīng)用中,圖2所示的界面還可以包含對應(yīng)于其他單位的部分(空白處),例如,對應(yīng)于厘米cm等單位,當(dāng)在任一部分(任一空白處)輸入了量之后,會將該量值代入語句中,將該量值轉(zhuǎn)換為其他單位的量值,并顯示在響應(yīng)的空白處。可選地,本發(fā)明中涉及具體的界面時(shí),可以增加更多功能界面或者采用不同顯示風(fēng)格的界面來實(shí)現(xiàn)。而本發(fā)明所用的函數(shù)代碼也可以由本領(lǐng)域技術(shù)人員所公知可實(shí)現(xiàn)同樣目的的其它的函數(shù)代碼來替代。根據(jù)本發(fā)明的實(shí)施例,提供了 一種單位換算的實(shí)現(xiàn)裝置。如圖3所示,根據(jù)本發(fā)明實(shí)施例的單位換算的實(shí)現(xiàn)裝置包括接收模塊31,用于接收用戶輸入的第一單位的量值;代入模塊32,用于將第一單位的量值代入到用于將第一單位換算為第二單位的語句中;換算模塊33,用于運(yùn)行代入量值后的語句,將第一單位的量值換算為第二單位的量值。其中,接收模塊31進(jìn)一步用于在Allegro運(yùn)行界面中接收用戶輸入的單位換算指令,并且用于通過單位換算界面接收用戶輸入的第一單位的量值;界面提供模塊(未示出),用于在接收模塊接收到單位換算指令的情況下顯示單位換算界面。并且,單位換算界面包括第一部分和第二部分,第一部分對應(yīng)于第一單位,第二部分對應(yīng)于第二單位,其中,在用戶在第一部分中輸入量值的情況下,將該量值代入用于將第一單位換算為第二單位的語句中并運(yùn)行該語句,將該量值換算為第二單位的量值并顯示在第二部分中。進(jìn)一步地,代入模塊32還用于在用戶在第二部分中輸入量值的情況下,將該量值代入到用于將第二單位換算為第一單位的語句中;并且,換算模塊還用于運(yùn)行該用于將第二單位換算為第一單位的語句,并將換算得到的第一單位的量值并顯示在第一部分中。此外,代入模塊32還用于將第一單位的量值代入到用于將第一單位換算為第三單位的語句中,換算模塊還用于運(yùn)行該用于將第一單位換算為第三單位的語句,將第一單位的量值換算為第三單位的量值。綜上所述,借助于本發(fā)明的上述技術(shù)方案,通過將用戶輸入的單位的量值換算為期望的單位的量值,由于通過預(yù)定的語句來換算,所以增加了單位換算的準(zhǔn)確性,并且可以將輸入的單位的量值轉(zhuǎn)準(zhǔn)確地?fù)Q成一個(gè)或者多個(gè)期望的單位的量值,從而能夠有效減少人工操作量,改善工作效率,并且提高單位換算的準(zhǔn)確性。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種單位換算的實(shí)現(xiàn)方法,其特征在于,所述實(shí)現(xiàn)方法包括接收用戶輸入的第一單位的量值;將第一單位的量值代入到用于將所述第一單位換算為第二單位的語句中;運(yùn)行代入所述量值后的所述語句,將所述第一單位的量值換算為所述第二單位的量值。
2.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于,進(jìn)一步包括在Allegro運(yùn)行界面中,如果接收到用戶輸入的單位換算指令,則顯示單位換算界面; 并且,接收用戶輸入的第一單位的量值包括通過所述單位換算界面接收用戶輸入的所述第一單位的量值。
3.根據(jù)權(quán)利要求2所述的實(shí)現(xiàn)方法,其特征在于,所述單位換算界面包括第一部分和第二部分,所述第一部分對應(yīng)于所述第一單位,所述第二部分對應(yīng)于第二單位,其中,在用戶在所述第一部分中輸入量值的情況下,將該量值代入用于將所述第一單位換算為第二單位的語句中并運(yùn)行該語句,將該量值換算為所述第二單位的量值并顯示在所述第二部分中。
4.根據(jù)權(quán)利要求3所述的實(shí)現(xiàn)方法,其特征在于,進(jìn)一步包括在用戶在所述第二部分中輸入量值的情況下,將該量值代入到用于將所述第二單位換算為第一單位的語句中并運(yùn)行該語句,換算為所述第一單位的量值并顯示在所述第一部分中。
5.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于,進(jìn)一步包括將第一單位的量值代入到用于將所述第一單位換算為第三單位的語句中并運(yùn)行該語句,將所述第一單位的量值換算為所述第三單位的量值。
6.一種單位換算的實(shí)現(xiàn)裝置,其特征在于,所述實(shí)現(xiàn)裝置包括接收模塊,用于接收用戶輸入的第一單位的量值;代入模塊,用于將第一單位的量值代入到用于將所述第一單位換算為第二單位的語句中;換算模塊,用于運(yùn)行代入所述量值后的所述語句,將所述第一單位的量值換算為所述第二單位的量值。
7.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)裝置,其特征在于,所述接收模塊進(jìn)一步用于在Allegro 運(yùn)行界面中接收用戶輸入的單位換算指令,并且用于通過單位換算界面接收用戶輸入的所述第一單位的量值;界面提供模塊,用于在所述接收模塊接收到所述單位換算指令的情況下顯示單位換算界面。
8.根據(jù)權(quán)利要求7所述的實(shí)現(xiàn)裝置,其特征在于,所述單位換算界面包括第一部分和第二部分,所述第一部分對應(yīng)于所述第一單位,所述第二部分對應(yīng)于第二單位,其中,在用戶在所述第一部分中輸入量值的情況下,將該量值代入用于將所述第一單位換算為第二單位的語句中并運(yùn)行該語句,將該量值換算為所述第二單位的量值并顯示在所述第二部分中。
9.根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)裝置,其特征在于,所述代入模塊還用于在用戶在所述第二部分中輸入量值的情況下,將該量值代入到用于將所述第二單位換算為第一單位的語句中;并且,所述換算模塊還用于運(yùn)行該用于將所述第二單位換算為第一單位的語句,并將換算得到的第一單位的量值并顯示在所述第一部分中。
10.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)裝置,其特征在于,所述代入模塊還用于將第一單位的量值代入到用于將所述第一單位換算為第三單位的語句中,所述換算模塊還用于運(yùn)行該用于將所述第一單位換算為第三單位的語句,將所述第一單位的量值換算為所述第三單位的量值。
全文摘要
本發(fā)明公開了一種單位換算的實(shí)現(xiàn)方法和裝置,該方法包括接收用戶輸入的第一單位的量值;將第一單位的量值代入到用于將第一單位換算為第二單位的語句中;運(yùn)行代入量值后的語句,將第一單位的量值換算為第二單位的量值。本發(fā)明通過將用戶輸入的單位的量值換算為期望的單位的量值,代入預(yù)定的語句來換算單位,能夠有效減少人工操作量,改善工作效率,并且提高單位換算的準(zhǔn)確性。
文檔編號G06F17/00GK103020012SQ201210564548
公開日2013年4月3日 申請日期2012年12月21日 優(yōu)先權(quán)日2012年12月21日
發(fā)明者李繼萍 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司