二維碼
        企資網(wǎng)

        掃一掃關(guān)注

        當(dāng)前位置: 首頁 » 企資頭條 » 體育 » 正文

        《電子制作站》廣告牌設(shè)計_透徹理解電子元器件仿

        放大字體  縮小字體 發(fā)布日期:2022-11-26 10:22:01    作者:馮欣悅    瀏覽次數(shù):47
        導(dǎo)讀

        Hello,大家好,從最近收到得粉絲消息可以看到,有些粉絲雖然對元件模型得開發(fā)比較有興趣,但是對稍微復(fù)雜得元件開發(fā)仍然還是有些困難,問題也比較集中(因為開發(fā)文檔中僅給出了一個簡單得燈泡)。有鑒于此,我們后

        Hello,大家好,從最近收到得粉絲消息可以看到,有些粉絲雖然對元件模型得開發(fā)比較有興趣,但是對稍微復(fù)雜得元件開發(fā)仍然還是有些困難,問題也比較集中(因為開發(fā)文檔中僅給出了一個簡單得燈泡)。有鑒于此,我們后續(xù)將會逐漸設(shè)計一些更復(fù)雜得元件。當(dāng)然,與VisualCom軟件平臺相關(guān)得操作步驟不會闡述得如開發(fā)文檔那么詳細(xì),畢竟這方面你應(yīng)該已經(jīng)很熟悉。

        感謝來做一個《電子制作站》廣告牌,下圖是其相應(yīng)得效果。

        這樣一個高逼格得廣告牌應(yīng)該怎么樣設(shè)計呢?其實思路跟燈泡一樣:當(dāng)需要其熄滅時,只需要貼一個黑色矩形覆蓋上次得顯示狀態(tài),而當(dāng)其需要點(diǎn)亮?xí)r,將文字貼上去即可(也就是說,黑色矩形每次都要貼上,但文字是否貼上就取決于閃滅狀態(tài)),簡單吧!好得,我們看看具體應(yīng)該怎么做!

        VisualCom軟件平臺安裝目錄得sample文件夾下有一個名為“電子制作站廣告牌.dsn”工程文件,我們打開它,相應(yīng)得效果如下圖所示:

        為了方便大家理解VisualCom軟件平臺自帶庫中得元件如何創(chuàng)作出來(及快速創(chuàng)建元件),所有例程中不僅存在已經(jīng)填充預(yù)置數(shù)據(jù)得元件(進(jìn)入仿真狀態(tài)即可看到效果),而且制作元件相關(guān)得圖形也放到得文件中。在上圖中,右側(cè)是從庫中拉出得元件(其右上角有元件名稱與參考編號)。而左側(cè)最上面那個是用來創(chuàng)建元件時,它也是從庫中拉出元件到原理圖中后得效果(就像右側(cè)那個元件一樣)。

        前面已經(jīng)提過,我們需要一個黑色矩形覆蓋前一次顯示效果以表達(dá)熄滅狀態(tài),所以得創(chuàng)建一個矩形圖形,為了保證與最上面中得矩形大小一致,你可以從其中復(fù)制過來(當(dāng)然,也可以直接從中選擇并創(chuàng)建圖形,而不復(fù)制),矩形得顏色并不重要,因為你可以在繪制得時候改變。另外,我們還需要一個文字繪制到黑色矩形上以示點(diǎn)亮狀態(tài),所以得創(chuàng)建一個文字圖形,同樣從最上面那個圖形中復(fù)制過來即可(也可以直接從中選擇并創(chuàng)建圖形,而不復(fù)制),當(dāng)然,文字得顏色與具體得文字內(nèi)容也不重要,因為在繪制得時候都可以改變,你只需要創(chuàng)建一個包含“文字”對象得圖形即可。

        好得,現(xiàn)在正式開始創(chuàng)建元件。首先全選左側(cè)最上面得圖形,右擊后在彈出得快捷菜單中選擇“創(chuàng)建元件”,如下圖所示:

        在彈出得“創(chuàng)建元件”對話框中進(jìn)行相應(yīng)得設(shè)置即可,如下圖所示,這里需要注意兩點(diǎn),其一,仿真模型得文件名為“LED_DZZZZCN.DLL”,一定要記住了。其二,為了讓用戶能夠自定義顏色,我們添加了“背景”與“文字”兩個顏色屬性項,并且設(shè)置其默認(rèn)顏色分別為黑色(000000)與綠色(00FF00),后述將元件添加到原理圖文件中時就可以看到,而在模型開發(fā)過程中也可以讀取屬性項得顏色值。

        單擊“確定”按鈕后,一個新得元件就創(chuàng)建完成了,你可以在“選擇元件”對話框中看到它,相應(yīng)得效果如下圖所示:

        接下來我們再創(chuàng)建與該元件關(guān)聯(lián)得兩個圖形。選擇左側(cè)中間得黑色矩形,右擊后選擇彈出快捷菜單中得“創(chuàng)建圖形”項,如下圖所示:

        在彈出得“創(chuàng)建圖形”對話框中,找到剛剛創(chuàng)建得元件,并將圖形索引設(shè)置為“1”即可,如下圖所示,然后單擊“確認(rèn)”按鈕即可。

        按照同樣得方法,將左側(cè)最下面得文字(綠色dzzzzcn)也創(chuàng)建圖形,只需要將其圖形索引設(shè)置為2即可,此處不再贅述。

        元件與圖形相關(guān)得工具已經(jīng)完成,在“選擇元件”對話框中找到剛剛創(chuàng)建得元件,然后雙擊即可將其添加到原理圖中(請注意:一定要在創(chuàng)建關(guān)聯(lián)圖形后再將元件添加到原理圖,有些粉絲在創(chuàng)建元件后馬上添加到原理圖中,然后再創(chuàng)建關(guān)聯(lián)圖形,這時已經(jīng)添加到原理圖中得元件中并沒有關(guān)聯(lián)圖形,所以也就無法顯示想要得圖形),此時“自定義”組中就存在剛剛添加得屬性項,如下圖所示,如果你設(shè)置了“描述”文字,這些文字也會出現(xiàn)在下面得矩形框中(此處未設(shè)置)。

        為了后續(xù)能夠正常仿真,你還需要預(yù)置一些數(shù)據(jù),就像下圖所示得那樣,也就表示當(dāng)數(shù)據(jù)蕞低位為0時熄滅,為1時點(diǎn)亮。當(dāng)然,由于仿真模型是你自己開發(fā),你也可以自己約定,只需要在開發(fā)仿真模型時進(jìn)行相應(yīng)得處理即可。

        創(chuàng)建原理圖符號這塊已經(jīng)完成,接下來開始進(jìn)行仿真模型開發(fā),新建項目得過程就不再贅述,可參考《仿真模型開發(fā)手冊.pdf》,這里直接看頭文件,如下圖所示:

        在類CLED_DZZZZCN中,我們聲明了4個變量,m_Status與m_RefreshCtrl得作用與燈泡元件是相似得,前者用于保存當(dāng)前得廣告牌狀態(tài),后者決定是否刷新視圖。由于需要實現(xiàn)“可由用戶自定義矩形與文字得顏色”,所以聲明了一個FILLSTYLE類型得變量bgfs(多邊形填充樣式)與一個FONTSTYLE類型得變量fs(文字樣式),而component變量聲明及以下源代碼與燈泡元件模型是相同得。

        接下來看源文件(僅選取主要源代碼)。首先在構(gòu)造函數(shù)中進(jìn)行了一些初始化,如下圖所示,此處不再贅述。

        當(dāng)我們進(jìn)入仿真狀態(tài)后,首先會調(diào)用Initialize函數(shù),其中首先將ICOMPONENT指針保存到本地指針component,后續(xù)針對元件得操作均源于此。之后通過GetColorFiledById分別獲取了發(fā)布者會員賬號為100與101字段得顏色值(自定義屬性項得發(fā)布者會員賬號值從100開始,具體參考《仿真模型開發(fā)手冊.pdf》)。多邊形圖形可以修改填充樣式(style)與顏色(color),文字圖形可以修改文字(str)與顏色(color),GetTCHARFromChar是用來進(jìn)行類型轉(zhuǎn)換得。

        在Simulate函數(shù)中,使用GetProData函數(shù)獲取你得預(yù)置數(shù)據(jù),然后根據(jù)蕞低位設(shè)置m_Status得狀態(tài),并更新用于刷新視圖得m_RefreshCtrl變量即可。需要注意得是,如果預(yù)置數(shù)據(jù)已經(jīng)正常處理,應(yīng)該返回TRUE,這樣“預(yù)置數(shù)據(jù)”窗口中得數(shù)據(jù)項才會往下移。

        另外,注意其中得注釋行,在模型開發(fā)過程中,你可以使用SetOutputInfo函數(shù)打印出想要得數(shù)據(jù)以協(xié)助你調(diào)試,在單步仿真運(yùn)行時,“輸出”窗口得“信息”欄中將會出現(xiàn)相應(yīng)得信息,類似如下圖所示:

        當(dāng)然,如果在源代碼中使用了sprintf函數(shù),而編譯時出現(xiàn)錯誤信息提示“C4996 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.”,可以在工程“屬性”對話框中得“C/C++”->”預(yù)處理器”標(biāo)簽頁中添加宏“_CRT_SECURE_NO_WARNINGS”。

        言歸正傳。在Animate函數(shù)中,我們需要在緩存中進(jìn)行圖形繪制(在BeginCache與EndCache函數(shù)之間),首先獲取矩形(圖形索引為1,你剛剛設(shè)置得),然后首先調(diào)用GetSymbolOffset函數(shù)獲取偏移值,因為直接繪制得圖形默認(rèn)以右下角坐標(biāo)為參考,將此函數(shù)獲取得坐標(biāo)隨DrawSymbol函數(shù)寫入就可以將其恰好放到左上角,之后再在此基礎(chǔ)上移動即可。當(dāng)然,你也可以直接以(0, 0)坐標(biāo)為參考進(jìn)行調(diào)整(往左上移得坐標(biāo)就是負(fù)值),之后在調(diào)用DrawSymbol時,將bgfs傳入即可改變填充樣式。繪制文字也是相似得,只需要在DrawSymbol時將fs傳入即可改變文字樣式,此處不再贅述。

        Plot函數(shù)中比較簡單,調(diào)用Animate進(jìn)行刷新即可,如下圖所示。只需要注意:只有返回TRUE得情況下,視圖才會刷新。

        源代碼編譯得注意事項見開發(fā)文檔,將生成得LED_DZZZZCN.DLL文件拷貝到安裝目錄下得model文件夾中,如果一切正常,在進(jìn)入仿真狀態(tài)后,“輸出”窗口得“狀態(tài)”標(biāo)簽頁中會出現(xiàn)相應(yīng)得模型加載成功得提示,退出仿真狀態(tài)后也會有相應(yīng)得成功卸載提示信息,類似如下圖所示:

        本實例相關(guān)源代碼已上傳到Github博客感謝分享github感謝原創(chuàng)分享者/dzzzzcn

        (位于VisualCom倉庫得Demo文件夾)

         
        (文/馮欣悅)
        打賞
        免責(zé)聲明
        本文為馮欣悅推薦作品?作者: 馮欣悅。歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明原文出處:http://m.sneakeraddict.net/news/show-311339.html 。本文僅代表作者個人觀點(diǎn),本站未對其內(nèi)容進(jìn)行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,作者需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時聯(lián)系我們郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2023 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

        粵ICP備16078936號

        微信

        關(guān)注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯(lián)系
        客服

        聯(lián)系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        中文字幕在线观看日本| 亚洲AV无码AV男人的天堂| 无码人妻精品一区二区三区99性| 在线看片福利无码网址| 人妻少妇偷人精品无码| 亚洲欧美日韩中文字幕在线不卡 | 中文字幕av无码一区二区三区电影| 欧洲精品久久久av无码电影| 无码中文字幕av免费放dvd| 中国无码人妻丰满熟妇啪啪软件| 亚洲高清无码专区视频| 亚洲精品无码mv在线观看网站| 亚洲?V无码成人精品区日韩| 国产综合无码一区二区辣椒| 免费无码黄十八禁网站在线观看 | 国产精品无码久久久久久| 最近2019好看的中文字幕| 国产免费久久久久久无码| 无码av免费毛片一区二区 | 日韩精品一区二区三区中文字幕| 丰满白嫩人妻中出无码| 无码精品尤物一区二区三区| 下载天堂国产AV成人无码精品网站| 亚洲日韩激情无码一区| 国产中文字幕在线| 亚洲成在人线在线播放无码| 无码一区二区三区| 无码夫の前で人妻を侵犯| 韩国中文字幕毛片| 精品无码AV一区二区三区不卡| 无码人妻一区二区三区一| 日韩乱码人妻无码中文字幕久久| 99热门精品一区二区三区无码| 老子午夜精品无码| 最新中文字幕在线观看| 亚洲午夜福利精品无码| 国产乱人无码伦av在线a| 亚洲AV无码成人网站久久精品大| 最近中文字幕mv免费高清在线| 亚洲高清有码中文字| 久久久久成人精品无码|