1.command初始化:agent、catdialogstate、transition實現狀態機
agent:catpathelementagent可獲取元素;catindicationagent可實現滑鼠單擊雙擊行為。
catdialogstate狀態機
addtransition狀態機跳轉條件:islastmodifiedagentcondition只要agent變化就觸發,action可不短響應agent變化;isoutputsetcondition只要agent值變化一次,就完成該action。
2.command初始化:buildgraph中使用andcondition實現跳轉邏輯
下面兩個transition,按照順序來執行,若執行了第乙個action,就不執行第二個action;若第乙個action沒有執行,則執行第二個action。下面兩行**可實現pfirstate到【pchangeannotationdirstate或psecstate】的邏輯操作。
第乙個transition:
addtransition( pfirstate, pchangeannotationdirstate,
andcondition(isoutputsetcondition(m_selcannotationelmagt),
condition((conditionmethod) & steelbargroupannotationcmd::getannodirmode)),
action ((actionmethod) &steelbargroupannotationcmd::annotationelmselected));
說明:andcondition中的兩個條件,isoutputsetcondition(m_selcannotationelmagt)和condition((conditionmethod) & steelbargroupannotationcmd::getannodirmode),都為真時,執行action ((actionmethod) &steelbargroupannotationcmd::annotationelmselected);若condition((conditionmethod) & steelbargroupannotationcmd::getannodirmode)返回false,則不執行action,跳轉到下面的transition。
第二個transition:
addtransition( pfirstate, psecstate,
isoutputsetcondition (m_selcannotationelmagt),
action ((actionmethod) &steelbargroupannotationcmd::annotationelmselected));
說明:從pfirstate跳轉到psecstate
1.command初始化:agent、catdialogstate、transition實現狀態機
agent:catpathelementagent可獲取元素;catindicationagent可實現滑鼠單擊雙擊行為。
catdialogstate狀態機
addtransition狀態機跳轉條件:islastmodifiedagentcondition只要agent變化就觸發,action可不短響應agent變化;isoutputsetcondition只要agent值變化一次,就完成該action。
2.command初始化:buildgraph中使用andcondition實現跳轉邏輯
下面兩個transition,按照順序來執行,若執行了第乙個action,就不執行第二個action;若第乙個action沒有執行,則執行第二個action。下面兩行**可實現pfirstate到【pchangeannotationdirstate或psecstate】的邏輯操作。
第乙個transition:
addtransition( pfirstate, pchangeannotationdirstate,
andcondition(isoutputsetcondition(m_selcannotationelmagt),
condition((conditionmethod) & steelbargroupannotationcmd::getannodirmode)),
action ((actionmethod) &steelbargroupannotationcmd::annotationelmselected));
說明:andcondition中的兩個條件,isoutputsetcondition(m_selcannotationelmagt)和condition((conditionmethod) & steelbargroupannotationcmd::getannodirmode),都為真時,執行action ((actionmethod) &steelbargroupannotationcmd::annotationelmselected);若condition((conditionmethod) & steelbargroupannotationcmd::getannodirmode)返回false,則不執行action,跳轉到下面的transition。
第二個transition:
addtransition( pfirstate, psecstate,
isoutputsetcondition (m_selcannotationelmagt),
action ((actionmethod) &steelbargroupannotationcmd::annotationelmselected));
說明:從pfirstate跳轉到psecstate
二次開發 將CATIA嵌入到Winform窗體中
由於專案需要,我們需要將catia嵌入到我們的軟體之中,要求在軟體啟動後,同時呼叫並啟動catia軟體,並能夠遮蔽掉軟體自身的選單和按鈕。通過在網上查閱資料,實現了這一功能。public string getcatiainstallpath dllimport user32.dll setlaste...
postek二次開發 POSTEK二次開發介面
例項簡介 例項截圖 核心 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using ...
mcms二次開發 YzmCMS二次開發手冊
摘要 yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有一.yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口...