国产高清吹潮免费视频,老熟女@tubeumtv,粉嫩av一区二区三区免费观看,亚洲国产成人精品青青草原

二維碼
企資網(wǎng)

掃一掃關(guān)注

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

當(dāng)我們進(jìn)入仿真狀態(tài)后,首先會(huì)調(diào)用Initialize函數(shù),其中首先將ICOMPONENT指針保存到本地指針component,后續(xù)針對(duì)元件得操作均源于此。之后通過GetColorFiledById分別獲取了發(fā)布者會(huì)員賬號(hào)為100與101字段得顏色值(自定義屬性項(xiàng)得發(fā)布者會(huì)員賬號(hào)值從100開始,具體參考《仿真模型開發(fā)手冊(cè).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ù)項(xiàng)才會(huì)往下移。

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

當(dāng)然,如果在源代碼中使用了sprintf函數(shù),而編譯時(shí)出現(xiàn)錯(cuò)誤信息提示“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.”,可以在工程“屬性”對(duì)話框中得“C/C++”->”預(yù)處理器”標(biāo)簽頁中添加宏“_CRT_SECURE_NO_WARNINGS”。

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

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

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

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

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

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

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

粵ICP備16078936號(hào)

微信

關(guān)注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號(hào): weishitui

客服001 客服002 客服003

工作時(shí)間:

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

反饋

用戶
反饋