国产九九热视频-国产九九精品视频-国产精自产拍久久久久久蜜-国产精自产拍久久久久久-国产精在线-国产精亚洲视频
右欄
歡迎您:游客!請先
登錄
或
注冊
風格
恢復默認設置
|
展區
文件集瀏覽
圖片集瀏覽
Flash瀏覽
音樂集瀏覽
電影集瀏覽
|
搜索
|
社區游戲中心
曙海教育集團論壇
→
Cadence專區
→
Cadence PCB設計初中級
→ Cadence Allegro SKILL語言
新的主題
投票帖
交易帖
小字報
下一主題 >>
<< 上一主題
共有
13105
人關注過本帖
樹形
打印
主題:Cadence Allegro SKILL語言
wangxinxin
小
大
1樓
個性首頁
|
博客
|
信息
|
搜索
|
郵箱
|
主頁
|
UC
加好友
發短信
等級:青蜂俠
帖子:
1393
積分:14038
威望:0
精華:0
注冊:
2010-11-12 11:08:23
Cadence Allegro SKILL語言
Post By:2010-12-8 13:34:29
大綱:
(一)、SKILL基礎
(二)、利用AXL接口操作Allegro PCB對象
(三)、注冊和使用自定義Allegro命令
(四)、Allegro UI界面設計和響應
Email:
TrizDev@yahoo.cn
(以前的郵箱丟了)
四、Allegro UI界面設計和響應
1、簡介
界面是交互設計中不可缺少的一部分,很多時候我們無法只讓程序孤芳自賞地運行
2、基于文本描述的SKILL界面設計
例子:Example.form(簡單的幾段文字已經勾勒出我們想要的界面)
FILE_TYPE=FORM_DEFN VERSION=2
FORM
FIXED
PORT 26 20
HEADER "FINDER..."
TILE
TEXT "COMPONENT LIST"
TLOC 1 1
FSIZE 25 3
ENDTEXT
FIELD Placed_List
FLOC 1 3
LIST "" 24 16
OPTION sort
ENDFIELD
FIELD done
FLOC 9 33
MENUBUTTON " OK " 10 3
ENDFIELD
ENDTILE
ENDFORM
3、測試Form的方法
Form測試接口函數axlFormTest(s_formPath)
示例:
axlFormTest("C:\\Example.form")
功能:
利用這個函數可以檢查Form文件的語法以及Form的顯示效果, 編輯界面時不斷使用,使你的界面更加漂亮
Tips:
A、Allegro所有的Form文件都放在Setup - User Preferences...菜單,選擇UI_Path列別中的formpath。
查看Allegro所有界面文件,很好的界面重用資源
B、將自定義的Form文件放在formpath下可以不用寫絕對路徑調用,不信試試
4、界面工具開發ABCDE
A、創建界面文件并使用axlFormCreate或axlMiniStatusLoad打開Form句柄(注意卸磨殺驢)
B、使用axlFormSetField初始化界面區域
C、axlFormDisplay顯示界面
D、在axlFormCallback中定義用戶交互和區域響應
E、使用axlFormClose關閉界面窗口
/*
功能:通過選擇界面列表框中的器件名稱瀏覽器件
命令:OverviewComps
*/
;注冊命令
axlCmdRegister("OverviewComps" 'TestFormAppMainModule)
;創建界面文件并顯示界面(主模塊)
procedure( TestFormAppMainModule()
prog( (FileName FilePort)
;寫文件生成界面文件
FileName = "TestForm.form"
FilePort = outfile(FileName "w")
fprintf(FilePort "FILE_TYPE=FORM_DEFN VERSION=2\n")
fprintf(FilePort "FORM\n")
fprintf(FilePort "FIXED\n")
fprintf(FilePort "PORT 26 20\n\n")
fprintf(FilePort "HEADER \"FORM TEST...\"\n\n")
fprintf(FilePort "TILE\n\n")
fprintf(FilePort "TEXT \"ComponentList:\"\n\n")
fprintf(FilePort "TLOC 1 1\n")
fprintf(FilePort "FSIZE 25 3\n")
fprintf(FilePort "ENDTEXT\n\n")
fprintf(FilePort "FIELD ComponentList\n")
fprintf(FilePort "FLOC 1 3\n")
fprintf(FilePort "LIST \"\" 24 16\n")
fprintf(FilePort "OPTION sort\n")
fprintf(FilePort "ENDFIELD\n\n")
fprintf(FilePort "FIELD Quit\n")
fprintf(FilePort "FLOC 9 33\n")
fprintf(FilePort "MENUBUTTON \"EXIT\" 10 3\n")
fprintf(FilePort "ENDFIELD\n\n")
fprintf(FilePort "ENDTILE\n\n")
fprintf(FilePort "ENDFORM\n\n")
close(FilePort)
;創建界面句柄,刪除界面文件(卸磨殺驢...)
fw = axlFormCreate(gensym() FileName '("E" "OUTER") 'TestFormAppCallBack t)
deleteFile(FileName)
;界面區域初始化
TestFormFieldInit(fw)
;顯示界面
axlFormDisplay(fw)
return(t)
))
;界面區域初始化
procedure( TestFormFieldInit(fw)
prog( (CompsNameList)
;獲取所有的器件名稱
CompsNameList = axlDBGetDesign()->components~>name
;設置器件列表區域
axlFormSetField(fw "ComponentList" CompsNameList)
return(t)
))
;界面區域響應回調函數
procedure( TestFormAppCallBack(fw)
prog( (CompName CompId)
case(fw->curField
("ComponentList"
CompName = fw->curValue
CompId = axlSelectByName("COMPONENT" CompName)
;定位到對象
axlZoomToDbid(CompId t)
;顯示對象詳細信息
axlShowObject(CompId)
)
("Quit"
;清理現場
axlClearSelSet()
axlSetFindFilter(?enabled "NOALL" ?onButtons "NOALL")
axlFormClose(fw)
)
)
return(t)
))
5、參考文檔
%CDSROOT%\doc
例子:
D:\DesignAdvance\Cadence\SPB_15.2\doc
參考手冊列表:
algroskill AXL接口函數參考手冊
Tips:
看看下面的路徑下是什么東西,保證樂死你... ...
%CDSROOT%\share\pcb\example\skill
6、課后習題
搞懂%CDSROOT%\share\pcb\example\skill路徑下所有的程序代碼,然后恭喜你入門了... ...
支持
(
0
)
中立
(
0
)
反對
(
0
)
單帖管理
舉報帖子
使用道具
|
引用
|
回復
下一主題 >>
<< 上一主題
返回版面帖子列表
Cadence Allegro SKILL語言
回復標題:
上傳附件:
簽名
:
不顯示
顯示
RSS2.0
Xhtml無圖版
Xslt無圖版
Copyright © 2000 - 2009
曙海
教育集團
Powered By
曙海教育集團
Version 2.2
頁面執行時間 0.03125 秒, 3 次數據查詢
主站蜘蛛池模板:
临城县
|
玉门市
|
共和县
|
大庆市
|
类乌齐县
|
兖州市
|
建始县
|
长宁县
|
吉水县
|
丰宁
|
苍山县
|
泽州县
|
双牌县
|
凤翔县
|
明水县
|
鸡东县
|
铜鼓县
|
伊金霍洛旗
|
内江市
|
米林县
|
台州市
|
永定县
|
阿克陶县
|
耿马
|
淮滨县
|
汾阳市
|
平度市
|
曲松县
|
上饶市
|
开江县
|
固安县
|
铁岭市
|
兴安县
|
岳池县
|
信宜市
|
独山县
|
天水市
|
堆龙德庆县
|
恭城
|
邻水
|
土默特右旗
|