PDM系統(tǒng)持久狀態(tài)管理分析課件_第1頁
PDM系統(tǒng)持久狀態(tài)管理分析課件_第2頁
PDM系統(tǒng)持久狀態(tài)管理分析課件_第3頁
PDM系統(tǒng)持久狀態(tài)管理分析課件_第4頁
PDM系統(tǒng)持久狀態(tài)管理分析課件_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

PDM系統(tǒng)持久狀態(tài)管理分析飛行器并行工程軟件研發(fā)中心國防科技大學(xué)航天學(xué)院內(nèi)容提要一、PDM系統(tǒng)的持久狀態(tài)管理二、持久化框架的分析與設(shè)計(jì)三、CORBA的持久狀態(tài)服務(wù)11/27/2023內(nèi)容提要一、PDM系統(tǒng)的持久狀態(tài)管理1、持久化與持久狀態(tài)管理2、PDM系統(tǒng)中需持久化的對象3、持久狀態(tài)管理的任務(wù)與功能范圍11/27/2023內(nèi)容提要二、持久化框架的分析與設(shè)計(jì)1、框架的概念2、持久化框架概述3、持久化框架概要設(shè)計(jì)11/27/2023內(nèi)容提要三、CORBA的持久狀態(tài)服務(wù)1、概述2、對象到存儲機(jī)構(gòu)的映射3、數(shù)據(jù)定義4、數(shù)據(jù)訪問11/27/2023PDM系統(tǒng)的持久狀態(tài)管理持久化與持久狀態(tài)管理持久化 指的是將信息保存在持久性的存儲介質(zhì)中,如通過文件、數(shù)據(jù)庫方式保存在磁盤內(nèi)。持久狀態(tài)管理 就是管理對象的持久化,即管理對象狀態(tài)的持久化。11/27/2023PDM系統(tǒng)的持久狀態(tài)管理PDM系統(tǒng)中需持久化的對象 PDM系統(tǒng)的服務(wù)需要被持久化,以便永久保存系統(tǒng)及系統(tǒng)所管理的產(chǎn)品的相關(guān)信息。需持久化的信息不但存在于被PDM系統(tǒng)電子倉庫管理的文件內(nèi),還存在于系統(tǒng)運(yùn)行時產(chǎn)生的許多對象中,因此這些對象需要被持久化。需被持久化的對象主要有:非結(jié)構(gòu)化的產(chǎn)品數(shù)據(jù) 保存在文件中,通過電子倉庫管理。結(jié)構(gòu)化的產(chǎn)品數(shù)據(jù) 如的產(chǎn)品結(jié)構(gòu)定義、其相關(guān)的產(chǎn)品數(shù)據(jù),以及產(chǎn)品的配置情況等等,這些信息存在于一系列相關(guān)聯(lián)的對象中,需要持久化。11/27/2023PDM系統(tǒng)的持久狀態(tài)管理組織產(chǎn)品信息的相關(guān)對象 為了管理產(chǎn)品信息,PDM系統(tǒng)所定義的某些對象,如各種版本、迭代對象等。這些對象可能不直接包含產(chǎn)品數(shù)據(jù),但它們建立了產(chǎn)品數(shù)據(jù)間的結(jié)構(gòu)等關(guān)系,這些用于組織產(chǎn)品數(shù)據(jù)的對象也應(yīng)為持久的,以便這些關(guān)系能夠重建。與產(chǎn)品及其開發(fā)過程管理相關(guān)的對象 如人員、組織、權(quán)限對象,各種資格、有效性、語境對象等等。這些對象一經(jīng)建立,通常需要保存下來供以后使用。PDM系統(tǒng)運(yùn)行控制中的相關(guān)對象 如用于監(jiān)控系統(tǒng)運(yùn)行狀態(tài)的對象、日志對象等等。2.結(jié)構(gòu)化的產(chǎn)品數(shù)據(jù)11/27/2023PDM系統(tǒng)的持久狀態(tài)管理 以上PDM系統(tǒng)中需持久化的信息除了保存在文件中的非結(jié)構(gòu)化產(chǎn)品數(shù)據(jù)之外,都以對象形式存在,需將它們的信息保存到數(shù)據(jù)庫中。11/27/2023PDM系統(tǒng)的持久狀態(tài)管理持久狀態(tài)管理的任務(wù)與功能范圍PDM系統(tǒng)的持久狀態(tài)管理模塊實(shí)際上是指系統(tǒng)的持久化框架,它為對象持久化提供服務(wù),并且它本身是系統(tǒng)實(shí)現(xiàn)持久化的核心和基礎(chǔ),提供了一組完成對象持久化功能所需類的泛化超類的集合。PDM系統(tǒng)的持久狀態(tài)管理主要有以下兩方面的任務(wù):提供PDM系統(tǒng)對象持久化的統(tǒng)一模式 持久狀態(tài)管理為整個PDM系統(tǒng)對象的持久化提供一種解決方案或者模式,使得所有需持久化的對象都能按這種一致的模式來實(shí)現(xiàn)其狀態(tài)的持久化。統(tǒng)一管理PDM系統(tǒng)對象狀態(tài)的持久化 持久狀態(tài)管理模塊完成統(tǒng)一管理PDM系統(tǒng)各持久對象持久化的功能,或者說持久狀態(tài)管理模塊為PDM系統(tǒng)的各持久11/27/2023PDM系統(tǒng)的持久狀態(tài)管理 對象提供持久狀態(tài)管理服務(wù)。這些服務(wù)包括透明的數(shù)據(jù)庫連接訪問、數(shù)據(jù)更新、數(shù)據(jù)創(chuàng)建等,以及自動創(chuàng)建存儲PDM系統(tǒng)持久對象的數(shù)據(jù)庫模式。 所有按對象持久化統(tǒng)一模式設(shè)計(jì)的對象,均可以通過持久狀態(tài)管理服務(wù)實(shí)現(xiàn)對象狀態(tài)的持久化。11/27/2023持久化框架的分析與設(shè)計(jì)框架的概念工具箱 預(yù)定義的類庫,一組相關(guān)的、可復(fù)用的類的集合,提供了通用的功能。強(qiáng)調(diào)的是“代碼復(fù)用”,是面向?qū)ο蟓h(huán)境下的“子程序庫”。工具箱不強(qiáng)制應(yīng)用采用某個特定設(shè)計(jì),只是為應(yīng)用提供功能上的幫助。框架 框架是構(gòu)成一類特定軟件可復(fù)用設(shè)計(jì)的一組相互協(xié)作的類??蚣芤?guī)定了應(yīng)用的體系結(jié)構(gòu),定義了整體結(jié)構(gòu)、類和對象的劃分、各部分的主要責(zé)任、類和對象如何協(xié)作、以及控制流程??蚣苡涗浟似鋺?yīng)用領(lǐng)域的公共設(shè)計(jì)決策,使應(yīng)用設(shè)計(jì)者或?qū)崿F(xiàn)者集中精力于應(yīng)用本身的特定細(xì)節(jié)??蚣芨鼜?qiáng)調(diào)“設(shè)計(jì)復(fù)用”,盡管框架也常包含“代碼復(fù)用”。11/27/2023持久化框架的分析與設(shè)計(jì)框架與工具箱的根本區(qū)別“設(shè)計(jì)復(fù)用”導(dǎo)致了應(yīng)用和它所基于的軟件框架之間的反向控制,即遵循好萊塢法則,“不要調(diào)用我們,讓我們來調(diào)用你”(多態(tài)性和動態(tài)綁定)。使用工具箱時,應(yīng)用設(shè)計(jì)者應(yīng)設(shè)計(jì)實(shí)現(xiàn)應(yīng)用軟件的主體并調(diào)用想要復(fù)用的代碼。而使用框架時,應(yīng)用設(shè)計(jì)者應(yīng)該復(fù)用應(yīng)用的主體(框架),寫主體調(diào)用的代碼(應(yīng)用本身的特定細(xì)節(jié))。通常為了利用、自定義或擴(kuò)展框架服務(wù),需要框架的使用者去定義已存在的框架類的子類。對框架設(shè)計(jì)的要求 必須是適應(yīng)該領(lǐng)域所有應(yīng)用的通用體系結(jié)構(gòu),必須盡可能的靈活、可擴(kuò)充。其主要貢獻(xiàn)就在于它所定義的體系結(jié)構(gòu),對它的任何實(shí)質(zhì)性修改都會大大降低它所帶來的好處。11/27/2023持久化框架的分析與設(shè)計(jì)設(shè)計(jì)模式 面向?qū)ο筌浖脑O(shè)計(jì)經(jīng)驗(yàn)的記錄,描述了面向?qū)ο筌浖O(shè)計(jì)中不斷重復(fù)遇到的問題及其解決方案的核心,其目的是提高軟件的可復(fù)用性。設(shè)計(jì)模式是比框架更小的體系結(jié)構(gòu)元素設(shè)計(jì)模式比框架更抽象框架比設(shè)計(jì)模式更加特例化11/27/2023持久化框架的分析與設(shè)計(jì)持久化框架概述持久化對象 應(yīng)用程序的對象實(shí)例通常都需要存放在持久化的存儲機(jī)構(gòu)(如關(guān)系數(shù)據(jù)庫、面向?qū)ο蟮臄?shù)據(jù)庫或平面文件)中,每次使用時載入本地內(nèi)存。需要存儲在持久化存儲機(jī)構(gòu)中的對象稱為持久化對象。持久化對象服務(wù) 為應(yīng)用程序提供在持久化存儲機(jī)構(gòu)中存放和取回對象的服務(wù)。各類存儲機(jī)構(gòu)對持久化框架的需求對象數(shù)據(jù)庫:數(shù)據(jù)表示一致,都是面向?qū)ο蟮?,不需要額外的持久化服務(wù)11/27/2023持久化框架的分析與設(shè)計(jì)關(guān)系數(shù)據(jù)庫:面向記錄與面向?qū)ο蟮臄?shù)據(jù)表示不一致,需要特殊的對象-關(guān)系服務(wù)其它:如平面文件,同樣存在面向?qū)ο笈c非面向?qū)ο蟮臄?shù)據(jù)表示上的不匹配問題,也需要特定的持久化服務(wù)持久化框架為持久化對象提供的服務(wù)在持久化存儲機(jī)構(gòu)中存儲和取回對象具有可擴(kuò)展性,支持多種存儲機(jī)構(gòu),如關(guān)系數(shù)據(jù)庫、平面文件等對已存在的代碼盡量少做修改,避免給對象增加額外的持久化職責(zé)(超類的弊端)在后臺透明地存在易于使用11/27/2023持久化框架的分析與設(shè)計(jì)持久化框架的關(guān)鍵思想映射:類與其永久存儲器(如關(guān)系數(shù)據(jù)庫中的一個表)之間,對象屬性與記錄中的字段之間要建立映射關(guān)系對象身份:記錄與對象實(shí)例間建立聯(lián)系,記錄和對象要有唯一的對象標(biāo)識符具體化和非具體化(MaterializationandDematerialization):具體化是把持久化存儲器的非對象化的數(shù)據(jù)表示(如記錄)轉(zhuǎn)換為對象的動作,而非具體化則相反數(shù)據(jù)庫代理(Broker):純虛的數(shù)據(jù)庫代理類負(fù)責(zé)具體化和非具體化工作緩存(Cache):數(shù)據(jù)庫代理緩存具體化了的對象懶惰隨選具體化(Lazyon-demandMaterialization):并非一次性完成所有對象的具體化,而是隨時根據(jù)需求來完成11/27/2023持久化框架的分析與設(shè)計(jì)智能引用:懶惰隨選具體化通過使用稱為虛擬代理的智能引用機(jī)制實(shí)現(xiàn)復(fù)雜對象:如何表示和具體化具有復(fù)雜結(jié)構(gòu)的對象,比如與其它對象之間存在大量連接的對象對象的事務(wù)狀態(tài):根據(jù)對象的狀態(tài)與當(dāng)前事務(wù)的關(guān)系來進(jìn)行相應(yīng)處理,如知道某對象已被更新(弄臟),就可以決定是否需要對它進(jìn)行保存事務(wù)操作:提交(Commit)和回滾(Rollback)11/27/2023持久化框架的分析與設(shè)計(jì)持久化框架概要設(shè)計(jì)映射 用關(guān)系表來表示對象(對關(guān)系數(shù)據(jù)庫)。為每個持久化對象類定義一個表,簡單數(shù)據(jù)類型的對象屬性被映射為數(shù)據(jù)庫關(guān)系表的列。(下圖)anObjectdefaultMethod()datetime1/1/199710:002/2/199714:00datetime:anObjectdate=1/1/1997time=10:00:anObjectdate=2/2/1997time=14:00anObject表11/27/2023持久化框架的分析與設(shè)計(jì)

問題:關(guān)系模型要求屬性值是原子的,而對象可以引用其它復(fù)雜對象作為自己的屬性,這種非原子的屬性簡單的關(guān)系表不能處理,將留在后面給出解決方案。對象身份 將對象記錄一一對應(yīng)。對每個對象及其記錄分配一個對象標(biāo)識符OID,以區(qū)分不同的記錄和對象。(注意復(fù)制的對象與原對象不同) OID對某特定類型的對象來說必須是唯一的,最好是選擇全局唯一的標(biāo)識符,如16位長的UUID,或微軟的全球唯一標(biāo)識符GUID。每個關(guān)系數(shù)據(jù)庫表都以O(shè)ID作為主鍵,每個持久對象都直接或間接地?fù)碛幸粋€OID。(下圖)11/27/2023持久化框架的分析與設(shè)計(jì) 實(shí)際應(yīng)用中OID不一定放在持久化對象中,可以放在代理對象中(Proxy)。anObjectdefaultMethod()OIDdatetime:anObjectOID=xyz23date=1/1/1997time=10:00:anObjectOID=abc456date=2/2/1997time=14:00anObject表OIDdatetimexyz231/1/199710:00abc4562/2/199714:0011/27/2023持久化框架的分析與設(shè)計(jì)數(shù)據(jù)庫代理 如果持久化對象類負(fù)責(zé)自身的具體化和非具體化:持久化對象類與持久化存儲機(jī)構(gòu)之間存在信息耦合(違背低耦合原則)在一個毫無關(guān)系的新的范圍內(nèi)增加對象的職責(zé)(違背高內(nèi)聚的原則) 數(shù)據(jù)庫代理模式設(shè)計(jì)一個類來負(fù)責(zé)具體化、非具體化、對象緩存等工作,通過加入中介者的方式支持高內(nèi)聚和低耦合。對每個不同的持久化對象類都定義一個相應(yīng)的代理類,而且對不同的存儲機(jī)構(gòu)有不同種類的代理。(下圖)11/27/2023持久化框架的分析與設(shè)計(jì)11/27/2023持久化框架的分析與設(shè)計(jì)框架設(shè)計(jì)的核心-模板方法模式關(guān)鍵是好萊塢準(zhǔn)則和反向控制,即父類調(diào)用子類的方法。在父類中定義一個模板方法,在其中定義算法的基本框架。模板方法調(diào)用其它方法,其中一些是可在子類中被覆蓋的操作(純虛)。子類通過覆蓋父類的可變方法,在方法中增加了子類自己獨(dú)特的行為特征。實(shí)現(xiàn)是基于面向?qū)ο蟪绦蛟O(shè)計(jì)的多態(tài)性和動態(tài)綁定機(jī)制。 (下圖)11/27/2023持久化框架的分析與設(shè)計(jì)11/27/2023持久化框架的分析與設(shè)計(jì) 特點(diǎn):在抽象超類中使用模板方法,定義了框架的可變和不可變的部分。在緩存中查找和具體化對象的模式不變,但具體化的細(xì)節(jié)根據(jù)存儲機(jī)構(gòu)類型和對象數(shù)據(jù)結(jié)構(gòu)的不同是可變的可以在框架中定義和添加子類,定義對不同細(xì)節(jié)的處理子類中對“基本操作”的定義完成了被繼承了的模板方法 好處:可擴(kuò)展,能適應(yīng)各種情況對不同情況實(shí)現(xiàn)統(tǒng)一處理,屏蔽了具體細(xì)節(jié)很強(qiáng)的可重用性11/27/2023持久化框架的分析與設(shè)計(jì)緩存管理 為提高性能,應(yīng)當(dāng)緩存已被具體化的對象。由數(shù)據(jù)庫代理負(fù)責(zé)維持緩存中的對象信息。根據(jù)對象在當(dāng)前事務(wù)語境中所處的狀態(tài)將它們保存在不同的緩存中,代理負(fù)責(zé)維護(hù)6個緩存:新干凈緩存:新對象,尚未被更新舊干凈緩存:從數(shù)據(jù)庫具體化而來的舊的對象,尚未被更新新臟緩存:新的對象,已被更新舊臟緩存:從數(shù)據(jù)庫具體化而來的舊的對象,已被更新新刪除緩存:新的對象,將要被刪除舊刪除緩存:從數(shù)據(jù)庫具體化而來的舊的對象,將要被刪除 (前圖)11/27/2023持久化框架的分析與設(shè)計(jì)智能引用代理前述方案中,客戶必須知道對象OID及特定的Broker,才能具體化服務(wù)對象,而這些對客戶應(yīng)該是透明的??梢酝ㄟ^對象的智能引用代理(Proxy)實(shí)現(xiàn)對象具體化過程對客戶的透明化。智能引用代理是一個輕量級的對象,來代表可被具體化的對象,它實(shí)現(xiàn)了與實(shí)際對象一樣的接口,使用橋模式將接口定義與實(shí)現(xiàn)分離,從客戶端看來它彷佛就是實(shí)際的對象智能引用代理可以將對象的具體化過程推遲到對象真正需要時再進(jìn)行,稱為懶惰隨選具體化。智能引用代理負(fù)責(zé)懶惰隨選具體化過程,它需要知道實(shí)際的主體對象及其數(shù)據(jù)庫代理。把所有對象的智能引用代理的這種職責(zé)抽象出來,建立一個泛化的抽象虛擬代理超類,由它來保存對象OID、管理實(shí)際對象及其數(shù)據(jù)庫代理。(下圖)11/27/2023持久化框架的分析與設(shè)計(jì)11/27/2023持久化框架的分析與設(shè)計(jì)11/27/2023持久化框架的分析與設(shè)計(jì)虛擬代理和數(shù)據(jù)庫代理虛擬代理和數(shù)據(jù)庫代理協(xié)作來完成對象的具體化過程,這一過程基于由代理所維護(hù)的OID使用工廠方法模式,虛擬代理可以獲得對象數(shù)據(jù)庫代理的唯一實(shí)例對所有對象的請求都通過代理Proxy,而不直接引用對象(下圖)11/27/2023持久化框架的分析與設(shè)計(jì)11/27/2023持久化框架的分析與設(shè)計(jì)復(fù)雜對象的具體化考慮不但包含簡單屬性還與其它對象有關(guān)聯(lián)的對象。在關(guān)系數(shù)據(jù)庫中對象間的關(guān)聯(lián)可用關(guān)系表來表示。有一對一、一對多、多對多關(guān)聯(lián),都可以建立關(guān)聯(lián)表,記錄關(guān)系中每個對象的OID。復(fù)雜對象具體化時要考慮具體化的關(guān)系層次,這要根據(jù)系統(tǒng)特點(diǎn)和性能需求綜合考慮。最簡單的是100%請求式具體化。各層對象的具體化都是通過其對象代理Proxy實(shí)現(xiàn)的。11/27/2023持久化框架的分析與設(shè)計(jì)事務(wù)操作提交commit(執(zhí)行)回滾rollback(恢復(fù)原狀) 對象的事務(wù)狀態(tài):新干凈、舊干凈、新臟、舊臟、新刪除、舊刪除,分別放在對應(yīng)的緩存中。 對象屬性被更改,它就會變臟,事務(wù)狀態(tài)即更改。對象事務(wù)狀態(tài)改變時它將被移動到新事務(wù)狀態(tài)對應(yīng)的緩存中。 根據(jù)對象的事務(wù)狀態(tài)不同,事務(wù)操作具體執(zhí)行情況不同。11/27/2023CORBA的持久狀態(tài)服務(wù)概述CORBA的持久狀態(tài)服務(wù)(PersistentStateService,簡稱PSS)為使用各種類型的數(shù)據(jù)存儲方式如文件、數(shù)據(jù)庫等提供了統(tǒng)一的API,使得CORBA對象能夠方便地持久化。其中狀態(tài)即是指持久化對象的屬性。CORBA對象通過外部接口為客戶提供服務(wù),通過內(nèi)部接口來訪問數(shù)據(jù)存儲。PSS服務(wù)就是針對這一內(nèi)部接口的,相當(dāng)于三層C/S模式中的應(yīng)用邏輯層到數(shù)據(jù)層的接口??蛻魞H訪問服務(wù)對象的外部接口,無法知道服務(wù)對象是否使用了PSS服務(wù)。(下圖)11/27/2023CORBA的持久狀態(tài)服務(wù)11/27/2023CORBA的持久狀態(tài)服務(wù)對象到存儲機(jī)構(gòu)的映射實(shí)現(xiàn)對象的持久化,首先必須將對象系統(tǒng)的數(shù)據(jù)模式映射到存儲機(jī)構(gòu)的數(shù)據(jù)模式,如面向?qū)ο髷?shù)據(jù)庫、關(guān)系數(shù)據(jù)庫、文件系統(tǒng)等。PSS服務(wù)中,將持久信息作為storageobjects存儲在storagehomes中,而storagehomes又保存在datastore中。Datastore是一個管理數(shù)據(jù)的實(shí)體,如數(shù)據(jù)庫、一系列文件、關(guān)系數(shù)據(jù)庫的一個模式等。為了管理storageobject,程序中必須有一個對象來代表它,稱為一個storageobjectinstance。storageobjectinstance與datastore中的storageobject進(jìn)行綁定,從而可以直接與這一storageobject的狀態(tài)關(guān)聯(lián)。與storageobject建立連接后的storageobjectinstance稱為storageobjectincarnation(化身)。11/27/2023CORBA的持久狀態(tài)服務(wù)同樣,程序中存在對應(yīng)于storagehome的storagehomeinstance對象。storagehomeinstance對象由catalogs提供。以關(guān)系數(shù)據(jù)庫來看,datastore就相當(dāng)于數(shù)據(jù)庫,storagehome相當(dāng)于數(shù)據(jù)庫中的表,而storageobject對應(yīng)于數(shù)據(jù)庫表中的記錄。而storageobject與對象系統(tǒng)中的持久化對象相對應(yīng)。這樣就實(shí)現(xiàn)了對象數(shù)據(jù)到存儲機(jī)構(gòu)的映射。(下圖)11/27/2023CORBA的持久狀態(tài)服務(wù)11/27/2023CORBA的持久狀態(tài)服務(wù)數(shù)據(jù)定義 CORBA的PSS服務(wù)使用持久狀態(tài)定義語言PSDL來定義datastore模式及相應(yīng)的storageobjectinstances的應(yīng)用編程接口。也可直接使用編程語言定義,稱為TransparentPersistence。 PSDL是IDL的一個超集,遵從IDL的語法,主要增加了一些關(guān)鍵字和四個新的結(jié)構(gòu):abstractstoragetype、abstractstoragehome、storagetype和storagehome。abstractstoragetype和abstractstoragehomeabstractstoragetype用來定義storageobject,abstractstoragehome用來定義storagehome。abstractstoragetype可以具有狀態(tài)成員和操作,而abstractstoragehome只能有操作,沒有狀態(tài)成員,但可以定義該storagehome的關(guān)鍵字。11/27/2023CORBA的持久狀態(tài)服務(wù)Storageobject的定位、創(chuàng)建等都可通過定義在存儲(或?qū)⒁鎯Γ┰搒torageobject的storagehome上的操作來完成。storagetype和storagehomeStoragetype和storagehome分別定義了storageobject和storagehome的實(shí)現(xiàn),它們分別實(shí)現(xiàn)(Implement)了abstractstoragetype和abstractstoragehome。(個人理解這里的實(shí)現(xiàn)是將通用的數(shù)據(jù)存儲模式進(jìn)一步特化到某種特定的數(shù)據(jù)存儲描述,如文件或關(guān)系數(shù)據(jù)庫、Oracle或SQLServer)。abstractstoragehome與abstractstoragetype、storagehome與storagetype是相互對應(yīng)的,每種storagehome只能用來存儲特定storagetype的storageobject。11/27/2023CORBA的持久狀態(tài)服務(wù)abstractstoragetype和abstractstoragehome允許多重繼承和鉆石

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論