亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

包括異常事件狀況管理和顯示的自動化太陽能收集器安裝設(shè)計的制作方法

文檔序號:6348328閱讀:453來源:國知局
專利名稱:包括異常事件狀況管理和顯示的自動化太陽能收集器安裝設(shè)計的制作方法
包括異常事件狀況管理和顯示的自動化太陽能收集器安裝
設(shè)計
背景技術(shù)
近年來,太陽能已經(jīng)成為越來越重要的能源。可以通過許多方式來收集并利用太陽能,包括通過使用太陽能收集器,比如使用光伏(PV)模塊以及太陽熱熱電收集器和轉(zhuǎn)換器。這些項目(project)的規(guī)模可能變化非常大——從獨棟住宅房頂?shù)匠^一百萬PV模塊的場地。太陽能發(fā)電廠的成本、使用壽命、能量產(chǎn)出和經(jīng)濟(jì)價值很大程度上取決于許多復(fù)雜并互相關(guān)聯(lián)的參數(shù),包括但不限于i)場所,ii)氣候,iii)干擾布局的物理障礙,比如天窗,iv)非物理場地特征,比如地界線縮進(jìn)或者公共通行區(qū),ν)會在系統(tǒng)上投下陰影的物理障礙,Vi)設(shè)置了重量限制和防火安全保護(hù)的地方建筑法規(guī),Vii)環(huán)境條件,比如設(shè)計風(fēng)速容限,Viii)可用的安裝表面,比如地面、房頂或停車場上方的框架,ix)地方法、國家法和聯(lián)邦法,X)公共電互聯(lián)要求,Xi)客戶工作場地處已有的電力設(shè)備,和Xii)客戶的電力或能量成本。設(shè)計和分析一個符合這些要求的高效系統(tǒng)的任務(wù)可能是復(fù)雜、耗時和容易出錯的, 并且可能構(gòu)成太陽能項目開發(fā)的主要成本。

發(fā)明內(nèi)容
公開了一種在計算機(jī)上生成太陽能收集器安裝設(shè)計的方法。該方法可以包括提供安裝工作點的表示,其中所述表示可以包括用戶定義的項目狀態(tài)信息。該方法可以包括對用戶定義的項目狀態(tài)信息應(yīng)用規(guī)則,以確定關(guān)于例如太陽能收集器安裝設(shè)計的至少一些元數(shù)據(jù)。還可以使用所述元數(shù)據(jù)生成包括一個或多個設(shè)計異常事件的一組設(shè)計異常事件。每個設(shè)計異常事件可以對一個或多個異常事件狀況進(jìn)行編碼。異常事件狀況可能是由許多原因造成的,包括用戶定義的項目狀態(tài)信息、設(shè)計、布局等違反了軟件編碼規(guī)則??梢詫⑺龅囊唤M設(shè)計異常事件的表示提供給用戶??梢詫τ脩籼峁┻x項,并且選項可以包括忽略異常事件或者遵從設(shè)計異常事件??梢砸蠡虿灰笥脩粼谟脩艚缑嬷袌?zhí)行另一動作之前 (比如以遵從的方式)解決任何相應(yīng)異常事件狀況。還公開了一種為太陽能收集器安裝項目生成合約條款的方法。該方法包括在計算裝置中提供安裝工作點的表示。該表示可以包括至少一個幾何對象、項目狀態(tài)信息等。該方法可以包括對一個或多個幾何對象和/或項目狀態(tài)信息應(yīng)用一個或多個規(guī)則以確定關(guān)于安裝設(shè)計的元數(shù)據(jù)。元數(shù)據(jù)可以用來生成包括一個或多個異常事件的一組異常事件,其中異常事件可以對由于違反軟件中編碼的規(guī)則而引起的且關(guān)于安裝設(shè)計的異常事件狀況進(jìn)行編碼。異常事件可以提供足以識別用于包括在合約中的條款的信息,例如下游協(xié)議。該方法可以包括使用該信息來生成用于包括在合約或文檔中的條款的列表,其中所述條款可以對應(yīng)于一個或多個合約排除項(contract exclusion)。公開了一種基于計算機(jī)的用戶界面,用于設(shè)計太陽能收集器安裝設(shè)計。該用戶界面可以包括太陽能收集器安裝設(shè)計的計算機(jī)用戶界面表示,該表示可以包括實質(zhì)上根據(jù)項目狀態(tài)信息(例如特征屬性)布置在一個表面上的太陽能收集器??梢蕴峁┰O(shè)計異常事件的列表的表示。一個或多個設(shè)計異常事件可以對應(yīng)于與太陽能收集器安裝設(shè)計對軟件編碼設(shè)計規(guī)則的違反有關(guān)的異常事件狀況。該界面可以包括一個操作來允許用戶通過與設(shè)計異常事件交互來解決異常事件狀況的控件。與異常事件的交互可以包括遵從設(shè)計異常事件、 重載(override)異常事件等。在一些實施例中,用戶可以在解決異常事件狀況之前在用戶界面中執(zhí)行其它動作。


圖1是用于包括房頂、排氣扇和管道特征(feature)的太陽能收集器安裝的示例工作點的示意性等距示圖;圖2示意性示出包含圖1的安裝工作點的直觀表示的用戶界面,包括對應(yīng)于房頂、 排氣扇和管道特征的幾何對象;圖3示出圖2的用戶界面,其中直觀表示中的第一幾何對象被分類為“房頂”,從而與第一組特征屬性和相應(yīng)的布局約束相關(guān)聯(lián);圖4示出圖3的用戶界面,其中第二幾何對象被分類為具有子類型“排氣扇”的“障礙物”,從而與第二組特征屬性和相應(yīng)的布局約束相關(guān)聯(lián);圖5A示出圖4的用戶界面,其中正在輸入用于生成布局的一組示例的設(shè)計優(yōu)選, 包括PV模塊類型、定向和起點;圖5B示出圖5A的用戶界面,其中已經(jīng)通過布局引擎按照輸入(例如特征屬性、項目屬性和設(shè)計優(yōu)選)和布局規(guī)則(例如布局約束、環(huán)境因素、地方建筑法規(guī)等)生成了 PV 模塊布局;圖6A是示出可以使用實施例的軟件創(chuàng)建出PV模塊布局(比如圖5B所示的布局) 所采用的處理的流程圖;圖6B示出圖5A的用戶界面,其中按照圖6A的第一輪處理的實施例已經(jīng)在房頂上平鋪了 PV模塊布局;圖7A示出圖5A的用戶界面,其中用戶已經(jīng)創(chuàng)建了“工作區(qū)”,即工作點內(nèi)的一個或多個毗鄰的子區(qū),圖形表示指示了所有者最希望將模塊放置在工作點上的哪個地方。該情況例如可能發(fā)生在當(dāng)工作點包含未開發(fā)的地區(qū)和建筑物然而所有者僅希望將模塊放置在該建筑物上的時候;圖7B示出圖7A的用戶界面,其中按照工作區(qū)屬性、特征屬性、布局約束、設(shè)計優(yōu)選和其它布局規(guī)則已經(jīng)生成了 PV模塊布局;圖8A示出圖5A的用戶界面,其中已經(jīng)定義了兩個用戶創(chuàng)建的靶框(aperture)和相應(yīng)的用戶定義的靶框設(shè)計優(yōu)選;圖8B示出圖8A的用戶界面,其中按照針對每個靶框的靶框設(shè)計優(yōu)選和按照項目屬性、特征屬性、布局約束和其它布局規(guī)則已經(jīng)生成了 PV模塊布局;圖9A和圖9B是示出可以通過布局引擎按照多用個戶定義的靶框(每一個靶框可以包含不同的靶框設(shè)計優(yōu)選)來創(chuàng)建PV模塊布局所采用的處理的流程圖;圖IOA和圖IOB示意性示出按照本文的指教在軟件應(yīng)用程序中表示工作點特征和要布置的太陽能收集器的數(shù)據(jù)的部分分級結(jié)構(gòu);圖11示意性示出包含了異常事件(exception)以及設(shè)計者應(yīng)對這些異常事件會采取的各種機(jī)制的列表的用戶界面,異常事件包括警告、錯誤和合約排除項(contract exclusion);圖12是示出用戶進(jìn)行輸入以及驗證所得布局和生成異常事件可以采用的處理的流程圖;圖13示出圖IOA的項目元素的分級結(jié)構(gòu),擴(kuò)展來包括響應(yīng)于用戶對可替代特征屬性、設(shè)計優(yōu)選、項目屬性等的選擇而可能創(chuàng)建的由軟件生成的多個版本的布局的部分描繪;圖14示意性示出包括了項目設(shè)計的版本列表以及用于對版本進(jìn)行操作的控件的用戶界面;圖15示意性示出版本概要的一部分;圖16A提供了另一個示意性用戶界面的屏幕截圖,其中用戶可以對幾何對象分類,并且其中顯示可以按照特征屬性、項目屬性、布局規(guī)則和設(shè)計優(yōu)選來生成的PV模塊布局;圖16B提供了示意性用戶界面的一個屏幕截圖,其中提供了涉及PV模塊的分類和布局的一些功能的工具欄控件;圖16C提供了示意性用戶界面的一個屏幕截圖,其中提供了涉及PV模塊的分類和布局的一些功能的菜單控件;圖16D提供了示意性用戶界面的一個屏幕截圖,其中提供了用于訪問和修改特征屬性、設(shè)計優(yōu)選、和其它用戶輸入的選項板(palette)控件;和圖16E提供了圖IOA的示意性用戶界面的一個屏幕截圖,其中按照用戶輸入(例如特征屬性、項目屬性、設(shè)計優(yōu)選)和布局規(guī)則(例如布局約束、環(huán)境因素、地方建筑法規(guī)等)已經(jīng)生成了 PV模塊布局。
具體實施例方式計算機(jī)輔助設(shè)計系統(tǒng)(CAD)已經(jīng)商業(yè)應(yīng)用了數(shù)十年。CAD系統(tǒng)提供了高效的方法來使設(shè)計信息的創(chuàng)建、編輯、呈現(xiàn)和檢索自動化。已經(jīng)通過使用“基于知識的”編程技術(shù)增強(qiáng)了 CAD系統(tǒng)的能力,從而能夠?qū)こ毯?或設(shè)計規(guī)則進(jìn)行形式化、編碼、和執(zhí)行,來使設(shè)計處理的各部分自動化或者檢測出潛在的設(shè)計錯誤?;谥R的系統(tǒng)的一個普通示例是建立于大多數(shù)商業(yè)文字處理器中的語法檢查功能,其中英語語法的許多規(guī)則已被編碼并被自動應(yīng)用于文本文檔來突出顯示潛在錯誤并建議糾正措施。本文描述的系統(tǒng)和方法涉及基于知識的CAD技術(shù)在太陽能系統(tǒng)設(shè)計的符合大量設(shè)計約束(比如本地場所條件、工程規(guī)則和建筑法規(guī))的自動化布局、評價和優(yōu)化方面的應(yīng)用。優(yōu)選實施例被實施為對已有CAD系統(tǒng)(比如AutoCAD )的軟件定制的集成設(shè)置。作為替代,本文描述的系統(tǒng)和方法還可以被實施為全新的獨立軟件程序。本文描述的本發(fā)明的優(yōu)選實施例提供了用于設(shè)計適合安裝在給定工作點處的太陽能收集器布局的系統(tǒng)和方法。本實施例可以包括創(chuàng)建和編輯各種數(shù)據(jù)“對象”以及將這些對象分類成具有伴隨屬性和布局約束的各種類型的預(yù)定義“特征”的系統(tǒng)和方法。特征類或種類可以包括(i)物理工作點特征,比如墻壁、房頂和排氣扇,(ii)無形的、非物理工作點特征,比如屬性邊界、區(qū)界、公共通行區(qū)、洪泛區(qū)(flood plains)、環(huán)境敏感區(qū)、特殊地震帶、公共設(shè)施用地(utility easements),以及(iii)太陽能系統(tǒng)構(gòu)件和布置。作為分類的一部分,或者除了分類以外,本實施例可以包括用于創(chuàng)建、分配和編輯這些對象的固有和外在屬性的系統(tǒng)和方法。固有特征屬性包括對象本身固有的屬性,比如高度、重量和成本。 外在屬性包括對該對象如何與其它對象相互作用的定義。外在屬性的一個示例包括“縮進(jìn)” 規(guī)定,其建立了一個對象與任何相鄰對象之間的最小距離(縮進(jìn)量)。例如,在一個特定的法定管轄范圍內(nèi),不允許將構(gòu)件布置在屬性邊界的30英尺以內(nèi)。使用根據(jù)一個實施例的系統(tǒng),用戶可以首先如下創(chuàng)建“屬性邊界”特征類型用戶可以 (i)創(chuàng)建名為“屬性邊界”的新類型的特征類,( )將屬性邊界特征類的直觀表示設(shè)置為黑色虛線;(iii)定義一個被稱為“縮進(jìn)”的屬性并將其分配給“屬性邊界”特征類,(iv)對該特征類型分配一個默認(rèn)值,比如30英尺;以及(ν)將該特征類定義存儲在特征類數(shù)據(jù)庫中以在特定設(shè)計中使用或者用于任何項目設(shè)計的一般使用中。接著,設(shè)計者可以如下使用預(yù)定義的特征類型“屬性邊界”設(shè)計者可以(i)將安裝工作點的一個表示創(chuàng)建或?qū)氲揭粋€實施例中,( )將預(yù)定義的類型“屬性邊界”分配給該工作點表示中的一個或多個幾何元素(比如一條線),(iii)接下來按照需要將對象的“縮進(jìn)”屬性的值改變?yōu)槔?0英尺,以及(iv)命令該實施例生成一個與被標(biāo)記為“屬性邊界” 的對象的縮進(jìn)規(guī)定相符合的包括了太陽能收集器布局太陽能系統(tǒng)設(shè)計。作為生成太陽能收集器布局的處理的一部分,本發(fā)明的一個優(yōu)選實施例可以提供如下方法和系統(tǒng),用于(i)創(chuàng)建設(shè)計規(guī)則,(ii)將這些設(shè)計規(guī)則應(yīng)用于上述對象以生成一個或多個太陽能系統(tǒng)設(shè)計備選方案,(iii)生成所述一個或多個設(shè)計備選方案的物理布局或布置的屏幕表示和/或紙件表示,(iv)生成一個或多個設(shè)計的一個或多個版本的概要, 比如零件計數(shù)、容量、成本和能量產(chǎn)出,(ν)跟蹤異常事件以針對用戶順應(yīng)性來對設(shè)計規(guī)則進(jìn)行軟件編碼,或者將這樣的設(shè)計規(guī)則手動修改或重載(override)為一種機(jī)制以提供對用戶的適應(yīng)性并確保滿足客戶、工程、法律法規(guī)、和制造者的要求,以及(vi)為設(shè)計者生成直觀信息以使得他們能夠?qū)崟r評估設(shè)計備選方案和設(shè)計修改方案的相關(guān)優(yōu)點以幫助設(shè)計優(yōu)化。根據(jù)一個優(yōu)選實施例的操作方法包括⑴將描述工作點的信息導(dǎo)入到基于知識的太陽能CAD系統(tǒng)中,或者使用CAD系統(tǒng)來創(chuàng)建該幾何描述,(ii)如通過分類或歸類那樣, 將描述了工作點的相關(guān)圖形元素的每一個關(guān)聯(lián)成預(yù)定義數(shù)據(jù)對象類型的一個或多個實例 (instance),并調(diào)整它們各自的屬性,(iii)指定“工作區(qū)”,例如,工作點中可能打算用于項目布局的區(qū)域,(iv)選擇設(shè)計優(yōu)選,比如太陽能收集器類型和安裝尺寸,(ν)根據(jù)在工作點的數(shù)據(jù)表示中定義的特征類別和它們的伴隨屬性來自動生成設(shè)計,(vi)根據(jù)一個或多個衡量標(biāo)準(zhǔn)來評價該設(shè)計,(vii)生成并比較設(shè)計備選方案,(viii)通過設(shè)計修改和對備選方案的選擇來優(yōu)化設(shè)計,以及(ix)生成設(shè)計異常事件(比如合約排除項)的列表。可以通過將工作點表示中的(多個)特定幾何對象分類為一個特征類型的實例 (比如“房頂”或“排氣扇”)來執(zhí)行關(guān)聯(lián)。這樣的分類可以操作來將幾何對象與用于執(zhí)行自動太陽能系統(tǒng)設(shè)計的特定屬性和布局約束相關(guān)聯(lián)。也可以定義與工作點屬性以及布局約束、設(shè)計優(yōu)選、模塊屬性和約束、性能目標(biāo)等有關(guān)的附加設(shè)計規(guī)則和屬性。所有這些編碼信息都可以被工具用來自動生成符合設(shè)計者偏好、項目約束、工程實踐、建筑法規(guī)等的太陽能模塊安裝設(shè)計,并產(chǎn)生關(guān)聯(lián)的信息,比如布線方案、材料清單、呈現(xiàn)、合約、概要、審計報告、根據(jù)表I的其它可傳送信息或輸出等。如上所述,通過向設(shè)計者提供定義一個或多個特定邊界以生成布局的能力,工具還可以提供關(guān)于布局生成的控件。用戶可以定義一個或多個工作區(qū),工作區(qū)可以對應(yīng)于其范圍內(nèi)可能放置太陽能收集器的邊界(其符合其它屬性和規(guī)則,例如被分類對象的屬性)。 通過這種方式,用戶例如可以使用工作區(qū)來將太陽能收集器模塊布局限制到工作點的一部分中,比如房頂?shù)哪舷虿糠?。用戶還可以定義一個或多個布局靶框,每個靶框可以對應(yīng)于其范圍內(nèi)的布局應(yīng)該符合用戶定義的設(shè)計優(yōu)選的獨特設(shè)置的邊界。使用具有獨特設(shè)計優(yōu)選的靶框可以允許用戶例如將一種類型的模塊放置在房頂?shù)囊粋€區(qū)域中而將另一種類型的模塊放置在房頂?shù)牧硪粋€區(qū)域中。在一些實施例中,如上所述,當(dāng)設(shè)計者完成分類特征、生成布局、以及隨后的修改那些布局的處理時,則可以生成關(guān)于設(shè)計處理的元數(shù)據(jù)。該元數(shù)據(jù)可以具有許多形式,并且可以包括關(guān)于設(shè)計者已經(jīng)做出的動作、設(shè)計者應(yīng)當(dāng)做出的動作的信息,以及可能對管理者、 共同設(shè)計者、以及該設(shè)計的下游用戶和接受者有用的設(shè)計信息。在一些實施例中,用戶界面可以被提供來使得以軟件中編碼規(guī)則的異常事件的形式將該元數(shù)據(jù)的一些或全部呈現(xiàn)給設(shè)計者。這些規(guī)則可以源自客戶要求、政府法律和法規(guī)、 工程約束、太陽能收集器制造者指南等。異常事件可以包括提供屬性(比如項目工作區(qū)地點)的故障。設(shè)計者可以以各種方式來與這些異常事件交互,比如通過符合規(guī)則以從異常事件列表中去除一個項,或者通過重載規(guī)則的應(yīng)用。元數(shù)據(jù)的一些或全部可以比如通過一般的存儲或參考來與設(shè)計關(guān)聯(lián)。此后,包括了自動化系統(tǒng)的設(shè)計的下游用戶和處理者可以訪問這些信息。還可以通過該系統(tǒng)來概括、導(dǎo)出、轉(zhuǎn)譯或者以其他方式操作這些信息。異常事件的列表可以用作用戶的“待處理(To Do) ”列表(在用戶界面上也可以如此命名),以滿足軟件規(guī)則并且同時提供軟件規(guī)則一定獲得滿足的保證的方式和順序來提供用戶適應(yīng)性。 還可以在歷史中保留異常事件以及對它們的處理以便于以后回顧,并且可以有助于確保合約文檔反映不尋常的或非標(biāo)準(zhǔn)的選擇。一些實施例可以提供用于針對特定安裝工作點對太陽能收集器布局設(shè)計的多個版本進(jìn)行瀏覽、創(chuàng)建和操縱的系統(tǒng)和用戶界面。對多個版本的使用可以例如允許設(shè)計者針對相同項目迅速和容易地改變輸入(例如,設(shè)計優(yōu)選和/或特征或項目屬性)并瀏覽與替代設(shè)計選擇(例如使用各種類型的PV模塊對成本的影響)對應(yīng)的結(jié)果輸出(例如替代的布局、成本和性能數(shù)據(jù))。這些版本可以為設(shè)計者提供基于用戶輸入中的變化對不同布局快速建模并評價結(jié)果的能力。一些實施例可以允許設(shè)計者從一個版本快速移動到另一個版本,而其它實施例可以允許設(shè)計者以一個動作影響多個版本。這些版本可以共享一組或多組元素、屬性或者設(shè)計規(guī)則,以使得對一個版本作出的改變應(yīng)用到相關(guān)的多個版本。例如, 對工作點的種屬改變(比如增加新發(fā)現(xiàn)的站點特征)會影響多個設(shè)計版本。這些版本可以通過例如位于單個文件(例如組合文件,composite file)中來共享信息。1.引言本文描述的思想可以普遍地應(yīng)用于太陽能收集器安裝。可以使用諸如面板、吸收器、和反射器之類的各種類型的太陽能收集器以及諸如光伏(PV)模塊、太陽熱吸收器、和聚焦式太陽能發(fā)電(CSP)太陽能系統(tǒng)之類的其它能量轉(zhuǎn)換技術(shù)。太陽能收集器可以自安裝或置于各類安裝系統(tǒng)上,包括傾斜的、固定的和跟蹤的系統(tǒng)。系統(tǒng)可以被設(shè)計用于到公用設(shè)施的并網(wǎng)(on-grid)連接和/或用于離網(wǎng)(off-grid)系統(tǒng)。太陽能收集器和安裝系統(tǒng)可以附接到不同的地方,如地面、房頂、墻壁、停車場設(shè)施等。為便于說明,本文的實施例的大部分討論與PV模塊安裝有關(guān)。然而,將會理解,這些實施例可以一般地應(yīng)用于如上所述的太陽能收集器。設(shè)計PV安裝的任務(wù)典型地包括幾個不簡單并且相互依賴的處理。這些處理包括, 例如(1)基于例如可用性、成本、效率、能量需求等選擇特定的PV模塊;(2)在一個安裝工作點生成PV模塊的布置(布局);(3)針對所布置的PV模塊生成布線方案(路徑選擇方案);(4)基于復(fù)雜和項目特定的輸入來估計項目輸出,包括能量產(chǎn)出、能量轉(zhuǎn)換效率等; (5)生成下游文檔,比如材料的項目清單(BOMs)、合約等。當(dāng)然,上述所有一切都必須與地方法規(guī)、國家法規(guī)等相符合地完成。在表II中提供了在大型太陽能項目中執(zhí)行的典型步驟的順序。隨著例如通過模塊計數(shù)而測量出的安裝尺寸增大,執(zhí)行上述處理的難度也增加。 即使表面上微小的改變(比如在給定的一行中增加一個模塊)都可能對布線拓?fù)浜?或其它模塊的布置產(chǎn)生深遠(yuǎn)影響,并因而對所得系統(tǒng)設(shè)計和系統(tǒng)的輸出(比如電能輸出)產(chǎn)生深遠(yuǎn)影響。另外,由于這種復(fù)雜性,對布局的優(yōu)化或修改,包括重新布置、增加或者去除模塊,都可能很困難,并且尤其對于大型項目會發(fā)生類似于試錯法(try and error)的處理。 當(dāng)設(shè)計一個項目(其通常需要十到二十個星期)或者合約完成時(其可能需要更多月),在布局中使用的最初設(shè)想的構(gòu)件可能不適用并且可能需要繁重的重新設(shè)計。通過使用自動化工具,可以部分減輕為工作點創(chuàng)建設(shè)計的枯燥和復(fù)雜度。具體地, 在本文描述了可以基于與工程實踐、設(shè)計者偏好、和工作點條件相應(yīng)的編碼信息來自動生成用于工作點的設(shè)計的軟件或者其他計算機(jī)實現(xiàn)的工具。一些這種工具會使用安裝工作點的CAD表示(例如AutoCAD. DffG文件)作為起點。該文件可以包括工作點的矢量或位圖表示,其可以典型地表示為諸如直線、折線、曲線、正方形、矩形、樣條、符號、多邊形、其它2D 或3D形狀、表面、立體、圖像數(shù)據(jù)等之類的幾何對象的集合。這種表示典型地可以不具有附于幾何對象的許多或任何語義信息;特別地,在該表示中的信息可以被限制為與物理工作點的特征對應(yīng)的形狀和尺寸。因此,例如具有排氣扇的房頂?shù)?D平面圖表示可能包括一組形成一個大矩形(房頂)的四條直線,以及另一組形成包含在大矩形內(nèi)的一個較小正方形 (排氣扇)的四條直線。CAD以及一些實施例的傳統(tǒng)工具可以提供使得用戶能夠創(chuàng)建幾何對象的該初始表示的能力。作為替代,用戶可以從諸如計算機(jī)文件之類的存儲位置中導(dǎo)出該表不。一些實施例可以提供對表示中的對象進(jìn)行分類(例如歸類或加標(biāo)記)的機(jī)制,以便將對象與關(guān)于生成模塊布局的語義信息(比如特征類型)相關(guān)聯(lián)。例如,用戶可以將一組直線分類為預(yù)先存在的“房頂”特征類的一個實例。系統(tǒng)可以使用該分類來將所述對象關(guān)聯(lián)到一組與房頂和模塊布局之間的關(guān)系對應(yīng)的語義信息。該信息可能涉及房頂?shù)墓逃形锢韺傩?比如“斜度=17度”和“高度=30.0英尺”)和/或房頂?shù)耐庠趯傩?例如“邊緣縮進(jìn)=1.0英尺)。這樣的屬性通常可以由用戶編輯,并且可以對于相同泛型(general type)的不同實例而改變以及由法定管轄范圍(區(qū)劃法等)改變。在表III中提供了特征類的示例列表;在表IV中示出了特征屬性的示例列表。類似地,用戶可以將工作點表示中的另一個對象(或?qū)ο蠼M)分類為特征類型“排氣扇”的一個實例。此后,系統(tǒng)可以將該對象與對應(yīng)于排氣扇的特征屬性(比如“高度=3 英尺”)相關(guān)聯(lián)。在一些實施例中,實際上未限定數(shù)量的對象可以被分類為具有不同屬性的不同類型的特征。對于這些各種特征中的一些,可以在明確地預(yù)定特征屬性(并因此可應(yīng)用于特定類或類型的每個實例并且對它們保持不變),而其他特征屬性可以僅僅具有默認(rèn)的實例特定的值。用戶根據(jù)需要和/或方便可以調(diào)整許多特征屬性(比如高度),而用戶可以或者不可以編輯其它類型的特征屬性,比如與整個特征類有關(guān)的那些屬性。這樣,每個分類的對象可以具有與其它分類對象共享的和/或相異的特征屬性。與特定對象關(guān)聯(lián)的語義信息還可以對應(yīng)于通常對特定特征類的所有實例都不變的一般設(shè)計規(guī)則。例如,系統(tǒng)一般將分類為房頂?shù)膶ο笈c適當(dāng)?shù)奶卣鞑季旨s束(比如“收集器布局容許=是”)和關(guān)于如何將模塊布置在房頂上或周圍的其它設(shè)計規(guī)則相關(guān)聯(lián)。如下所述,在一些實施例中,至少在軟件的初始使用期間可以重載設(shè)計規(guī)則,但是異常事件列表保持跟蹤與規(guī)則需求的任意不同。以這種方式,通過用戶的分類動作,可以把自動化設(shè)計系統(tǒng)要使用的附加的(例如更高層次的)特征信息分配給對象的原始的、簡單的幾何表示。另外,系統(tǒng)可以提供自動將對象分類為特征的實例以及對特征屬性和設(shè)計屬性分配值的機(jī)制??梢允褂眯螤钭R別算法、學(xué)習(xí)算法或者其它專家系統(tǒng)來對對象分類和分配值。另外,可以修改幾何對象,例如通過預(yù)處理級那樣進(jìn)行修復(fù)以將對象放在對于分類、特征分配或布局處理而言更好的條件或位置中。修復(fù)引擎還可以使用來自設(shè)計者的輸入(例如所嘗試的分類)作為用于修復(fù)對象的基礎(chǔ)。例如,如果設(shè)計者嘗試將四條直線分類為“房頂”,但是這些直線沒有形成一個完全封閉的形狀,則軟件修復(fù)引擎可以如通過使適當(dāng)?shù)闹本€的端點相接那樣來嘗試修復(fù)對象。一些實施例可以提供諸如布局引擎軟件模塊之類的布局構(gòu)件,其使用分類后的對象、它們的類別和編碼信息(例如特征屬性的組)、和如下文所述的可能的其它信息來創(chuàng)建模塊安裝設(shè)計。因此,例如,由于分類為“房頂”的對象與布局規(guī)則“布局容許=是”相關(guān)聯(lián), 所以布局引擎會知道它可以考慮將太陽能收集器放置在被標(biāo)記為形成了 “房頂”的分類對象之間的有界區(qū)域中。類似地,布局引擎會知道不允許將模塊放置在與標(biāo)記為“排氣扇”的對象對應(yīng)的區(qū)域中,因為作為類或作為特定實例,排氣扇可能與布局規(guī)則“布局容許=否” 相關(guān)聯(lián)。這樣,在創(chuàng)建其中可以放置模塊(與其它布局規(guī)則相一致)的隱含的“工作區(qū)”時, 可以引用潛在地允許將模塊放置在其中的對象(例如房頂),以使得可以不需要用戶單獨對工作區(qū)進(jìn)行定義。還可以為用戶提供對布局處理主張甚至更大控制的機(jī)制。例如,可以允許用戶例如通過明確地定義一個或多個用戶創(chuàng)建的工作區(qū)來細(xì)化可接受的模塊布置的邊界。用戶創(chuàng)建的工作區(qū)可以是由用戶創(chuàng)建的并且與包括例如“布局容許=是”的特定的一組布局規(guī)則相關(guān)聯(lián)的幾何對象。因此布局引擎軟件模塊可以配置來考慮將太陽能收集器僅放置在例如在用戶創(chuàng)建的明確工作區(qū)、隱含工作區(qū)中的任一個或二者所包含的位置中。該方式在例如設(shè)計者希望將太陽能收集器布局限制為僅在房頂?shù)囊徊糠值那闆r下時尤為有用,其可以通過僅在房頂?shù)钠谕糠种袆?chuàng)建工作區(qū)來實現(xiàn)。還可以允許用戶指定不同的設(shè)計優(yōu)選,比如模塊類型或用于太陽能收集器布局的定向,并且,可以作出不同的選擇來應(yīng)用于所述表示的不同區(qū)域。表V提供了采樣設(shè)計優(yōu)選的示意性列表。因此,例如,可以允許用戶例如通過定義一個或多個靶框來對其中應(yīng)用特定的一組設(shè)計優(yōu)選的邊界進(jìn)行定義。靶框可以是由用戶所創(chuàng)建的幾何對象表示的邊界或框架。系統(tǒng)可以將靶框與一組例如包括“PV模塊=SD305”和/或“斜度=45度”的設(shè)計優(yōu)選相關(guān)聯(lián)。布局引擎可以配置來將例如PV模塊之類的太陽能收集器放置在給定靶框的邊界之內(nèi),該給定靶框與對靶框分配的設(shè)計優(yōu)選以及相關(guān)特征屬性、布局規(guī)則和其它可應(yīng)用的屬性和設(shè)計規(guī)則相一致。在一些情況下,用戶可以定義多于一個靶框,因此,布局引擎可以針對工作點的不同區(qū)域中的布局來使用各不相同的設(shè)計優(yōu)選組。例如,當(dāng)設(shè)計者希望將一種類型的模塊(例如南北定向的SD30O放置在房頂?shù)囊粋€區(qū)域中并且將另一類模塊(例如東西定向的SP22Q放置在房頂?shù)牧硪粋€區(qū)域中的情況下,不相同的靶框是很有用的。作為另一個示例,多個靶框可以提供不同種類的布局,以用于在工作區(qū)的不同區(qū)域中的模塊行之間定義不同的間距。根據(jù)一些實施例,可以按照與太陽能收集器的放置以及任何對象和特征的屬性有關(guān)的靶框設(shè)計優(yōu)選、以及與其關(guān)聯(lián)的布局規(guī)則或約束,來在工作區(qū)內(nèi) (例如僅在一個工作區(qū)內(nèi))和在布局靶框內(nèi)的允許太陽能收集器安裝的區(qū)域中生成太陽能收集器的布局。在一些情況下,由用戶定義的靶框可能互相重疊或者以其他方式互相關(guān)聯(lián)。在這樣的情況下,可以利用靶框沖突解決規(guī)則。例如,沖突解決規(guī)則可以將靶框1定義為比靶框 2優(yōu)先級高。因此布局引擎可以對按照靶框1放置的模塊給予比按照靶框2放置的模塊更高的優(yōu)先級。這在例如設(shè)計者以重疊邊界的方式定義靶框的情況中,或者在設(shè)計者希望將例如PV模塊之類的太陽能收集器放置在凹形房頂?shù)膬蓚€部分(即,倒置的或“V”形房頂?shù)南鄬Ρ?上的情況中是有用的。由于收集器及其固定結(jié)構(gòu)可能具有顯著的高度,因此在將模塊放置在兩個房頂部分的交點處(即V形的底部)時可能會有沖突。如果一個房頂部分比另一個能接收到更多陽光,則設(shè)計者會希望為該陽光充足的部分定義一個靶框,并為背陰的部分定義一個靶框??梢栽试S用戶對這兩個靶框分配優(yōu)先級,使得萬一發(fā)生沖突,布局引擎會按照陽光充足靶框的設(shè)計優(yōu)選而不是背陰靶框的設(shè)計優(yōu)選來放置模塊。這會帶來安裝的平均每個模塊的能量產(chǎn)出的凈增加??梢园凑绽缬脩舳x靶框的順序或者明確的優(yōu)先級來對靶框分配默認(rèn)優(yōu)先級。包括布局的設(shè)計結(jié)果可以被顯示、保存、打印、發(fā)送或者以其他方式利用??梢曰诰幋a信息和生成的布局來生成關(guān)于布局的附加信息,比如材料清單、提交清算單、財務(wù)分析、合約、合約條款、能量規(guī)劃、成本分析、零件列表、仿真等。執(zhí)行前述動作的軟件控件可以被包括為CAD軟件的一部分。作為替代或者附加地,可以在啟動時或需要時將專用引擎、庫或者插件加載到CAD軟件中。作為替代,可以編寫專用于實現(xiàn)本發(fā)明實施例的專用的或新的軟件程序。本領(lǐng)域中公知許多用于在CAD軟件環(huán)境中創(chuàng)建、選擇和操作對象的機(jī)制;這樣的機(jī)制例如包括點擊選擇、拖拽選擇、移動選擇、點擊和右擊圖標(biāo)、工具欄、彈出式菜單、對象等。Joe Sutphin的“AutoCAD 2006 VBA =A Programmer' s Reference", 101 Productions (2005), ISBN 9781590595794 公開了許多這類方法,通過引用將其全部內(nèi)容結(jié)合于此。2.系統(tǒng)操作和用戶界面圖1提供了將對其設(shè)計太陽能收集器布局的安裝工作點的示意性示圖。為方便起見,本文討論的實施例使用光伏(PV)模塊作為太陽能收集器的示例。PV模塊將被放置在建筑物100的房頂101上。房頂101可以具有一組物理特征,比如排氣扇102、管道103、走道、管子(pipe) 105、大型HVAC設(shè)備104、天窗、升降機(jī)、樓梯井等。當(dāng)幾何投影到房頂101上 (從上方向下鳥瞰)時,特征相對于房頂會呈現(xiàn)為立體的/ 二維的(比如排氣扇102)或者線性的/ 一維的(比如管道103)。給定特征在房頂上可能具有規(guī)則覆蓋區(qū)(footprint), 比如從排氣扇得到的矩形覆蓋區(qū);可替代地,特征可能具有不規(guī)則覆蓋區(qū)。房頂?shù)奶卣饕部赡苁菬o形的,比如疾風(fēng)或上升氣流的區(qū)域106。房頂101和其上的或關(guān)于其的每個特征可以具有與太陽能收集器安裝設(shè)計有關(guān)的一組特性。例如,PV模塊一般不放置在排氣扇上或者距離排氣扇102預(yù)定縮進(jìn)量的范圍內(nèi),可以通過法規(guī)、客戶策略或設(shè)計選擇來確定縮進(jìn)量。 類似地,PV模塊一般不放置在疾風(fēng)區(qū)域106中或者房頂101的邊緣或角落的一定距離之內(nèi)。房頂?shù)奶卣鬟€確定了放置在房頂101上的PV模塊的相對性能。例如,假設(shè)房頂 101 一般最多地暴露在來自南邊的陽光(以105示出)下,放置在位置A處的PV模塊可能平均比放置在位置B處的PV模塊(其至少部分地受到大型HVAC設(shè)備104的阻擋)產(chǎn)生更多的電能。圖2示出了在計算機(jī)輔助設(shè)計(CAD)系統(tǒng)200的示例用戶界面中表示的圖1的安裝工作點。CAD系統(tǒng)200可以包括安裝工作點的2D或3D直觀表示。該表示一般包括關(guān)于工作點特征的三維信息。為方便起見,參照2D平面圖204來描述實施例。直觀表示可以由諸如直線、線段、折線、弧線、曲線、圓、正方形、矩形、多邊形等的幾何實體來構(gòu)成。這些幾何實體可以是封閉的(表明它們定義了一個有界區(qū)域)、開放的、或者自相交的,可以是平面的或非平面的,并且可以包括孔、復(fù)雜表面、和地理地志。這些幾何對象可以對應(yīng)于物理工作點處的物理或非物理的特征。例如,表示204提供了兩個多邊形,每一個定義了由與圖1 的排氣扇特征102對應(yīng)的參考數(shù)字202指示的有界區(qū)域。一組線段和曲線203對應(yīng)于圖1 的管道特征103。直觀表示可以首先通過使用特定文件格式(比如AutoCAD. DWG)載入CAD 軟件中。作為替代,可以通過使用標(biāo)準(zhǔn)CAD繪圖工具在CAD軟件中創(chuàng)建直觀表示。CAD軟件中的直觀表示204可以僅僅表示工作點的一部分或者表示工作點以外的區(qū)域。在這一點上,CAD軟件中的工作點的表示可以具有非常少的附屬于它的語義信息。 例如,除了純粹的幾何形狀,形成每個有界區(qū)域202的四條線段可以不與相應(yīng)排氣扇特征 102語義上關(guān)聯(lián),或者以其他方式具有與相應(yīng)排氣扇特征102有關(guān)的含義。涉及PV模塊設(shè)計的排氣扇特征的特性,比如典型的縮進(jìn)量或者它在一天或一年的不同時間可能投射的陰影(例如預(yù)期投射的陰影),可能沒有包含在該表示中。類似地,對應(yīng)于房頂輪廓的線201 在CAD軟件中可能不與工作點的房頂101語義上關(guān)聯(lián)。而以CAD軟件的視角來看,該直觀表示可能僅僅是脫離了彼此相關(guān)的語義、外部工作點、或者太陽能收集器安裝設(shè)計的僅具有尺寸信息的幾何對象的一個集合。作為替代,該表示可以具有附屬于對象的一些語義信息,例如GPS數(shù)據(jù)。在處理的后續(xù)步驟中可能使用該數(shù)據(jù)。圖3示出對直觀表示及其中的幾何對象給予了語義的處理。通過允許自動地或由用戶來將例如僅具有尺寸信息的一個“現(xiàn)(dumb) ”幾何對象分類為特定類型的特征的實例,一個實施例的分類構(gòu)件可以執(zhí)行該動作。作為特征類的實例的類別的一部分,一個對象可以與一組附加特征屬性相關(guān)聯(lián),附加特征屬性可以包括該特征的可能與太陽能收集器安裝設(shè)計相關(guān)的屬性,比如高度、縮進(jìn)量等。系統(tǒng)可以使用類別和屬性來將對象關(guān)聯(lián)到與被分類對象和其它對象之間的潛在相互作用相對應(yīng)的布局規(guī)則,并影響所得的太陽能收集器設(shè)計??梢酝ㄟ^諸如將布局規(guī)則應(yīng)用到對象的布局引擎之類的軟件來分辨、利用和操作這些特征屬性。因此,例如,折線201可以與比如“房頂類的特征類型關(guān)聯(lián)。該類別可能隱含了涉及在房頂上放置PV模塊的布局規(guī)則。當(dāng)通過布局引擎調(diào)用時,這些規(guī)則會對特定的房頂?shù)奶卣鲗傩?例如離地面的垂直高度以及房頂坡度(pitch))進(jìn)行操作??梢耘c其它對象屬性一致地或相關(guān)地來確定與對象關(guān)聯(lián)的屬性。因此,例如,可以根據(jù)描述了排氣扇的絕對最大海拔和在排氣扇這點處的房頂?shù)慕^對高度(其本身可以由房頂?shù)母叨群推露葘傩詠泶_定)的特征屬性,來確定排氣扇相對于房頂?shù)母叨?其對于計算排氣扇在房頂上投射的陰影可能有用)。以這種方式,包括對象類別和特征屬性的編碼信息可以形成安裝工作點與 PV模塊布局設(shè)計有關(guān)的物理特征特性的全部或部分規(guī)范。具體地,關(guān)于太陽能收集器布局設(shè)計的物理特征的特性可以包括或者形成用于在該物理特征內(nèi)或周圍自動放置太陽能收集器的信息集合的至少一部分。預(yù)定義的特征類別和類可以包括物理特征和非物理特征, 比如屬性邊界、房地產(chǎn)地塊(parcel)邊界、區(qū)劃指定、公共通行區(qū)、洪泛區(qū)、環(huán)境敏感區(qū)、或者特殊地震帶。具體地,一些幾何對象可以被分類為允許PV模塊放置的特征類型的實例,例如, 分類為房頂?shù)膸缀螌ο罂梢耘c一般地允許在其表面上放置PV模塊的布局規(guī)則相關(guān)聯(lián)。這樣,作為“房頂”的對象類別會使得該對象被作為隱含工作區(qū)對待。類似地,一些幾何對象可以被分類為禁止或者以其他方式一般不允許放置PV模塊的特征,例如,分類為池塘或空調(diào)單元的幾何對象可能與一般不允許在該障礙物上或在該障礙物的預(yù)定邊界(例如一定距離)之內(nèi)放置PV模塊的布局規(guī)則相關(guān)聯(lián)??梢远x會影響PV模塊的放置的其它布局規(guī)則,包括對在給定特征上或附近放置模塊實現(xiàn)建筑法規(guī)應(yīng)用、風(fēng)力條件、溫度條件、電力和熱力產(chǎn)生限制的約束。在創(chuàng)建相應(yīng)對象之前可以已有或者預(yù)先存在與給定類型的特征相關(guān)聯(lián)的特征屬性的形式和內(nèi)容??梢灶A(yù)定義物理特征的類及其對應(yīng)的編碼信息。因此,例如,對應(yīng)于房頂或其它表面的屬性組和默認(rèn)值以及應(yīng)用于它們的設(shè)計規(guī)則可以存儲在數(shù)據(jù)庫中和/或作為類定義的一部分(見表III-表IV)。當(dāng)將特定對象分類為房頂時,類定義可以被例示并與特定對象相關(guān)聯(lián)。當(dāng)然,該軟件可以提供一個可由設(shè)計者定義附加特征類型并用來分類的機(jī)制。類似地,可以由設(shè)計者或管理員修改針對給定類型的對象的默認(rèn)值或預(yù)先存在的編碼信息,包括屬性默認(rèn)值和布局約束。可以在生成布局之前和/或生成布局之后修改編碼信息。在生成布局之后對特定編碼信息(比如特征屬性)的修改可以觸發(fā)基于新數(shù)據(jù)集的布局的自動重新生成。用來對對象進(jìn)行分類、修改或者以其他方式關(guān)聯(lián)到屬性的機(jī)制或者用戶界面控件可以是多樣化的。例如,如圖3所示,用戶可以選擇對應(yīng)于房頂101的折線201。隨后用戶可以點擊“房頂”或“分類為…”工具欄按鈕或圖標(biāo),或者從一個菜單選擇類似命令。用戶還可以以指針工具來在折線201上右擊,以同時選中折線201并打開允許分類為房頂?shù)囊粋€環(huán)境菜單310。在選擇和分類過程中,可以將對象的表示改變?yōu)橹甘酒溥x擇或者分類。例如,可以修改它的顏色,可以改變它的線寬或線型(如本文以虛折線201指示的那樣)。在本領(lǐng)域中用于在用戶界面上對對象執(zhí)行動作的多種類型的控件是公知的??梢詫⒍鄠€對象分類為同類特征的實例,比如“房頂”,這可以使得該系統(tǒng)能夠為包含多個房頂?shù)墓ぷ鼽c創(chuàng)建布局??梢圆煌乇硎静煌愋?、或子類型的特征,比如將這些特征放置在用戶界面中的不同繪圖層和/或可以給予它們不同的顏色或線寬??梢蕴峁ο笕コ诸惖目丶?。可以采用用于自動修復(fù)無效或有缺陷的工作點幾何圖形的機(jī)制。例如,在一個實施例中,假設(shè)設(shè)計規(guī)則要求“房頂”應(yīng)當(dāng)以封閉折線來表示。又假設(shè)在工作點表示中對應(yīng)于房頂?shù)膸缀涡畔⒂晒捕它c非常靠近但沒有重合(即沒有形成封閉形狀)的四條線段構(gòu)成。如果線的端點保持不重合,則該幾何表示會導(dǎo)致處理錯誤或者產(chǎn)生不正確結(jié)果。在一個實施例中,可以提供一個機(jī)制來在分類期間預(yù)處理幾何元素,例如,將未重合端點彼此接近到規(guī)定程度之內(nèi)的多條線段轉(zhuǎn)化為其端點共享的線段。用于修復(fù)無語義幾何數(shù)據(jù)的幾何算法是現(xiàn)有的。該軟件還可以提供控件來允許用戶看見和/或修改一些或所有與給定對象關(guān)聯(lián)的編碼信息,比如可編輯的屬性。因此,例如,用戶界面可以包括對與該對象關(guān)聯(lián)的一些或所有特征屬性的表示進(jìn)行顯示的屬性上卷式菜單(roll-up)、工具欄、或選項板311。一些特征屬性(比如房頂?shù)拇怪备叨?12)可以由用戶來調(diào)整??捎脕矸胖肞V模塊的房頂?shù)闹T如所得面積(例如以平方米為單位)之類的其它特征屬性可以由軟件來計算,例如受到布局約束、特征屬性等的相互作用的支配。諸如對可應(yīng)用于給定對象的布局規(guī)則的指示(例如指示特定對象適合于放置PV模塊)之類的其它信息可以不對用戶顯示,或者對用戶可見。用于修改用戶界面中的對象屬性的多種控件是已有的。一些實施例可以包括特征類的分級結(jié)構(gòu)。例如,特征可以分成三個主要大類可放置表面、實體障礙物、和線性障礙物。每個大類可以包括幾種特征。例如,可放置表面可以包括房頂、田地、墻壁等。實體障礙物可以包括排氣扇、柱子、HVAC單元、凹陷、樹、房頂出入口、天線、衛(wèi)星、樓梯、排水溝、閣樓、拱頂(roof shot)、天窗、枕木、測量點、通風(fēng)孔、閥門等。 線型障礙物包括走道、裝備、伸縮接頭、墻壁、管道、管子等。每種類型的特征還可以包括子類,例如天線障礙物可以被細(xì)分為輪廓天線(outline antenna)、點天線(point antenna) 等,并且管道還可以細(xì)分為電纜管道、水管、支承管、垂直管等。一些障礙物既可以被分類為實體型也可以被分類為線型的,這取決于具體的幾何形狀(例如一組樓梯)。類似地,圖4示出了可以將第二對象分類為與語義關(guān)聯(lián)的處理。這里,通過使用環(huán)境菜單310和屬性選項板311,將房頂上對應(yīng)于排氣扇的這組直線或者折線202分類為實體障礙物,即子類“排氣扇”的“HVAC單元”。這里,虛線用作提示用戶該特定對象已被選中的可見提示。屬性選項板311示出針對該排氣扇的采樣相關(guān)特征屬性和它們的當(dāng)前值,包括高度、縮進(jìn)量、子類等。選項板311示出圖4中的對象202已經(jīng)被分類為大類(或類)是實體障礙物315、類型是HVAC 317、以及子類是排氣扇319的特征。通過這種方式,可以對與物理安裝工作點對應(yīng)的多個對象分類。在一些布置中,無需要用戶手動地將對象如上分類,而是系統(tǒng)可以初始地嘗試基于例如對工作點表示的試探和分析或者基于已經(jīng)可用的元數(shù)據(jù)來對對象自動分類,例如,在預(yù)先作出的名為“天窗”的CAD繪圖層中的對象可以被自動分類為天窗。系統(tǒng)可以允許或要求用戶進(jìn)行后期修改或驗證。系統(tǒng)可以使用關(guān)于幾何對象的任何信息(比如GPS數(shù)據(jù))來自動分類對象。并非所有屬性都需要與該表示中的特定特征或幾何對象相關(guān)聯(lián)。例如,該軟件可以允許使用和設(shè)置全局項目屬性,比如工作點位置(郵碼)、工作點的定向(指北針)、繪圖比例、測量單位、國家位置、客戶信息(客戶姓名、地址等)。項目屬性可以包括客戶屬性,包括聯(lián)系信息、法律地位、財務(wù)狀況、實用信息、實用率和能耗,并且可以預(yù)定義。其它項目屬性可以包括土壤類型、氣候條件、設(shè)計溫度、設(shè)計抗震力、工作特性、負(fù)載限制、和電氣互連要求等。該信息可以由設(shè)計者手動地輸入,或者可以通過鏈接到用來保持客戶賬戶信息的諸如客戶關(guān)系管理(“CRM”)系統(tǒng)之類的外部數(shù)據(jù)源而進(jìn)行訪問。表VI提供了示例性項目屬性列表。類似地,諸如項目設(shè)計規(guī)則(例如全局布局規(guī)則)之類的一些設(shè)計規(guī)則,比如調(diào)節(jié)任何PV系統(tǒng)與公共設(shè)施的互連的電源互連標(biāo)準(zhǔn),可以獨立于任何特定特征來操作。預(yù)定義的項目設(shè)計規(guī)則可以形成電氣規(guī)程、屬性縮進(jìn)要求、安全要求、互連要求、工程規(guī)則或最佳實踐、熔斷要求等的規(guī)范。這些規(guī)則可以適用于產(chǎn)生可以連接到公共電網(wǎng)、私人電網(wǎng)或其它規(guī)范的布局。在設(shè)計中用到的模塊類型還可能影響布局引擎如何操作,這是因為模塊類型可能關(guān)聯(lián)到特定的模塊具體信息,比如模塊屬性,例如模塊間的間距、電壓、布線要求、重量等。 一些模塊具體信息可能關(guān)聯(lián)到特定的模塊類型、安裝系統(tǒng)、逆變器類型等。不同模塊設(shè)計規(guī)則可能基于每個模塊、每個模塊串、和/或每個模塊子陣列來操作。因此,例如,特定模塊可以需要最小的模塊間距和操作溫度或者特定的布線配置,比如根據(jù)溫度設(shè)定的每串的模塊數(shù)量。表VII提供了模塊屬性的示例列表。如圖5A所示,還可以指定包括了要使用的模塊類型502和/或安裝系統(tǒng)、對模塊行和列進(jìn)行布置的定向503、平鋪布局的起點(或原點)504、逆變器類型(其中存在選項) 等在內(nèi)的設(shè)計優(yōu)選。可以為用戶提供對可操作的全局屬性、設(shè)計優(yōu)選、和/或模塊屬性中的一個或多個進(jìn)行修改的能力。例如,可以將模塊相對于真北(true north)的定向以數(shù)字形式輸入適當(dāng)?shù)目丶?,如?03所示的。作為替代,可以通過選擇已有的線(比如房頂?shù)倪吘?并指示模塊定向應(yīng)當(dāng)?shù)扔谒x的線來設(shè)置定向??梢酝ㄟ^例如將坐標(biāo)輸入到適當(dāng)?shù)目臻g504中和/或以鼠標(biāo)或觸摸屏之類的指示裝置在直觀表示中選擇一個點(如506所示), 來設(shè)置布局的起點??梢蕴峁┮粋€控件,比如環(huán)境菜單520,來調(diào)用太陽能收集器安裝布局引擎。如圖5B所示,可以調(diào)用布局引擎以便基于并符合于相關(guān)編碼信息(比如特征類別、特征屬性、工作區(qū)、設(shè)計優(yōu)選、全局屬性、模塊屬性、布局和設(shè)計規(guī)則等)生成太陽能收集器設(shè)計。在PV模塊的情況下,該布局可以包括如在該表示中顯示的PV模塊的物理布置以及布線系統(tǒng)、固定系統(tǒng)和硬件、用于適當(dāng)安裝操作的電氣組件的伴隨布置等。在一些情況中,可以以符合于所有(或者基本上所有)規(guī)則和針對所有對象的約束的方式來放置PV模塊。可以使用許多不同的方法和系統(tǒng)來創(chuàng)建這樣的一個PV模塊布局。尤其是系統(tǒng)的布局引擎構(gòu)件可以使用平鋪算法創(chuàng)建布局。在一個這樣的算法下,如圖6A的流程圖所示,首先可以通過對工作點處的物理特征的數(shù)據(jù)(尤其是尺寸)進(jìn)行采集來定義(60 包括任何幾何對象的工作點的表示??梢酝ㄟ^使用基于GPS的測定裝置來完成這一步,或者作為替代,可以使用CAD軟件來創(chuàng)建表示的幾何對象。這一步驟可以與步驟610交替進(jìn)行。在步驟610,該表示中的對象可以被分類為特征,并且可以對特征屬性設(shè)置適當(dāng)?shù)闹?。這一步可以由用戶手動完成,也可以由系統(tǒng)通過自動化的特征識別來自動完成。用戶可以將一個或多個對象分類為提供了允許或優(yōu)先進(jìn)行PV模塊布局的區(qū)域的特征,比如田地或房頂。在步驟612,用戶可以按照來自所有者的指示來指定一個或多個工作區(qū),例如優(yōu)先進(jìn)行PV模塊布局的區(qū)域。工作區(qū)的明確定義是可選的,并且將在下面進(jìn)一步討論。在步驟615,可以設(shè)置或修改設(shè)計優(yōu)選、項目屬性以及其它編碼信息。在步驟620,可以首先不考慮障礙物或者其它干涉特征(比如排氣扇)而在一個或多個工作區(qū)(例如已知“容許”進(jìn)行放置的對象,比如房頂表面)上平鋪PV模塊。例如可以通過在隱含的工作區(qū)(例如分類為支持PV模塊的特征的對象)上放置PV模塊來實現(xiàn)該操作??梢愿鶕?jù)相關(guān)模塊設(shè)計規(guī)則和屬性通過在定義的空間中創(chuàng)建網(wǎng)格或陣列來執(zhí)行平鋪。 可以對平鋪進(jìn)行參數(shù)改變,包括行之間的間距、相鄰的行之間和/或沿著不規(guī)則邊緣(比如彎曲的道路或地界線)的偏移量。另外,平鋪可以對應(yīng)于各個模塊(具有各種單獨規(guī)定的長度或?qū)挾?或者可以呈現(xiàn)任意布置的模塊組(例如,連接到相同固定結(jié)構(gòu)或跟蹤機(jī)構(gòu)的模塊)。另外,可以規(guī)定周期性地中斷平鋪以便適應(yīng)便道、強(qiáng)制滅火口、或其它類型的設(shè)計規(guī)則。在一些實施例中,可以在直觀表示中實際創(chuàng)建和布置對應(yīng)于布局模塊對象的幾何對象, 如圖6B所示。作為替代或者附加地,該布局可以是邏輯上的,使得以數(shù)據(jù)結(jié)構(gòu)來表示模塊。 在這兩種情況的任一種情況下,都可以將幾何對象分類為與特定特征屬性和布局約束相關(guān)聯(lián)的相關(guān)模塊類型的實例。返回圖6A,在步驟625,系統(tǒng)隨后可以再次瀏覽(second pass)平鋪的模塊,將其布置與應(yīng)用于屬性的一個或多個設(shè)計規(guī)則相沖突的任何模塊標(biāo)記為非法。因此,例如如圖 6B所示,可以將房頂201的整個表面平鋪模塊。再次瀏覽可以隨后依次考慮每個模塊,并對非法(即,不按照該表示和對象放置的規(guī)則)放置的任何模塊進(jìn)行標(biāo)記。這可以例如通過循環(huán)通過每個放置的模塊以及針對每個放置的模塊循環(huán)通過所有設(shè)計規(guī)則并將相關(guān)的設(shè)計規(guī)則應(yīng)用于查找任何沖突來實現(xiàn)。因此,例如,可以將處于排氣扇202的物理覆蓋區(qū)之內(nèi)或者距離排氣扇202 —定縮進(jìn)量的覆蓋區(qū)之內(nèi)的任何模塊標(biāo)記為非法。類似地,在疾風(fēng)地帶的一定距離之內(nèi)(例如圖1中的106)的任何模塊可以被標(biāo)記為非法??梢詫⒎欠K變灰、自動去除、移動到另一層、或者以其他方式在數(shù)據(jù)結(jié)構(gòu)中相對于“合法”模塊而改變。標(biāo)記可以是明確的,如在軟件數(shù)據(jù)結(jié)構(gòu)中的“非法? ”字段或?qū)傩灾?,或者可以是在處理的操作中隱含的。非法模塊可以保持能被用戶訪問,也可以不能被用戶訪問??梢灾С植煌墑e的非法一些模塊可能是嚴(yán)格非法的,從而設(shè)計者不能重載其去除;其它模塊可能是“輕度(soft)”非法的或者不贊成的,從而允許設(shè)計者恢復(fù)它們的放置。通過使用不同的顏色、 層等可以支持不同級別的非法。布局處理的結(jié)果是PV模塊布局符合針對該工作點的設(shè)計規(guī)則和屬性。如圖5B所示,布置在530處顯示為實陰影線的模塊是合法放置的。在參考數(shù)字為533的區(qū)域中沒有模塊,因為該相關(guān)區(qū)域處在障礙物的物理邊界之內(nèi)。該系統(tǒng)可以包括選擇一個或多個其他非法模塊并將它們恢復(fù)為正常放置的能力。在一些情況下,這可以通過否認(rèn)應(yīng)用于特征屬性的至少一個規(guī)則而執(zhí)行。布置在535處并顯示為灰色陰影線的模塊可以是輕度非法的,它們可能違反了可選的縮進(jìn)要求。如下文所述,可以允許設(shè)計者“激活”或恢復(fù)這樣的輕度非法模塊?!┠K放置可能是沒考慮與其它模塊的關(guān)系而非法的,比如將一個模塊放置得太靠近排氣扇的情況。然而,一些非法配置可能僅僅相對于其它模塊才明顯,因此可以遞推地識別。例如,大多數(shù)連接到電網(wǎng)的PV安裝都要求預(yù)定數(shù)量的模塊電串聯(lián)地連接。例如, 當(dāng)SimPower 305模塊用于加利福利亞北部并連接到600Vdc逆變器時,必須在每個串聯(lián)的串中連接恰好12個模塊。這樣,在消除“嚴(yán)格”非法模塊之后,系統(tǒng)會執(zhí)行對剩下模塊的附加“瀏覽”以執(zhí)行對不符合設(shè)計規(guī)則(比如模塊間連接規(guī)則)的另外模塊的遞推式或回歸式檢查。這樣的模塊會如圖5B中那樣變灰。返回圖6A,在步驟630,在自動生成布局之后,可以對用戶呈現(xiàn)可選項以修改至少一個對象或者廣泛地修改該項目。允許用戶修改放置的用戶界面控件是多種多樣的。非法模塊可以放置在該表示的單獨的層上和/或具有不同的顏色或風(fēng)格,如圖5B所示。用戶可以改變非法模塊的層以使其合法,反之亦然。用戶可以右擊或以其他方式選擇一個模塊來改變其狀態(tài)??梢蕴峁┛丶碓试S刪除合法放置的模塊,可以包括絕對刪除或者將模塊移動到“刪除”層。必要時刪除的模塊可以隨后被恢復(fù)。可以提供撤銷動作或者重做被撤銷的動作的控件,比如還原一個模塊。下面將進(jìn)一步討論撤銷和重做??梢蕴峁┛丶戆ǜ淖円?guī)則或歸類以及重做自動布局的能力。系統(tǒng)的修改構(gòu)件可以提供一個用戶界面或者其它機(jī)制,允許替換已經(jīng)放置但后來又去除了的平鋪(例如根據(jù)規(guī)則違反)。類似地,可以提供一種機(jī)制以允許從布局去除放置的模塊。如在步驟635所示,布局的用戶修改會引起修改后的布局不符合相關(guān)設(shè)計規(guī)則和屬性的狀態(tài),或者以其他方式具有沖突。例如,用戶在特定點處對模塊的手動添加可能違反了關(guān)于縮進(jìn)的設(shè)計規(guī)則。這樣,對布局的諸如添加、替換或去除之類的修改可能引起布局的重新計算、布局的路徑選擇/布線的重新計算等。布局的修改或與布局規(guī)則的任何不相符可以記錄在下文將詳細(xì)討論的異常事件列表中。在步驟640,用戶界面控件可以提供來允許用戶對生成的布局執(zhí)行附加動作。例如,可以保存、打印和/或發(fā)送布局。另外,布局信息以及規(guī)則和對象的歸類可以用來生成附加的素材。例如,可以使用與該表示中的特征有關(guān)的編碼信息(例如用戶選擇的太陽能收集器模型的效率,以及與房頂區(qū)域接收的陽光量有關(guān)的能量預(yù)測仿真規(guī)則,比如緯度和/ 或高度)來對特定模塊布局的性能(例如能量產(chǎn)出)進(jìn)行仿真。這種結(jié)果(即,仿真結(jié)果) 可以顯示給設(shè)計者或以其他方式對其可用。作為另一個示例,可以對模塊及其關(guān)聯(lián)的構(gòu)件 (比如電線和電逆變器)的數(shù)量和成本記賬,并用來生成材料清單、成本估算、賬單等。通過一些實施例可以將諸如與典型布局設(shè)計處理相關(guān)地記錄的多種類型的文檔或可交付物自動生成為下游輸出。3.用戶定義的工作區(qū)到此為止所描述的系統(tǒng)主要提供用于通過使用由特征類別定義的隱含工作區(qū)來對太陽能收集器(尤其是PV模塊)在允許的表面或?qū)ο?比如房頂)上的布局。附加地或替代地,系統(tǒng)可以提供用戶界面來允許通過給予用戶對將工作區(qū)定義為和用作允許放置模塊(盡管違反了其它設(shè)計規(guī)則)的區(qū)域的明確控制,來更精確地控制布局處理。具體地,如圖7A所示,系統(tǒng)可以允許用戶定義用于約束或擴(kuò)展模塊布局的一個或多個用戶創(chuàng)建的邊界,例如明確的工作區(qū)。工作區(qū)可以代表邊界、范圍、或與物理安裝工作點處的位置對應(yīng)的允許模塊安裝的區(qū)域組。工作區(qū)可以與對應(yīng)于物理安裝工作點的對象或?qū)ο蠼M具有共同的邊界。作為替代,工作區(qū)(比如701)可以僅覆蓋其他允許布局對象的一部分。工作區(qū)還可以跨越多個對象,并且可以定義多個工作區(qū)??梢酝ㄟ^以指針裝置(例如鼠標(biāo)、觸摸板、操縱桿或觸摸屏)或鍵盤快捷鍵選擇“工作區(qū)”工具欄圖標(biāo)并隨后繪出矩形、折線、或其它對象來創(chuàng)建一個明確的工作區(qū)701。用戶可以通過定義幾何對象的任何方法,包括拖拽矩形和點擊“工作區(qū)”工具欄圖標(biāo)或者使用環(huán)境菜單,來定義工作區(qū)。在所示實施例中,用戶可以將對象標(biāo)記為(或者以其他方式關(guān)聯(lián)為)明確工作區(qū)。用戶創(chuàng)建的工作區(qū)可以但不是必須與任何對象(例如建筑表面或田地,或者整個直觀表示)具有共同的邊界。除了隱含工作區(qū)之外,或者代替隱含工作區(qū),可以使用用戶創(chuàng)建的工作區(qū)。在一些情況中,布局引擎可以配置來將PV模塊僅放置在隱含工作區(qū)(比如房頂或田地)與明確工作區(qū)之間的相交處。在其它情況中,明確工作區(qū)可以定義與其它可放置的對象或隱含工作區(qū)無關(guān)的允許放置的區(qū)域,或定義除了其他可放置的對象或隱含工作區(qū)之外的允許放置的區(qū)域。明確工作區(qū)可以用來重載對象的默認(rèn)放置規(guī)則。這使得設(shè)計者可以對在哪里放置模塊具有更多控制權(quán),比如是否將模塊僅放置在房頂?shù)囊徊糠稚?。例如,如圖 7A所示,如果設(shè)計者希望考慮將對象僅放置在房頂201西邊部分中,則設(shè)計者可以創(chuàng)建工作區(qū)701。在一些情況中,在所得的布局中,模塊可能僅放置在房頂201與工作區(qū)701的相交處。因此,模塊可以放置在位置A(由于其符合其它規(guī)則,比如針對管道203的規(guī)則)處, 而不放在位置B處。在圖7B中示出了一個這樣的布局。用于在布局引擎的背景下實現(xiàn)明確工作區(qū)的一個算法如下參照圖6A,在步驟 620,優(yōu)選地僅在包含于可放置對象(比如房頂或者田地)和明確工作區(qū)內(nèi)的位置處平鋪模塊。該方法隨后可以如前所述那樣前進(jìn)。作為替代,可以在所有允許的表面上平鋪模塊,并且在步驟625,如果它們落在所有明確工作區(qū)的邊界之外,則接著對它們進(jìn)行標(biāo)記和/或去除。用戶可以比如通過移動或調(diào)整工作區(qū)的邊界來修改工作區(qū)。工作區(qū)的修改可以引起或者不引起之前生成的布局的自動重新計算或重新生成。4.靶框作為對工作區(qū)的補充或替代,系統(tǒng)可以為用戶提供針對一個或多個局部化設(shè)計優(yōu)選組的應(yīng)用來定義一個或多個邊界(例如布局靶框)的能力。靶框允許設(shè)計者為期望的布局創(chuàng)建異種的區(qū)域,并且可用來對布局處理提供另一個控件層。如前所述的布局引擎可以使用用于對模塊布局的單個設(shè)計優(yōu)選組(例如模塊類型、定向、起點等)。作為替代,可以對用戶界面提供控件來允許用戶定義一個或多個靶框,每個靶框都可以包括邊界。多個靶框可以與獨立且異種的設(shè)計優(yōu)選組相關(guān)聯(lián)。不同的靶框可以具有不同范圍在一個靶框的邊界之內(nèi)的PV模塊的布局可以通常(也有例外)至少部分地由與該靶框關(guān)聯(lián)的用戶定義的設(shè)計優(yōu)選所確定。這樣,如圖8A所示,用戶可以定義第一靶框801。靶框邊界801可以與對象(比如房頂201)和/或明確的或隱含的工作區(qū)具有共同的邊界;或者,如圖8A所示,靶框邊界 801可以僅覆蓋可放置對象(比如房頂201)的一部分。靶框邊界801還可以覆蓋超過一個可放置模塊的工作區(qū)和/或?qū)ο?。第一靶?01可以具有與之相關(guān)聯(lián)的設(shè)計優(yōu)選組,如 702-705所示。靶框設(shè)計優(yōu)選可以包括PV模塊類型或者模型、模塊定向為真北、行間距、傾斜角度、固定方法、串輸出電壓、行間偏移以及靶框尺寸和形狀、平鋪起點、和其它屬性。(見用于附加示例的表V。)在一些實施例中,用戶可以修改一些或所有設(shè)計優(yōu)選或者可以在默認(rèn)條件的基礎(chǔ)上繼續(xù)??梢詣?chuàng)建第二靶框802,并且類似地,該第二靶框可以覆蓋工作區(qū)和 /或可放置對象(比如房頂201)的全部或者部分。第二靶框802可以具有與之相關(guān)聯(lián)的不同設(shè)計優(yōu)選組。靶框可以由用戶創(chuàng)建或者可以自動定義或預(yù)定義。例如,覆蓋了整個特定工作區(qū)或者整個工作點表示的一般默認(rèn)靶框可以初始地被定義為默認(rèn)。作為替代,軟件可以要求用戶在操作布局引擎之前定義至少一個靶框??梢岳缤ㄟ^選擇一個幾何對象并點擊工具箱圖標(biāo)或者使用805所示的環(huán)境菜單來創(chuàng)建靶框??梢蕴峁┯糜谡{(diào)整靶框規(guī)則的多個控件;例如,可以允許用戶挑選一個線性參考對象用作靶框中模塊布局的定向。在一些情況下,放置在靶框與工作區(qū)之間的相交處或重疊處的模塊布置將取決于靶框的設(shè)計優(yōu)選。因此,例如,參照圖8A,假設(shè)已經(jīng)(隱含或者明確地)創(chuàng)建了與房頂201 具有共同邊界的工作區(qū)。當(dāng)調(diào)用布局引擎時,可以按照第一靶框801的設(shè)計優(yōu)選在位置A 處放置模塊;可以按照與第二靶框802關(guān)聯(lián)的設(shè)計優(yōu)選在位置B處放置模塊;不可以在位置C處放置模塊,因為C沒有處于靶框之內(nèi)。在一些情況下,靶框可以重疊,如位置D所示, 這表明可以將兩個或更多組的靶框設(shè)計優(yōu)選應(yīng)用于位置D。在這些情形中,一些系統(tǒng)將會使用下文結(jié)合圖9進(jìn)一步詳細(xì)描述的靶框沖突解決規(guī)則。模塊不可以放置在位置E處,因為位置E沒有在工作區(qū)之內(nèi)。圖8B示出了根據(jù)前述的示意性布局,其中已經(jīng)以有利于第一靶框801的方式解決了區(qū)域D中的布局沖突。下文進(jìn)一步討論靶框沖突解決規(guī)則。靶框是有用的,例如因為它們可以允許設(shè)計者指定用于工作區(qū)或?qū)ο?比如房頂)的第一部分的一組設(shè)計優(yōu)選和屬性,以及用于相同工作區(qū)或?qū)ο蟮牡诙糠值牡诙M設(shè)計優(yōu)選和屬性,如圖8A和圖8B所示。因此,例如,如果要將太陽能收集器放置在相同房頂?shù)膬蓚€部分上,但一個部分是平坦的而另一個是傾斜的,那么設(shè)計者可以選擇適合于這兩種房頂類型的兩個不同的相對于垂直方向的固定角度、相對于南方的定向、PV模塊模型、 和/或固定系統(tǒng)。類似地,如果房頂?shù)囊粋?cè)相對于另一側(cè)更多風(fēng),則用戶可以使用包括耐風(fēng)的模塊和固定系統(tǒng)的設(shè)計優(yōu)選來對多風(fēng)的一側(cè)創(chuàng)建第一靶框,并使用不太耐風(fēng)的模塊和固定系統(tǒng)來對房頂少風(fēng)的部分創(chuàng)建第二靶框。用戶還可以(如采用用戶定義的工作區(qū)來)移動或調(diào)整靶框,并且這可以為設(shè)計者提供使替代布局快速可視化的能力。因為靶框可以為模塊放置提供不同的設(shè)計優(yōu)選組,所以重疊的或相鄰的靶框可能引起放置中的沖突。該重疊可能是重大的。靶框沖突解決規(guī)則可以用來解決模塊放置中的矛盾。沖突解決規(guī)則的一個簡單形式是以創(chuàng)建次序?qū)Π锌蚍值燃?,以最先?chuàng)建的或者最后創(chuàng)建的靶框具有最高優(yōu)先級。也可以使用字母順序??梢詾橛脩籼峁┛丶砻鞔_地改變靶框優(yōu)先級次序。完成該操作的一個方法是將每個靶框與對其定義優(yōu)先級的用戶可編輯設(shè)計優(yōu)選相關(guān)聯(lián),例如“優(yōu)先級=2”。如果有默認(rèn)靶框,則默認(rèn)靶框可以具有最低優(yōu)先級??梢园凑瞻锌驔_突解決規(guī)則使用多種方法來創(chuàng)建模塊布局。作為一個示例,可以如上所述給予靶框優(yōu)先級,并且在放置中存在沖突的情況下,可以按照較高優(yōu)先級的靶框來對放置給予優(yōu)先級。例如,可以不考慮優(yōu)先級,按照上述的初步應(yīng)用于至少部分落在每個靶框邊界之內(nèi)的對象和特征的方法,來對所有定義的靶框生成獨立的、部分布局??梢圆⑿械貓?zhí)行該計算。如果沒有靶框重疊,則兩個部分布局的聯(lián)合可以被取作“最終”布局并可以保存、存儲或呈現(xiàn)于輸出裝置上。然而,如果存在重疊,則可以基于沖突解決規(guī)則來調(diào)解放置的模塊之間的沖突。在模塊沖突的一些情況下,可以去除較低優(yōu)先級的靶框中的模塊,從而修改或調(diào)節(jié)對應(yīng)于較低優(yōu)先級靶框的部分安裝布局。如圖9A所示,一個布局方法包括,在開始900該處理時,首先在步驟901輸入工作點數(shù)據(jù)(例如邊界和結(jié)構(gòu)的物理尺寸);在步驟902將對象分類并創(chuàng)建工作區(qū)和靶框;在步驟904,在每個靶框中創(chuàng)建模塊的布局;在步驟906,分析每個靶框中的每個模塊與其它模塊和/或其它靶框之間的沖突放置;在步驟908使用靶框優(yōu)先級規(guī)則來解決任何沖突,并在步驟910允許用戶修改根據(jù)前述方法作出的模塊放置。處理在912結(jié)束,然而將會理解,可以進(jìn)行很多附加的居間處理和類似于上述步驟的重復(fù)步驟。實現(xiàn)上述操作的另一個方法是以從最高到最低的優(yōu)先級次序分析每個靶框,并在有可能的時候(根據(jù)前述方式)在靶框中放置模塊,假定這樣的放置不會與已經(jīng)放置為更高優(yōu)先級靶框中的一部分的模塊相沖突。按照對在給定靶框內(nèi)交叉(或者包含或包含于該給定靶框)的特征所應(yīng)用的靶框設(shè)計優(yōu)選、特征屬性、模塊屬性、和項目屬性,對PV模塊的放置一般會發(fā)生在給定靶框的邊界之內(nèi)。該方法產(chǎn)生了一組連續(xù)的安裝布局,其中每個連續(xù)的布局都符合當(dāng)前和所有更高優(yōu)先級靶框的設(shè)計優(yōu)選。可以將連續(xù)的安裝布局中的每一個呈現(xiàn)于或者存儲在裝置或介質(zhì)上。圖9B示出了用于根據(jù)被分類對象、工作區(qū)、和沖突靶框布置模塊的另一示例處理。在處理的開始930之后,在步驟931,用戶可以首先將對象分類并創(chuàng)建一個或多個工作區(qū)和/或靶框(或者可以使用默認(rèn)的或隱含的工作區(qū)和靶框)。在一些實施例中,靶框可以與創(chuàng)建的相對順序關(guān)聯(lián),創(chuàng)建的相對順序可以確定靶框在隨后的沖突解決方案中的優(yōu)先級。在步驟932,可以根據(jù)第一靶框規(guī)則來放置模塊,其中“第一”可以通過上述相對優(yōu)先級來確定??梢詢H在第一靶框和一個(隱含的或明確的)工作區(qū)的邊界之內(nèi)放置模塊。 如果定義了明確工作區(qū),則可以僅在靶框、可放置表面、和明確工作區(qū)之間的交叉部分中放置模塊。如果沒有定義或沒有使用明確工作區(qū),則可以在靶框與由可放置對象(諸如房頂) 定義的工作區(qū)的交叉部分中放置模塊。在步驟933,與一個或多個設(shè)計規(guī)則沖突的模塊(諸如違反排氣扇要求的縮進(jìn)量)被標(biāo)記為非法的,然后被移除或以其他方式從有效布局中去掉。在步驟934,可以針對第二最高優(yōu)先級的靶框(如果存在)重復(fù)步驟932和933。 但是,一些情況下,除了與工作區(qū)交叉的一般要求之外,可以僅將模塊放置在第二靶框中, 如果它們不與已放置在第一靶框中的模塊沖突。這可以等效于放置階段(932)來實現(xiàn),例如,從不將模塊放置為與第一靶框沖突??商鎿Q地,可以不考慮第一靶框的模塊或設(shè)計優(yōu)選而在第二靶框中放置模塊,隨后,如果發(fā)現(xiàn)其與放置在第一靶框中的模塊(或者關(guān)于其的設(shè)計優(yōu)選)沖突,則將其移除(步驟933的等效期間)。在步驟935,可以針對第三最高優(yōu)先級的靶框(如果存在)重復(fù)步驟932和933。 可以根據(jù)第三靶框的規(guī)則,在第三靶框中放置模塊,但是僅當(dāng)它們不與放置在第一或第二靶框中的模塊或其設(shè)計優(yōu)選沖突時才放置。可選地,可以依次針對所有剩余靶框來重復(fù)該處理,如步驟936所示。在步驟937,或者在更早的時候,可以允許用戶來修改模塊放置,這可以導(dǎo)致布局的全部或部分基于上述步驟而重新生成。如上所述,可以采取附加的居間步驟,并且在處理在步驟938處結(jié)束之前,根據(jù)需要重復(fù)上述任意步驟。最終的布局可以顯示在計算裝置上,或者以其他方式呈現(xiàn)或存儲。5.項目分級結(jié)構(gòu)和存儲可以通過項目狀態(tài)信息來對包括項目工作點表示、特征及其類別、和太陽能收集器布局的太陽能安裝項目設(shè)計進(jìn)行表征。一般來說,項目狀態(tài)信息包括可以用來重新創(chuàng)建 (而不是創(chuàng)建更多)特定太陽能收集器安裝設(shè)計的信息。因此,例如,項目狀態(tài)信息的典型使用是允許設(shè)計保存在非易失性存儲器中。對特定設(shè)計調(diào)用“保存”功能或控件可以使項目狀態(tài)信息被寫入硬盤中。然后,可以終止(清除其所有的工作存儲器)并重新啟動軟件程序。然后,用戶可以選擇“打開”功能或控件并且使軟件指向保存的項目狀態(tài)信息。然后, 該軟件可以加載并操作該項目狀態(tài)信息來重新創(chuàng)建太陽能安裝項目。一些情況下,可以將軟件顯示特定設(shè)計時的工作存儲器的整個內(nèi)容看作“項目狀態(tài)信息”,這是因為該項目狀態(tài)信息足夠完全地指定一個特定設(shè)計。但是,使用項目狀態(tài)信息的一個優(yōu)點是可以僅使用工作存儲器的一個子集(或者甚至其他數(shù)據(jù)),從而減小了項目狀態(tài)信息的大小和復(fù)雜度。例如,給定的設(shè)計可以包括一百萬個收集器的布局,所有這些收集器都為TlO模塊類型,并且被布置為1000X 1000的子陣列。存儲這種設(shè)計的一種方法是,例如,分配并存儲一百萬個“收集器”數(shù)據(jù)結(jié)構(gòu),每個“收集器”數(shù)據(jù)結(jié)構(gòu)具有其自己的相關(guān)屬性(諸如“模塊類型=τιο”、位置、定向等)的副本??商鎿Q地,系統(tǒng)可以簡單地沿著 "Τ10模塊的、定向為0度的1000Χ 1000子陣列”的行來存儲狀態(tài)信息。這種項目狀態(tài)信息的更緊湊的表示可以更方便存儲并且更容易修改。例如,如果設(shè)計者將所有模塊的模塊類型從TlO改變?yōu)槠渌愋?,在第一示例的情況下,執(zhí)行該改變可能需要掃描并對一百萬個數(shù)據(jù)結(jié)構(gòu)進(jìn)行改變。但是,在第二示例的情況下,僅進(jìn)行對狀態(tài)信息的單獨改變就可以完成修改。在一些實施例中,給定設(shè)計的項目狀態(tài)信息將包括所有的設(shè)計輸入,例如,用來重新生成設(shè)計的數(shù)據(jù)。因此,例如,項目狀態(tài)信息可以包括這些輸入信息,例如,包括幾何對象的工作點的表示、這些幾何對象作為特征的類別、每個被分類對象的特征屬性、設(shè)計優(yōu)選、 工作區(qū)定義、靶框定義及伴隨的設(shè)計優(yōu)選、項目屬性等。項目狀態(tài)信息還可以包括其他類型的輸入,例如,用戶對生成的布局信息的修改。例如,當(dāng)用戶對生成的布局手動添加模塊時, 例如,當(dāng)用戶將特定模塊的狀態(tài)從“非法”改變?yōu)椤昂戏ā睍r,該模塊的狀態(tài)會反映到項目狀態(tài)信息中。項目狀態(tài)信息還可以包括輸出信息,例如,生成的布局、生成布局的性能和成本特性等。例如,特定設(shè)計的材料清單是該設(shè)計的輸出,這是因為其為該設(shè)計的輸入(例如,設(shè)計優(yōu)選)的函數(shù)。這可以允許例如對輸出信息進(jìn)行高速緩存以減小計算需求。項目狀態(tài)信息的有效管理是很難的。特別地,在一些實施例中,項目狀態(tài)信息可以提供“沖突”信息,例如,當(dāng)用戶將PowerGuard模塊放置在被指定為TlO的靶框邊界內(nèi)時。如果系統(tǒng)來實行用戶的這兩個動作,則對具有項目狀態(tài)信息的有效和有力表示會是有用的。因此,在一些實施例中,項目狀態(tài)信息可以被看作分級結(jié)構(gòu)元素的排列,其可以以數(shù)據(jù)結(jié)構(gòu)的形式表示。在一些情況下,分級結(jié)構(gòu)可以趨近樹狀結(jié)構(gòu),其中對子元素分配單個父對象。在其他情況下,分級結(jié)構(gòu)可以是更一般圖形的實例,例如,當(dāng)分級結(jié)構(gòu)中特定對象具有多于一個父對象時。圖IOA至圖IOB提供了可以由太陽能收集器布局設(shè)計工具使用的項目狀態(tài)信息分級結(jié)構(gòu)的示例。特別地,如圖IOA所示,整個項目1000可以包含工作點表示1001,其可以包括一個或多個特征1002。每個特征1002本身可以包含特征屬性。工作點表示還可以包括工作區(qū)1005,例如圖IOA中示出了兩個工作區(qū)。每個工作區(qū)1005可以包含一個或多個靶框1010,例如,第一工作區(qū)1005可以包含兩個靶框1010。這可能是以下情況,即,在工作點表示中,靶框1010落入給定工作區(qū)1005的邊界之內(nèi)。在單個靶框與多個工作區(qū)重疊的情況下,靶框?qū)ο?010可以在多個工作區(qū)之間共享或重復(fù)??商鎿Q地,可以調(diào)整分級結(jié)構(gòu)來使用工作區(qū)-靶框的交叉部分(而不是整個靶框)作為工作區(qū)1005的子對象。如上所述,根據(jù)一些實施例,太陽能收集器將放置在靶框1010與工作區(qū)1005之間的交叉部分中。由此,每個靶框或工作區(qū)-靶框交叉部分可以包括靶框1010內(nèi)的收集器的一個或多個子陣列1015。給定靶框1010中子陣列1015的數(shù)量或構(gòu)成可以是多個變量(包括位于靶框的邊界之內(nèi)或周圍的障礙物特征)的函數(shù)。例如,使靶框平分的線性障礙物(例如墻壁)可能使得靶框1010內(nèi)的收集器的布局被分為兩個子陣列1015,一個位于墻壁的一側(cè)。一些實施例可能使得子陣列1015具有矩形形狀,其他實施例可能創(chuàng)建這樣的子陣列 1015,其來自靶框1010中每個鄰接的收集器組,而不考慮其形狀。再一些實施例可能利用其他的規(guī)則1004(例如,布線或輸出要求)來形成子陣列1015。給定子陣列1015還可以被分成收集器1025的串1020。在一些情況下,如在使用 PV模塊以及上述情況下,取決于所選擇的模塊,可能需要給定數(shù)量的模塊通過電線以特定形式(例如串聯(lián))連接在一起,以產(chǎn)生需要的輸出電壓。因此,例如,如果給定子陣列在峰值功率下需要的輸出電壓是150V,并且如果用來形成子陣列的特定模塊的每一個在峰值功率下輸出15V,則可以將模塊組成為每串10個模塊的串來進(jìn)行安裝。每串的收集器可以串聯(lián)連接,并且子陣列的每個串可以與子陣列的其他串并聯(lián)連接。因此,給定的子陣列1015 可以由多個串1020構(gòu)成。這些串1020中的每一個可以由多個收集器1025構(gòu)成。如圖IOB所示,給定太陽能收集器本身可以由元素的分級結(jié)構(gòu)構(gòu)成。例如,PV模塊可以由電池串1030構(gòu)成,每個電池串1030包括一系列電池1035(就如圖IOA中所示的子陣列1015可以由模塊1025的串1020構(gòu)成一樣)。例如,一個15V的模塊可以由并聯(lián)連接的三個電池串構(gòu)成,其中每個電池串包含10個串聯(lián)連接的1. 5V的電池。分級結(jié)構(gòu)的每一級的每個元素可以與一組屬性相關(guān)聯(lián)。例如,給定串的屬性可以包括模塊計數(shù)、串位置等。以上已經(jīng)說明了可能與特定工作區(qū)、靶框、項目、和特征關(guān)聯(lián)的一些可能的屬性。一個元素的屬性可以被絕對地表示或者參考另一組屬性來表示。例如,屬性的默認(rèn)值可以是從表示分級結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)中的父元素繼承的,并且這些默認(rèn)值可以被給定子元素存儲的屬性值重載。類似于屬性,布局引擎采用的諸如特征布局規(guī)則之類的設(shè)計規(guī)則可以與分級結(jié)構(gòu)中的各個元素關(guān)聯(lián)。不是特征的特定實例所專有的設(shè)計規(guī)則可以與項目或工作點普遍關(guān)聯(lián),如圖IOA中的1004所示。設(shè)計規(guī)則也可以是特定布局或設(shè)計引擎或者沒有表現(xiàn)在項目狀態(tài)信息分級結(jié)構(gòu)中的其他項所固有的。類似地,設(shè)計優(yōu)選還可以與分級結(jié)構(gòu)中的各個元素關(guān)聯(lián),例如,項目設(shè)計優(yōu)選可以與項目元素關(guān)聯(lián)。分級的數(shù)據(jù)結(jié)構(gòu)還提供了屬性、設(shè)計優(yōu)選、和規(guī)則的歸類靈活性,例如,被用戶放置或修改的收集器可以被分類為具有伴隨屬性的特征1002,可以保持在分級結(jié)構(gòu)的單獨級(如1025所示),或者可以為上述二者。在一些實施例中,被軟件用來表示項目狀態(tài)信息(例如,用于存儲和檢索項目)的數(shù)據(jù)結(jié)構(gòu),可以被表示為元素、屬性、及其相關(guān)設(shè)計規(guī)則的集合之間的分級關(guān)系。例如,可以以XML型格式來表示項目狀態(tài)信息,其中頂層的工作點節(jié)點可以包含特征及其類別的列表。工作點節(jié)點還可以包含許多工作區(qū)節(jié)點,工作區(qū)節(jié)點又可以包含許多靶框節(jié)點。每個靶框節(jié)點可以包含多個子陣列節(jié)點,以此類推。在數(shù)據(jù)結(jié)構(gòu)中可以包含重新生成布局的足夠信息這一意義上,項目分級數(shù)據(jù)結(jié)構(gòu)可以表示設(shè)計項目的狀態(tài)。6.項目異常事件在一些實施例中,如上所述,隨著設(shè)計者完成對特征進(jìn)行分類、生成布局、以及隨后的修改這些布局的處理,可以生成關(guān)于該設(shè)計處理的元數(shù)據(jù)。元數(shù)據(jù)可以根據(jù)應(yīng)用到項目狀態(tài)信息的規(guī)則(例如,特征屬性、設(shè)計優(yōu)選、版本信息等)來確定。該元數(shù)據(jù)可以具有許多形式,并且可以包括關(guān)于設(shè)計者已采取的動作、設(shè)計者應(yīng)該采取的動作的信息,以及對管理者、共同設(shè)計者、以及該設(shè)計的下游用戶和接受者有用的設(shè)計信息。系統(tǒng)可以使用元數(shù)據(jù)和其他數(shù)據(jù)來生成“異常事件”列表,其可以將異常情況編碼為元數(shù)據(jù),例如,項目狀態(tài)信息本身、反映在設(shè)計輸出中的項目狀態(tài)信息違反規(guī)則,或某種其他情況。異常情況以及相應(yīng)的異常事件可以與用戶的省略、規(guī)則的違反、太陽能收集器制造者規(guī)范的違反、客戶需求的違反、工程原理的違反、物理空間約束的違反、以及公司工程策略的違反等有關(guān)。這種列表可以允許設(shè)計者在動作順序上具有更大的靈活性,以使得在生成安裝設(shè)計的同時還確保能夠最終執(zhí)行適當(dāng)?shù)膭幼?,并且不漏掉諸如設(shè)計缺陷之類的異常情況。具體地,異常事件列表不是強(qiáng)迫以特定順序執(zhí)行工作流程,而是可以允許設(shè)計者以他的或她的選擇的順序來執(zhí)行動作??梢詫惓J录斜沓尸F(xiàn)給用戶而不要求用戶在執(zhí)行另一動作之前解決任何異常事件(或異常情況)。異常事件列表還為設(shè)計者提供決定是否要解決特定異常事件的能力。異常事件列表還可以為關(guān)于設(shè)計的重要信息(例如,有問題的模塊放置等)提供簡單的界面。因此,允許用戶有效地(至少暫時地)忽略異常,而在作為“待處理”列表的一部分的用戶日程中對該異常進(jìn)行處理。系統(tǒng)可以通過例如使異常事件或異常事件列表在用戶界面中是非阻止(non-blocking)的來為用戶提供忽略給定異常事件的選項。還可以向用戶給出選項以遵守軟件對異常情況的預(yù)期處理,例如通過提供遺漏信息或者從所生成的或用戶修改的布局中移除非法模塊。元數(shù)據(jù)和異常事件還對保持和生成下游文檔(例如,合約排除項)是有用的。在一些實施例中,包括異常事件在內(nèi)的一些或全部元數(shù)據(jù)可以與設(shè)計關(guān)聯(lián),例如通過一般的存儲或者通過參考上述數(shù)據(jù)結(jié)構(gòu)分級。之后,設(shè)計的下游用戶和處理器(包括自動化系統(tǒng))可以使用該元數(shù)據(jù)。還可以通過系統(tǒng)來概括、導(dǎo)出、轉(zhuǎn)譯或者以其他方式操作這些元數(shù)據(jù)。此外,元數(shù)據(jù)以及由此生成的異常事件可以包括關(guān)于合約排除項、對設(shè)計者的警告、和工作點表示或布局中的錯誤的信息。如圖11所示,可以提供用戶界面1100,使得關(guān)于設(shè)計的一些或全部元數(shù)據(jù)可以以異常事件列表1105的形式呈現(xiàn)給設(shè)計者。表示可以包括布局、列表或設(shè)計異常事件、以及可操作來與異常事件進(jìn)行交互的控件。異常事件可能表明要求設(shè)計者做出某一動作。在一些情況下以及對于一些異常事件,盡管可能生成異常事件,但是可能不會因為未能提供要求的信息而在設(shè)計處理中阻止設(shè)計者。例如,在一些實施例中,工作點的位置(可能被近似為郵碼)是影響布局的工作點屬性。這可以是如下情況,其中不同的郵碼隱含不同的管理制度,例如對房頂負(fù)荷、縮進(jìn)量等的不同要求。因此,設(shè)計規(guī)則會要求提供郵碼。這種情況下,如果設(shè)計者未能為工作點指定郵碼,則可以將該故障記錄為關(guān)于設(shè)計的元數(shù)據(jù),并且可以生成郵碼異常事件1110。在郵碼異常事件1110的未決期間,仍然可以允許設(shè)計者對對象進(jìn)行分類并生成布局或下游文檔,可能使用系統(tǒng)提供的默認(rèn)郵碼或者管理制度??商鎿Q地,系統(tǒng)可以允許設(shè)計者在異常事件存在的同時執(zhí)行一些不相關(guān)的動作,但是可以要求設(shè)計者在特定動作(例如允許布局生成、仿真、或下游文檔生成)之前解決該異常事件。例如,可以允許設(shè)計者在輸入郵碼之前繼續(xù)對對象進(jìn)行分類,但是阻止設(shè)計者生成布局。作為另一個示例,其他元數(shù)據(jù)可以表示重大的情況,因為不能選擇繼續(xù)進(jìn)行設(shè)計。 例如,如果設(shè)計者將模塊放置在排氣扇之上,則系統(tǒng)可能生成錯誤異常事件1115。設(shè)計者可以在創(chuàng)建最終設(shè)計之前解決該異常事件1115。如果用戶沒有解決該異常事件(例如,忽略了它),則該異常事件可以保持在異常事件列表1105中,以供管理者復(fù)查。用戶的一些類型的解決方案(例如遵從要求或改變)可以將該項從異常事件列表中去除。用戶的其他類型的解決方案(例如,重載或以其他方式明確拒絕遵從所要求的信息或改變)導(dǎo)致異常事件的修改和異常事件的維持,以及用戶重載異常事件歷史中的輸入,這對將來的修改、管理者復(fù)查、合約生成等有用。以下討論其他類型的異常事件。設(shè)計者可以以各種方式與要求設(shè)計者動作的這些異常事件進(jìn)行交互。例如,設(shè)計者可以選擇通過輸入工作點的郵碼來解決郵碼異常事件1110。這可以以多種方式執(zhí)行,包括通過上述用于輸入項目屬性的機(jī)制??商鎿Q地,異常事件1110本身可以與用于解決它的機(jī)制關(guān)聯(lián)。例如,郵碼異常事件1110可以包括可以輸入郵碼從而與項目關(guān)聯(lián)的字段。當(dāng)用戶解決異常事件時,可以使系統(tǒng)重新計算或重新生成信息。例如,當(dāng)用戶在郵碼異常事件中輸入值時,系統(tǒng)可以使該郵碼生效,并且可以例如使用新的位置信息重新生成布局。響應(yīng)于異常事件,用戶可以提供足以補救異常情況或規(guī)則違反的相符信息,該信息可以包括項目屬性、客戶屬性、設(shè)計優(yōu)選、工作區(qū)邊界、和靶框邊界。一些實施例可以識別該相符信息并且使用該信息來修改項目狀態(tài)信息或其它設(shè)計信息。接收到相符信息之后,系統(tǒng)可以移除相應(yīng)的異常事件。系統(tǒng)還可以包括這樣的異常事件,其反映關(guān)于設(shè)計的信息或元數(shù)據(jù),該設(shè)計可能對下游用戶和處理有用。例如,如果設(shè)計者以與被分類為“非法風(fēng)區(qū)”(如已經(jīng)通過現(xiàn)場檢查員確定)的特征重疊的結(jié)構(gòu)來放置模塊,則可以生成排斥的異常事件1120。如上所述,這些排斥的異常事件可以呈現(xiàn)給設(shè)計者,并且設(shè)計者可以操作控件來遵從(例如,消除或改善) 該異常事件(通過例如移除討論中的特定模塊)??商鎿Q地或附加地,一些異常事件(包括一些排斥的異常事件)可以與設(shè)計一起保持或者與設(shè)計關(guān)聯(lián)地保持,從而對隨后使用該設(shè)計的處理可用。例如,另一個軟件程序可以使用排斥的異常事件信息來生成合約異常事件列表,其可以被列為設(shè)計者與客戶的合約條款的一部分。因此,例如,對應(yīng)于放置在漏水房頂區(qū)域中的模塊的異常事件1120可以被下游處理用來生成合約的特定條款,其限制設(shè)計者將模塊放置在漏水房頂區(qū)域中。一些異常事件還可以被設(shè)計為需要來自除了設(shè)計者的個人或管理機(jī)構(gòu)的復(fù)查和附加的認(rèn)可。例如,與使房頂承受其最大設(shè)計承重能力的95%的負(fù)荷相關(guān)的異常事件1125 可以要求獲得設(shè)計者的管理者的認(rèn)可。在設(shè)計者繼續(xù)(至少針對特定的設(shè)計動作)之前,該異常事件可以要求獲得管理者或者其他第二用戶的認(rèn)可??商鎿Q地,系統(tǒng)可以產(chǎn)生對應(yīng)于所有這些需要認(rèn)可的異常事件的列表,并且該列表可以被用作設(shè)計的下游處理的一部分, 從而允許用戶繼續(xù)進(jìn)行至少一些任務(wù)而不管該異常事件。稍后的遵從、重載、或?qū)Ξ惓J录M(jìn)行重載的授權(quán)(例如通過管理者)可以重新生成相關(guān)的太陽能收集器布局,以使得用戶的居間工作不會被浪費。一些實施例可以實施一些或全部上述異常事件與動作的組合。例如,根據(jù)異常事件,設(shè)計者通過系統(tǒng)可用的合理動作可以包括“忽略異常事件”、“自動修復(fù)布局”、“重載異常事件”、“刪除一個或多個收集器”、“重新生成布局”、“輸入值并重新計算”、“為管理者標(biāo)記”、“遵從異常事件”等的變型。例如,用戶可以通過如軟件控件來為系統(tǒng)發(fā)出一個命令,以采取步驟來自動嘗試糾正異常情況,例如通過按照消除該異常情況來修改項目狀態(tài)信息或設(shè)計。一些實施例可以記錄用戶動作,包括那些采取來作為解決異常事件的部分,包括用戶授權(quán)。動作的記錄可以與異常事件關(guān)聯(lián),與給定項目一起存儲,導(dǎo)出給下游用戶等。其他實施例可以配置來重新評估異常情況的存在,不管有沒有用戶的輸入或推動,這樣,如果異常情況不再存在,則系統(tǒng)可以消除該異常事件。圖12示出了用于實現(xiàn)異常事件的處理。在步驟1205至1210,系統(tǒng)可以進(jìn)入輸入驗證循環(huán)。在步驟1205,設(shè)計者可以輸入工作點信息,將對象分類為特征,并且輸入特征屬性和其他設(shè)計屬性及優(yōu)選。在步驟1210,系統(tǒng)可以分析并驗證設(shè)計者的輸入,如通過對幾何對象和項目狀態(tài)信息中的其他輸入信息施加規(guī)則。驗證引擎可以使用對該類對象特定的或一般的驗證規(guī)則。這些驗證規(guī)則可以與項目分級結(jié)構(gòu)一起存儲或者存儲到項目外部。在步驟1212,隨著驗證引擎對任意矛盾的記錄,這些矛盾可以被置于異常事件列表中,例如, 以計算機(jī)存儲器中的數(shù)據(jù)結(jié)構(gòu)的形式放置。如上所述,這些異常事件可以顯示給用戶。用戶可以選擇解決置于異常事件列表中的異常事件,可替換地,用戶可以輸入更多的屬性、類別、和其他信息。輸入驗證循環(huán)1205至1210可以一直繼續(xù),直到用戶使得布局生成為止,如在步驟1215。這可以使得系統(tǒng)進(jìn)入布局驗證修改循環(huán)1215-1220-1225-1230。如步驟1220所示,可以對所得布局進(jìn)行分析和驗證,以確認(rèn)其是否符合設(shè)計優(yōu)選、特征及項目屬性、布局規(guī)則、期望輸出、和其他編碼的信息準(zhǔn)則。在步驟1222,由所生成的布局產(chǎn)生的任何變化或偏離可以再次被記錄為異常事件并且被置于異常事件列表中。在步驟1225,如上所述,可以向用戶呈現(xiàn)修改布局的能力。這可以包括改變屬性或優(yōu)選、解決異常事件(其可以引起屬性或布局的改變)、添加或刪除模塊等。如步驟1230所示,用戶的動作可以通過驗證引擎來驗證。在步驟1232,由用戶的動作引起的異常事件可以再次被添加到異常事件列表中。在一些情況下,用戶進(jìn)行的改變可以觸發(fā)布局的重新生成。例如,如果用戶增大了縮進(jìn)量屬性,則可以重新生成布局來符合增加的縮進(jìn)量。根據(jù)異常事件的類型,可以根據(jù)需要或設(shè)計者的期望來重復(fù)1225-1230循環(huán)(其中,用戶登錄被驗證并且生成異常事件而不重新生成布局)或者 1215-1220-1225-1230循環(huán)(其中用戶入口引起布局的重新生成)。在步驟1235,通過該處理生成的一些或所有元數(shù)據(jù)(如果存在,包括異常事件和為了解決該異常事件所采取的動作),可以被存儲或以其他方式使下游用戶可用。例如,可以根據(jù)所有的合約排除的異常事件來生成合約條款列表,并且可以生成所有需要認(rèn)可的異常事件的列表并將其轉(zhuǎn)發(fā)給適當(dāng)?shù)恼J(rèn)可實體。用戶界面可以提供合約異常事件列表,其對應(yīng)于與太陽能收集器安裝設(shè)計違反設(shè)計規(guī)則有關(guān)的異常情況,其中合約異常事件或情況提供足夠識別合約中包含的條款的信息。通常,任意元數(shù)據(jù)、異常事件、或用戶采取的動作可以被包含為項目狀態(tài)信息的一部分。7.項目版本
一些實施例可以提供系統(tǒng)或用戶界面,以用于針對特定安裝工作點來瀏覽、創(chuàng)建、 和操作太陽能收集器布局設(shè)計的多個版本。使用多個版本可以允許設(shè)計者例如快速并容易地通過選擇替換模塊、替換特征類別、替換工作區(qū)和/或靶框邊界、以及其他類型的替換輸入或設(shè)計優(yōu)選來瀏覽布局和其他輸出。這些版本為設(shè)計者提供了交互地瀏覽來自各種輸入改變的輸出改變的能力。一些實施例可以允許設(shè)計者快速地從一個版本移動到另一個版本,而其他實施例可以允許設(shè)計者用一個動作來影響多個版本。給定版本可以包括用戶定義的項目狀態(tài)信息,其提供用戶定義的設(shè)計優(yōu)選、特征屬性、和項目屬性的獨特組。具有該輸入信息的不同組的不同版本可以對應(yīng)于一個備選的太陽能收集器安裝布局,其中每個版本的備選布局由獨特組的數(shù)據(jù)之間的差異產(chǎn)生。獨特組的數(shù)據(jù)還可以包括工作區(qū)狀態(tài)信息、靶框狀態(tài)信息、幾何對象信息。在一些實施例中,給定安裝項目的不同版本將共享工作點和/或特征信息,包括屬性。這些版本可以定義可能不同的工作區(qū)、靶框、和布局。在其他實施例中,多個版本可以不共享所有的特征信息,因此,不同的版本可以具有不同的特征、類別、或特征屬性。多個版本可以共享各種類型的輸入項目狀態(tài)信息,其中包括幾何對象、對象類別、以及特征屬性、 項目屬性。多個版本可以通過保持各獨立數(shù)據(jù)組之間的相關(guān)性來共享數(shù)據(jù)。這可以通過使多個版本參考共享項目狀態(tài)信息的相同副本來實現(xiàn),如通過參考存儲器中的相同位置,如通過指針。每種類型的輸入數(shù)據(jù)(例如,設(shè)計優(yōu)選、特征屬性、項目屬性等)可以被分為兩部分,其中一個或多個單獨的數(shù)據(jù)被共享和/或一個或多個單獨的數(shù)據(jù)不被共享。相關(guān)版本可以共享以上結(jié)合附圖IOA至圖IOB描述的分級結(jié)構(gòu)的一層或多層的信息。例如,一組相關(guān)版本可以共享工作點的一般描述及其物理特性,包括特征和特征的類別。多個版本可以在分級結(jié)構(gòu)的任意點處被彼此分支。在樹形分級結(jié)構(gòu)的情況下,多個版本之間可以共享分支點之上的元素,以使得對分支之上的數(shù)據(jù)的改變對兩個版本都適用??商鎿Q地,可以保持分支點之下的數(shù)據(jù)的兩個或多個副本,每個副本用于一個版本,以使得對一個版本中的分支點之下的數(shù)據(jù)的改變不影響其他版本(如果存在)中相應(yīng)的數(shù)據(jù)。在一些實施例中,版本間的分支點可以在工作區(qū)層。例如,圖13在1305處示出了三個版本。版本1305被示出為依賴于工作點從而共享工作點,因此,這些版本可以共享幾組編碼信息,包括設(shè)計規(guī)則1004、一些或全部特征1002及其類別和屬性等。在這種情況下, 對工作點1001或特征1002的單獨的改變(例如,將幾何對象重新分類為另一類特征,對特征屬性的改變等)將應(yīng)用于所有三個版本1305,成為所有三個版本的固有部分,并從而反映在所有三個版本1305中。在另一示例中,每個版本1305可以包含不同的和單獨的工作區(qū)1005、靶框1010、以及由布局引擎生成的相關(guān)子元素(這些子陣列等沒有示出)。該情況下,對工作區(qū)、靶框、或子元素的改變(例如,特定模塊的手動放置,或者串的布線圖案的改變)可能僅對其中執(zhí)行了改變的版本適用。這會是有用的,因為設(shè)計者可能希望項目描述 (例如特征類別)在所有版本中是不變的。不強(qiáng)迫設(shè)計者通過對特征屬性進(jìn)行手動的單獨改變來手動更新多個版本,而是在多個版本間提供共享類別的系統(tǒng)被布置來“自動”更新所有相關(guān)的版本。以此方式,項目數(shù)據(jù)結(jié)構(gòu)可以包括設(shè)計的備選版本,如上所述,其中每個備選版本包括獨立的(非共享的)項目狀態(tài)信息和共享的項目狀態(tài)信息。(非共享的)獨立的項目狀態(tài)信息針對每個版本而不同。這樣,當(dāng)與共享的項目狀態(tài)信息組合時,該狀態(tài)信息可以在不同版本之間定義不同的安裝設(shè)計。一些實施例可以允許在分級結(jié)構(gòu)的更高層或更低層處在多個版本之間分支。例如,版本可以在分級結(jié)構(gòu)的最高層分支,從而多個版本不共享任何公共的特征,包括特征類別??商鎿Q地,版本可以在低層分支,例如,在特定子陣列的串的層,例如,如果一個版本具有在南北向的行中組成串的模塊,同時備選版本具有主要組成為東西向的行的模塊。在這種情況下,這兩個版本可以共享分支點之上的元素(例如,通用的靶框設(shè)計優(yōu)選),以使得對一個版本的靶框設(shè)置的改變將影響其他版本。如圖14所示,根據(jù)一些實施例的系統(tǒng)可以提供一個用戶界面,用于瀏覽、創(chuàng)建、修改、和操作不同版本。特別地,可以提供一個或多個版本的列表1400。列表1400可以反映給定版本特有的分級結(jié)構(gòu)的一層或多層,如這里針對“版本1”所示。該界面可以提供諸如工具箱控件1450之類的機(jī)制,從而可以激活(或選擇)版本,以在用戶界面中顯示或進(jìn)行其他操作。如果顯示了分級結(jié)構(gòu)的層,如針對1405處的版本1所示,可以提供控件來允許用戶選擇子元素(例如1405處的版本1的第一靶框1410),從而對該子元素進(jìn)行操作,例如使其在直觀表示中突出顯示,顯示屬性框(未示出)、概要信息等。列表1400可以反映或示出各種版本的分支點。當(dāng)一個版本被激活時,該版本的內(nèi)容可以顯示在直觀表示中。因此,例如,當(dāng)一個版本被激活時,對應(yīng)于該版本的靶框、工作區(qū)、特征屬性、模塊布局、異常事件(參見以下描述)等都可以被顯示。對一個版本的激活可以引起布局引擎重新計算對應(yīng)于該版本(與該版本的屬性一致)的布局。激活還可以引起關(guān)于該版本的信息(例如概要信息)被顯示 (例如以狀態(tài)行或字段的形式)。隨著對工作點特征的創(chuàng)建和分類,以及隨著布局、異常事件等的生成,這些屬性和異常事件可以與當(dāng)前激活的版本關(guān)聯(lián)。當(dāng)對激活的版本進(jìn)行改變時,如果該改變是對與其他版本共享的元素進(jìn)行的,則該改變也可以反映在其他版本中。因此,例如,如果如上所述兩個版本共享特征類別信息, 則對工作點的給定特征的重新分類或?qū)ζ鋵傩缘男薷臅绊憙蓚€版本。反映在未激活版本中的改變可能引起與該版本相關(guān)的布局的重新計算。對于版本間未共享的信息,對激活版本的改變不影響其他版本??梢蕴峁┲T如新版本的工具箱控件1455之類的機(jī)制,從而可以創(chuàng)建新版本。可以通過抓取(并且隨后用工作點屬性填充)來創(chuàng)建新版本。可以是這樣的情況,即,通過默認(rèn)的方式來創(chuàng)建初始版本作為新項目的第一(僅在那時的)版本。可替換地或者附加地,新版本可以從之前版本繼承一些太陽能安裝項目屬性(如果存在),例如項目屬性和特征類別。因此,例如,如果已經(jīng)定義并分類了一組特征,新創(chuàng)建的版本可以繼承這些特征和類別。還可以提供諸如版本復(fù)制工具箱控件1460之類的機(jī)制,從而可以復(fù)制或備份版本??梢酝ㄟ^從原有布局或版本復(fù)制(例如,分支或備份)來創(chuàng)建一個新的版本。當(dāng)前激活的版本可以被用作從中分支新版本的版本。新復(fù)制的版本開始可以具有其同屬版本的所有或大部分屬性,例如,相同的工作點屬性、靶框及靶框?qū)傩?、異常事件等,此時備份版本初始地移植有至少一些與原始版本相同的狀態(tài)信息。隨后對新復(fù)制版本修改可以反映或可以不反映在原始版本中,這取決于(如圖13所示)是否對版本共享的元素進(jìn)行改變。在一些實施例中,用戶可以對與新版本或備份版本對應(yīng)的用戶定義的設(shè)計優(yōu)選和特征屬性的獨特組進(jìn)行改變,其不反映在與在新版本或備份版本之前創(chuàng)建的任意版本對應(yīng)的用戶定義的設(shè)計優(yōu)選和特征屬性的獨特組中??梢蕴峁┲T如版本刪除工具箱控件1465之類的機(jī)制,從而可以刪除版本,例如從顯示中刪除,以及潛在地從與該版本相關(guān)的存儲器中刪除。可以提供類似的機(jī)制(例如版本重命名工具箱控件1470)來對版本進(jìn)行重命名??梢蕴峁┥砂姹咎赜行畔⒌臋C(jī)制,或者以其他方式對版本進(jìn)行操作,例如提供部件概要工具箱控件1475來生成版本的部件概要(如以.CSV文件的形式),提供版本導(dǎo)出工具箱控件1479來將版本信息保存為另一種格式(例如數(shù)據(jù)庫記錄或記錄組),提供版本仿真工具箱控件1485來執(zhí)行和/或生成關(guān)于版本的仿真數(shù)據(jù),提供版本仿真導(dǎo)出工具箱控件1490來存儲或?qū)С霭姹痉抡嫘畔?例如,以.CSV文件的形式),等等。上述每種控件都可以應(yīng)用于當(dāng)前激活的版本、選擇的版本或版本組,或者應(yīng)用于所有版本。控件1477還可以用來生成項目的各種版本的概要。該版本概要包括關(guān)于每個版本的各種類型的比較信息,包括諸如太陽能收集器計數(shù)、成本、重量等之類的布局信息,諸如期望的性能、峰值功率、產(chǎn)生每千瓦時的成本、最小能量產(chǎn)出等之類的仿真數(shù)據(jù),以及諸如異常事件計數(shù)和類型等之類的其他類型的信息。關(guān)于版本中模塊的非法和缺陷的或其他不當(dāng)放置的信息可以被記錄在版本概要中。還可以關(guān)于每個版本的信息(諸如項目性能、 仿真信息、電功率、功率效率、成本、材料、物理尺寸、部件計數(shù)、和異常事件)來生成版本概要信息。也可以針對特定版本的子元素(諸如工作區(qū)、靶框、子陣列、模塊、串等)來生成并顯示該信息。圖15示出了一個采樣版本概要1500,其中概括了幾個版本1510。設(shè)計者可以將版本概要信息用于多種用途,包括在各種版本之間進(jìn)行選擇和/或識別版本中的錯誤或無效??梢詫姹靖乓畔?dǎo)出到外部文件或存儲器中。用戶可以選擇要顯示或?qū)С瞿姆N類型的版本概要信息??梢栽诙鄠€文件中(或者有利地,在單個文件中)存儲安裝項目的各種版本。與上述單個版本的安裝項目相同,具有多個版本的項目也可以以XML類型的格式來表示,其中頂層工作點節(jié)點可以包含特征及其類別的列表。工作點節(jié)點還可以包含多個版本節(jié)點, 版本節(jié)點又可以包含多個工作區(qū)和靶框節(jié)點。每個靶框節(jié)點可以包含子陣列節(jié)點,以此類推。與版本相關(guān)的數(shù)據(jù)(諸如版本概要信息、名稱等)可以與版本一起存儲。特別地,可以根據(jù)版本的不同而改變的設(shè)計輸出信息(諸如太陽能收集器布局信息、版本概要信息、仿真數(shù)據(jù)、合約信息、材料清單信息、異常事件信息等)可以與版本一起高速緩存或存儲,或者與版本位于相同的位置。在一些實施例中,可以提供“撤銷”控件(例如,工具欄圖標(biāo)或鍵盤快捷鍵)來允許設(shè)計者撤銷對項目和/或版本的一個或多個改變。在一些實施例中,當(dāng)設(shè)計者對版本進(jìn)行改變時,無論是對布局的修改、對對象的分類等,該改變都被實施例記錄。然后,控件可以允許用戶通過倒轉(zhuǎn)其效果來“撤銷”改變。在一些實施例中,可以通過對項目或版本的狀態(tài)拍快照來記錄改變。實施例可以通過恢復(fù)返回到快照來撤銷該改變??商鎿Q地,實施例可以記錄通過改變(或其逆)實現(xiàn)的狀態(tài)轉(zhuǎn)變。然后,可以通過倒轉(zhuǎn)該狀態(tài)轉(zhuǎn)變來實現(xiàn)“撤銷”。 以此方式,可以保持多級撤銷,如通過使用快照或轉(zhuǎn)變棧。類似地,可以實現(xiàn)重做功能,其中 “撤銷”動作引起逆(“重做”)動作的快照或轉(zhuǎn)變,例如通過將“撤銷”的逆推入重做棧。8.說明性示例圖16A至圖16E示出了來自根據(jù)本文所述的系統(tǒng)和方法的一些實施例的布局軟件的屏幕截圖示例。圖16A示出了用戶界面1600,其中具有與在房脊1602處相遇的兩個傾斜房頂表面對應(yīng)的幾何對象的工作點的直觀表示1601包含多個實體障礙物(通風(fēng)口 1603) 和線性障礙物(管子1604)。用戶界面1600還可以包括工具欄1605和屬性選項板1606。 該界面可以包括版本顯示(未示出)、版本概要(1620)、異常事件列表(未示出)、用于用戶輸入和系統(tǒng)輸出的字段1630,并且可以同時顯示上述部分。如圖16B所示,工具欄1605形式的控件可以為用戶提供將對象分類為特征(此處示出為房頂控件1610、實體障礙物控件1612、和線性障礙物控件1613)、以及在直觀表示中創(chuàng)建工作區(qū)邊界1611的能力,所述工作區(qū)定義了太陽能模塊可以放置的范圍??梢蕴峁┏蜂N對象分類的控件1614??梢蕴峁﹦?chuàng)建布局靶框的控件1615,同時提供生成實際布局的控件1616??梢蕴峁╋@示控件1625來選擇顯示哪個界面元素,例如異常事件列表、屬性選項板、版本概要、版本列表等。可以將布局實質(zhì)上限制到工作區(qū)邊界和靶框邊界的交叉部分, 并且可以至少部分地根據(jù)與靶框關(guān)聯(lián)的設(shè)計優(yōu)選組來生成布局。如圖所示,可以以彈出或滾改等的形式來與控件一起提供有用(但非限制的)文本。如圖16C所示,還可以提供包含實現(xiàn)許多相同功能的控件的菜單。如圖16D所示,屬性選項板可以允許用戶看見和/或調(diào)整與特定特征相關(guān)的屬性。圖16E示出了在一個直觀表示中生成PV模塊的布局的結(jié)果,該直觀表示包含兩個房頂對象1602、大到與每個房頂表面具有相同邊界的兩個工作區(qū)邊界、以及三個靶框邊界 (其中兩個是矩形靶框1650,在一個房頂和一個工作區(qū)的僅一部分上延伸,另一個是非矩形靶框1650A,在兩個房頂和工作區(qū)的一部分上延伸)。如圖所示,每個靶框中放置有一組模塊,符合與各房頂、工作區(qū)、和其中所包含的障礙物有關(guān)的布局規(guī)則。9.結(jié)論本領(lǐng)域技術(shù)人員將認(rèn)識到,上述歸類和規(guī)則的描述僅表示所附權(quán)利要求所定義的發(fā)明的一些實踐方法??梢允褂闷渌椒▉砘谂c工作點相關(guān)的布局要求在幾何對象之內(nèi)和周圍布置PV模塊,以實現(xiàn)類似的結(jié)果,例如表格、腳本、數(shù)據(jù)結(jié)構(gòu)等。如上所述或者如規(guī)則中心語言(例如LISP)中使用的那樣,規(guī)則可以是明確的和/或包括說明語句??商鎿Q地,可以在數(shù)據(jù)結(jié)構(gòu)、命令語句、程序流、程序構(gòu)造、放置和布置算法等中隱含地表達(dá)一個或多個“規(guī)則”。這里,規(guī)則被用作一種說明一般方法的方式,通過該一般方法,工具可以使用與任意對象關(guān)聯(lián)的信息來創(chuàng)建PV模塊布局。特定的規(guī)則(例如布局約束)可以與特定對象或特征和/或特征的特定類或類型明確關(guān)聯(lián),這種規(guī)則可以被定義為布局引擎的一部分并且隱含地鏈接到對象或類。這里所描述的系統(tǒng)、方法、和技術(shù)可以以計算機(jī)硬件、固件、軟件、或其組合的形式來實現(xiàn)。實現(xiàn)這些技術(shù)的系統(tǒng)可以包括適當(dāng)?shù)妮斎牒洼敵鼋M件、計算機(jī)處理器、和用于通過可編程處理器執(zhí)行的以機(jī)器可讀存儲器組件或介質(zhì)有形實現(xiàn)的計算機(jī)程序產(chǎn)品。可以通過可編程處理器執(zhí)行指令程序來執(zhí)行實現(xiàn)這些技術(shù)的處理,以通過操作輸入數(shù)據(jù)并生成適合的輸出來執(zhí)行期望的功能。這些技術(shù)有利地可以被實現(xiàn)為一個或多個計算機(jī)程序,該計算機(jī)程序可以在可編程系統(tǒng)上執(zhí)行,所述可編程系統(tǒng)包括至少一個耦合來從/向數(shù)據(jù)存儲器系統(tǒng)接收/發(fā)送數(shù)據(jù)和指令的可編程處理器、至少一個輸入組件、和至少一個輸出組件。每個計算機(jī)程序可以根據(jù)需要以高級程序編程語言或者面向?qū)ο蟮木幊陶Z言、或者以匯編或機(jī)器語言來實現(xiàn)。在任意情況下,該語言都是可以被編譯或解釋的語言。作為示例,合適的處理器包括通用和專用微處理器二者。通常,處理器從只讀存儲器和/或隨機(jī)訪問存儲器接收指令和數(shù)據(jù)。適合有形地實現(xiàn)計算機(jī)程序指令和數(shù)據(jù)的存儲器組件包括所有形式的非易失性存儲器,作為示例,包括諸如可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)、和閃存組件之類的半導(dǎo)體存儲器組件、諸如內(nèi)部硬盤和可移動盤之類的磁盤、磁光盤、以及壓縮盤只讀存儲器(CD-ROM盤)。上述任意之一都可以被專門設(shè)計的 ASIC(專用集成電路)補充或者合并。本文中所描述的各種數(shù)據(jù)結(jié)構(gòu)和方法步驟中的每一個的表示都可以有利地呈現(xiàn)(例如顯示或打印)到一個裝置(例如,屏幕、監(jiān)視器、或打印機(jī))上。盡管該公開描述了特定實施例和應(yīng)用,但是其他實施例和應(yīng)用對本領(lǐng)域普通技術(shù)人員來說也是顯而易見的,包括不提供本文所述所有特征和優(yōu)點的實施例和應(yīng)用,并且這些實施例也在本公開的范圍之內(nèi)。此外,選項和備選的所有列表和描述都被解釋為示例性的而非限制性的,列表是用來幫助說明的而不是試圖列舉所有可能的備選。本發(fā)明的范圍僅由所附權(quán)利要求來限定。表I 取決于項目設(shè)計的信息輸出采樣
輸出#典型的太陽能項目開發(fā)步驟1站點條件2設(shè)計簡圖3構(gòu)造繪圖和細(xì)節(jié)4部件列表5材料清單6構(gòu)造日程7成本估計8財務(wù)分析9能量仿真10建議11報價12展示13合約14子合約
權(quán)利要求
1.一種在計算機(jī)上生成太陽能收集器安裝設(shè)計的方法,包括提供安裝工作點的表示,所述表示包括用戶定義的項目狀態(tài)信息; 對用戶定義的項目狀態(tài)信息應(yīng)用規(guī)則,以確定關(guān)于太陽能收集器安裝設(shè)計的元數(shù)據(jù); 使用所述元數(shù)據(jù)生成一組設(shè)計異常事件,其中每個設(shè)計異常事件對由用戶定義的項目狀態(tài)信息違反了軟件編碼的規(guī)則而引起的異常事件狀況進(jìn)行編碼; 向用戶提供所述一組設(shè)計異常事件的表示;和針對每個設(shè)計異常事件,向用戶呈現(xiàn)可選項以便忽略該設(shè)計異常事件或者遵從該設(shè)計異常事件。
2.如權(quán)利要求1所述的方法,其中異常事件狀況的至少一個涉及由用戶的遺漏、違反法規(guī)、違反太陽能收集器制造者規(guī)范、違反客戶要求、違反物理空間約束、違反工程原理、和違反公司工程策略組成的組中的一個。
3.如權(quán)利要求1所述的方法,還包括在基于計算機(jī)的用戶界面中顯示所述一組設(shè)計異常事件的至少一些成員。
4.如權(quán)利要求1所述的方法,還包括保留用戶關(guān)于每個設(shè)計異常事件作出的動作的記錄。
5.如權(quán)利要求1所述的方法,其中隨后認(rèn)可用戶關(guān)于第一設(shè)計異常事件作出的動作。
6.如權(quán)利要求1所述的方法,其中隨后認(rèn)可對第一設(shè)計異常事件的忽略。
7.如權(quán)利要求1所述的方法,其中用戶能夠獲得的可選項還包括明確重載第一設(shè)計異常事件,以允許用戶表明該異常事件狀況是容許的。
8.如權(quán)利要求7所述的方法,其中隨后認(rèn)可用戶關(guān)于第一設(shè)計異常事件作出的明確重載。
9.如權(quán)利要求8所述的方法,還包括保留對認(rèn)可的記錄。
10.如權(quán)利要求1所述的方法,還包括從用戶接收足以修復(fù)第一異常事件狀況的遵從信息,以及使用該遵從信息來修改幾何對象或項目狀態(tài)信息中的至少一個。
11.如權(quán)利要求10所述的方法,還包括接收用戶的遵從信息之后從列表中去除對應(yīng)于第一異常事件狀況的第一設(shè)計異常事件。
12.如權(quán)利要求10所述的方法,還包括在歷史中記錄對用戶的遵從信息的接收。
13.如權(quán)利要求10所述的方法,其中用戶的遵從信息包括從由項目屬性、客戶屬性、設(shè)計優(yōu)選、工作區(qū)邊界、和靶框邊界組成的組中選出的至少一項。
14.如權(quán)利要求10所述的方法,其中用戶的遵從信息包括用戶針對系統(tǒng)的自動解決第一設(shè)計異常事件的命令,并且其中該方法還包括按照對關(guān)于安裝設(shè)計的第一異常事件狀況的去除來修改項目狀態(tài)信息。
15.如權(quán)利要求1所述的方法,還包括從第二用戶接收設(shè)計異常事件的認(rèn)可,并將該認(rèn)可記錄為所述一組設(shè)計異常事件的一部分。
16.如權(quán)利要求1所述的方法,還包括從第二用戶接收對設(shè)計異常事件的認(rèn)可,并將該認(rèn)可記錄為項目狀態(tài)信息的一部分。
17.如權(quán)利要求16所述的方法,還包括從所述一組設(shè)計異常事件中去除第一設(shè)計異常事件。
18.如權(quán)利要求1所述的方法,還依次包括接收用戶對項目狀態(tài)信息的修改、再次應(yīng)用規(guī)則以確定關(guān)于安裝設(shè)計的元數(shù)據(jù)、檢測與第一設(shè)計異常事件對應(yīng)的第一異常事件狀況不再存在、和去除來自用戶的設(shè)計異常事件的表示。
19.如權(quán)利要求1所述的方法,其中應(yīng)用規(guī)則以確定元數(shù)據(jù)還包括生成與安裝工作點對應(yīng)的太陽能收集器的布局。
20.如權(quán)利要求19所述的方法,其中項目狀態(tài)信息包含作為安裝工作點的特征的幾何對象的分類,并且其中應(yīng)用規(guī)則以確定元數(shù)據(jù)還包括生成與安裝工作點的特征的屬性對應(yīng)的太陽能收集器的布局。
21.如權(quán)利要求1所述的方法,其中應(yīng)用規(guī)則以確定元數(shù)據(jù)還包括根據(jù)由仿真數(shù)據(jù)和項目概要數(shù)據(jù)組成的組中的至少一個生成元數(shù)據(jù)。
22.如權(quán)利要求1所述的方法,其中項目狀態(tài)信息包括反映了不同版本的太陽能收集器安裝設(shè)計的項目版本信息。
23.如權(quán)利要求1所述的方法,其中項目狀態(tài)信息包括當(dāng)生成太陽能收集器安裝設(shè)計時要應(yīng)用的設(shè)計優(yōu)選。
24.如權(quán)利要求1所述的方法,其中項目狀態(tài)信息包括作為特征類的實例的幾何對象的分類以及分類后的對象的關(guān)聯(lián)的特征屬性。
25.—種為太陽能收集器安裝項目生成合約條款的方法,包括在計算裝置中提供安裝工作點的表示,所述表示包括幾何對象和項目狀態(tài)信息;對幾何對象和項目狀態(tài)信息應(yīng)用軟件編碼的規(guī)則以確定關(guān)于安裝設(shè)計的元數(shù)據(jù);使用元數(shù)據(jù)生成一組異常事件,異常事件的每一個對由于違反軟件中編碼的規(guī)則而引起的且關(guān)于安裝設(shè)計的異常事件狀況進(jìn)行編碼,異常事件提供了足以識別用于包括在合約中的條款的信息;和生成用于包括在合約中的條款的列表,其中所述條款對應(yīng)于一個或多個合約排除項。
26.如權(quán)利要求25所述的方法,其中用于包括在合約中的條款涉及有限保修。
27.如權(quán)利要求25所述的方法,其中用于包括在合約中的條款涉及免責(zé)聲明。
28.一種基于計算機(jī)的用戶界面,用于設(shè)計太陽能收集器安裝設(shè)計,包括太陽能收集器安裝設(shè)計的用戶界面的表示,該表示包括實質(zhì)根據(jù)項目狀態(tài)信息布置在一個表面上的太陽能收集器;設(shè)計異常事件的列表的表示,其中設(shè)計異常事件的至少一個對應(yīng)于與太陽能收集器安裝設(shè)計對軟件編碼設(shè)計規(guī)則的違反有關(guān)的異常事件狀況;和用戶界面控件,操作來允許用戶通過與設(shè)計異常事件交互來解決異常事件狀況,其中與異常事件的交互包括執(zhí)行由遵從設(shè)計異常事件和重載設(shè)計異常事件組成的組中的至少一個;其中允許用戶在解決異常事件狀況之前在用戶界面中執(zhí)行其它動作。
29.如權(quán)利要求觀所述的用戶界面,其中異常事件狀況涉及由用戶的遺漏、違反法規(guī)、 違反太陽能收集器制造者規(guī)范、違反客戶要求、違反工程原理、和違反公司工程策略組成的組中的一個。
30.如權(quán)利要求28所述的用戶界面,還包括操作來允許第二用戶通過認(rèn)可異常事件來解決異常事件狀況的控件。
31.如權(quán)利要求28所述的用戶界面,其中與設(shè)計異常事件的交互包括將數(shù)據(jù)提供到設(shè)計異常事件的字段中,該數(shù)據(jù)被用來修改項目狀態(tài)信息。
32.如權(quán)利要求觀所述的用戶界面,其中與設(shè)計異常事件的交互包括選擇一個用以自動調(diào)整項目狀態(tài)信息以便去除異常事件狀況的控件。
33.如權(quán)利要求觀所述的用戶界面,其中記錄了交互的至少一部分。
34.如權(quán)利要求33所述的用戶界面,其中所記錄的交互的一部分被記錄為太陽能收集器安裝設(shè)計的一部分。
35.如權(quán)利要求觀所述的用戶界面,還包括操作來接收對設(shè)計異常事件的認(rèn)可并將該認(rèn)可記錄為項目狀態(tài)信息的一部分的控件。
36.如權(quán)利要求觀所述的用戶界面,還包括操作來生成對設(shè)計異常事件的認(rèn)可的列表的控件。
37.如權(quán)利要求觀所述的用戶界面,還包括操作來生成與關(guān)于太陽能收集器安裝設(shè)計對設(shè)計規(guī)則的違反的異常事件狀況相對應(yīng)的合約排除項的列表的控件,合約排除項提供了足以識別用于包括在合約中的條款的信息。
38.如權(quán)利要求觀所述的用戶界面,其中在顯示裝置上同時顯示太陽能收集器安裝設(shè)計的表示和設(shè)計異常事件的表示。
39.如權(quán)利要求28所述的用戶界面,其中太陽能收集器包括光伏模塊。
全文摘要
實施例可以包括創(chuàng)建和編輯工作點的表示、創(chuàng)建各種數(shù)據(jù)對象、將這些對象分類為具有伴隨屬性和布局約束的各種類型的預(yù)定義的“特征”的系統(tǒng)和方法。作為分類的一部分或者補充,實施例可以包括創(chuàng)建、關(guān)聯(lián)和編輯這些對象的固有和非固有屬性的系統(tǒng)和方法。設(shè)計引擎可以將設(shè)計規(guī)則應(yīng)用于前述特征以生成一個或多個太陽能收集器安裝設(shè)計備選方案,包括生成一個或多個設(shè)計備選方案的物理布局或布置的屏幕表示和/或紙件表示。在一些實施例中,可以生成關(guān)于設(shè)計處理的元數(shù)據(jù),所述設(shè)計處理包括對特征分類和提供用戶輸入、生成布局、和隨后對那些布局進(jìn)行修改的處理。元數(shù)據(jù)可以包括關(guān)于項目狀態(tài)信息或設(shè)計中的異常事件狀況的信息。可以生成對應(yīng)于異常事件狀況的異常事件的列表,并且設(shè)計者可以以各種方式與這些異常事件交互,比如通過遵守規(guī)則來從異常事件列表中去除一項或者重載對規(guī)則的應(yīng)用。異常事件對于其它用戶的動作可以是非阻止的。
文檔編號G06F17/50GK102326163SQ201080008365
公開日2012年1月18日 申請日期2010年2月3日 優(yōu)先權(quán)日2009年2月20日
發(fā)明者亞歷山大·弗蘭坎, 加里·韋恩, 斯科特·萊曼, 朱爾斯·布倫納, 邁克爾·扎伊德曼 申請人:太陽能公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1