具有基本功能的矢量绘图软件实验报告_第1页
具有基本功能的矢量绘图软件实验报告_第2页
具有基本功能的矢量绘图软件实验报告_第3页
具有基本功能的矢量绘图软件实验报告_第4页
具有基本功能的矢量绘图软件实验报告_第5页
已阅读5页,还剩17页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、题目具有基本功能的矢量绘图软件院、系(部)专业及班级 学号姓名日期1题目要求使用VS环境编写MFC1程序,制作一个具有基本功能的矢量绘图软件。2需求分析教育资料本实验的 ”矢量绘图 ”软件是一个具有Office 视觉样式的单文档应用程序,在应用程序的主框架窗口中包含一个Ribbon 功能区,其中有两个标签选项卡: “主页”和“绘图” 。当选择“绘图”选项卡后, 将列出一些简单的绘图工具。 选择某个绘图工具后,既可以再客户区绘制相应的图形;单击面板上的“画笔颜色”或“填充颜色”按钮后,将淡出一个颜色对话框以分别设置绘图的颜色及填充图形的颜色,而当单击“文本” 按钮后,可以在客户区输入文本内容。3

2、 总体设计3.1 业务逻辑设计3选择绘图工具用户开始绘图是否更改颜色选择颜色绘制图形NC是否输入文字描述是否继续绘制图形输入文字是否输入文字描述二输出显示.3.2界面逻辑设计使用VS新建项目,选择 VC+颈下白M M MFC项目类型,在弹出的“应用程序类型”界面中选择如图所示,然后进行一系列的设置后生成所需界面。FC应用程序向导-MFCApplication6应用程序类型橇述应用程序推型 复含文档支持 文档模板属性数据庠支持 用户界面功能 高级功能 生成的美应用程序类型.'单个文档电)B舒义档电工反选项卡式文档急于对话据Q)使用HTML对话框©无墙醐MFC控件.嘴个顶线文档/

3、文档,视圄结构支持任)7安全开发生命周期(SDL)检置CC)资源语言二中文值体,中国),项目类型MFC标准(A),Windi资源管理罟Q Vi lUfcl Stud o (0)Offi m (J)视觉样式和颜色(X).Visual Studio 2008.M启用相宽样式切换也)MFC的使用:A在共享DLL中使用MFCQJ)在静态库中使用MFC-使用 Uni cod* 犀®上一步上一步 藕 取消所生成界面如图:3.3数据库设计(如涉及数据库写这一部分)数据库设计这里只给出表结构4详细设计MyDrawlllview.h# pragma once#include "Draw.h&

4、quot;# define SHAPE NULL 0# define SHAPE PEN# define SHAPE_TEXT 2# define SHAPE LINE 3# define SHAPE_RECT 4# define SHAPE ELLIPSE 5# define SHAPE_CIRCLE 6#define SHAPE_ERASER 7class CMydrawlllView : public CView protected : /仅从序列化创建CMydraw111View();DECLARE_DYNCREATE(CMydraw111View)const;BOOL m_bDraw

5、Shape;CPoint m ptOrigin;/ 直线起始点CPoint m_ptPrv; / 直线终止点/重写public :virtual void OnDraw(CDC* pDC); / 重写以绘制该视图virtual BOOL PreCreateWindow(CREATESTRUCT& cs); public :virtual CMydraw111View();#ifdef _DEBUGvirtual void AssertValid() const;virtual void Dump(CDumpContext& dc) const;#endifprotected :

6、afx_msg void OnFilePrintPreview();afx_msg void OnRButtonUp(UINT nFlags, CPoint point);afx msg void OnContextMenu(CWnd* pWnd, CPoint point);DECLARE_MESSAGE_MAP() public :int m nDrawShape; 绘图类型COLORREF m_crDrawColor;COLORREF m_crFillColor;afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);afx msg voi

7、d OnDrawPen();afx msg void OnDrawLine();afx_msg void OnUpdateDrawPen(CCmdUI *pCmdUI);afx msg void OnUpdateDrawLine(CCmdUI *pCmdUI);afx msg void OnDrawColor();afx_msg void OnFillColor();afx msg void OnLButtonDown(UINT nFlags, CPoint point);afx_msg void OnMouseMove(UINT nFlags, CPoint point);afx msg v

8、oid OnLButtonUp(UINT nFlags, CPoint point);BOOL m bShowCaret;BOOL m_bInputTEXT;POINT m ptCaretPos;CString m strTextBuf;LOGFONT m_lfTextFont;afx msg void OnSetFocus(CWnd* pOldWnd);afx_msg void OnKillFocus(CWnd* pNewWnd);afx_msg void OnDrawText();afx msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFla

9、gs);afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);afx msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);afx msg void OnDrawRect();afx_msg void OnUpdateDrawRect(CCmdUI *pCmdUI);afx msg void OnDrawEllipse();afx msg void OnUpdateDrawEllipse(CCmdUI *pCmdUI);afx_msg v

10、oid OnDrawCircle();afx msg void OnUpdateDrawCircle(CCmdUI *pCmdUI);afx msg void OnDrawEraser();afx msg void OnUpdateDrawEraser(CCmdUI *pCmdUI);afx msg void OnUpdateDrawText(CCmdUI *pCmdUI);#ifndef _DEBUG / MydrawlllView.cpp 中的调试版本inline CMydrawlllDoc* CMydraw111View:GetDocument() const return reinte

11、rpret cast<CMydraw111Doc*>(m pDocument); #endifMyDrawlllview.cpp#include "stdafx.h"/ SHARED_HANDLERS!以在实现预览、缩略图和搜索筛选器句柄的/ ATL项目中进行定义,并允许与该项目共享文档代码。#ifndef SHARED_HANDLERS#include "Mydrawlll.h"#endif#include "MydrawlllDoc.h"#include "MydrawlllView.h#include &q

12、uot;Draw.h"#ifdef _DEBUG#define new DEBUG_NEW#endif/ CMydrawlllViewIMPLEMENT_DYNCREATEydraw111View CView)BEGIN MESSAGE MCMydraw111View CView)ON_WM_CONTEXTM ENUON_WM_RBUTTQNUPON_WM_CREATEON_COMMAND_DRAW_PE & CMydraw111ViewOnDrawPen)ON COMMAND DRAW LIN,E& CMydraw111ViewOnDrawLine)ON UPDAT

13、E COMMANDDUDRAW PEN CMydraw111ViewOnUpdateDrawPen)ON_UPDATE_COMMANDDUDRAW_LINE CMydraw111View:OnUpdateDrawLine)ON COMMAND DRAW COLORCMydraw111ViewOnDrawColor)ON COMMAND FILL COLOR& CMydraw111ViewOnFillColor)ON_WM_LBUTTOND)OWNON_WM_MOUSEMOVEON_WM_LBUTTON UPON_WM_SETFOC USON WM KILLFOCUSON_COMMAND

14、_DRAW_TEX& CMydrawlllViewOnDrawText)ON WM CHARON_WM_SETCURSORON_WM_ACTIVATEON COMMAND DRAW RECT CMydrawlllViewOnDrawRect)ON UPDATE COMMANDDUDRAW REC&T CMydraw111View:OnUpdateDrawRect)ON_COMMAND_DRAW_ELLIPS & CMydrawlllViewOnDrawEllipse)ON UPDATE COMMANDDUDRAW ELLIPS & CMydrawlllViewO

15、nUpdateDrawEllipse)ON UPDATE COMMAND UDRAW CIRCL& CMydraw111View:OnUpdateDrawCircle)ON_COMMAND_DRAW_ERASERCMydraw111ViewOnDrawEraser)ON UPDATE COMMANDDUDRAW ERASERCMydraw111View:OnUpdateDrawEraser)ON UPDATE COMMANDDUDRAW TEXT CMydraw111View:OnUpdateDrawText) END_MESSAGE_MAP/ CMydrawlllView 构造/析构

16、CMydraw111ViewCMydraw111View()/ TODO:在此处添加构造代码CMydraw111ViewCMydraw111View()BOOLCMydraw111ViewPreCreateWindow( CREATESTRUCEs)/ TODO:在此处通过修改/ CREATESTRUCT cs来修改窗口类或样式return CView:PreCreateWindow( cs);/ CMydraw111View 绘制void CMydraw111ViewOnDraw( CDC pDC CMydraw111DocpDoc = GetDocument();ASSERT VAL(pD

17、oc); if (!pDoc) return ;CDCMemDC;CBitmap MemBitmap;CRect rect;GetClientRect(&rect);MemDC.CreateCompatibleDC(NULI);MemBitmap.CreateCompatibleBitmap( pDC,rect.right,rect.bottom);CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);MemDC.F川SolidRect(0,0,rect.Width(),rect.Height(),RGB255,255,255);/直线

18、绘制代码int nIndex=pDoc->GetNumLines(); / 取得线段数量 TRACE"nIndex1=%dn" ,nIndex); / 调试程序7/循环画出每一段线段while (nIndex-)TRACE'nIndex2=%dn" ,nIndex);pDoc->GetLine(nIndex)->Draw(&MemDC);SRCCOPY/其余划线代码pDC>BitBlt(0,0,rect.right,rect.bottom,&MemDC,0,0,/ TODO:在此处为本机数据添加绘制代码void CM

19、ydraw111ViewOnRButtonUp( UINT/* nFlags */, CPoint point )1ClientToScreen(& point );OnContextMenu(this , point );void CMydraw111ViewOnContextMenu( CWnd /* pWnd */ , CPoint point ) #ifndef SHARED HANDLERStheApp.GetContextMenuManager()->ShowPopupMenu( IDR POPUP EDJTpoint .x, point .y, this TRUE

20、#endif / CMydrawlllView 诊断#ifdef DEBUGvoid CMydraw111ViewAssertValid()constCView:AssertValid();void CMydraw111ViewDump( CDumpContex& dc) const CView:Dump( dc);CMydraw111Doc CMydraw111ViewGetDocument() const / 非调试版本是内联的 ASSER(m pDocument->IsKindOf( RUNTIME CLASCMydraw111Do);return ( CMydraw111

21、DoC)m_pDocument;#endif /_DEBUG/ CMydraw111View 消息处理程序int CMydraw111View:OnCreate( LPCREATESTRUCCreateStruct )if ( CView:OnCreate( lpCreateStruct ) = -1) return -1;m_nDrawShapeSHAPE_PENm_crDrawColor=RG(0,0,0); / 黑色m crFillColor= RG(255,255,255);/ 白色m bDrawShape=ALSEm strTextBuf=""m bInputTE

22、XT=FALSE m_bShowCaret=FALSE m ptCaretPos=CPoint (0,0); memset(&m lfTextFont,0, sizeof (LOGFONT m lfTextFont.lfHeight=-13;m_lfTextFont.lfCharSet= GB2312_CHARSET lstrcpy (m_lfTextFont.lfFaceName,_T("宋体");return 0;void CMydraw111ViewOnDrawPen()/ TODO:在此添加命令处理程序代码 m_nDrawShapeSHAPE_PEN if

23、(m bShowCaret)HideCaret();m_bShowCaret=FALSE void CMydraw111ViewOnDrawLine(),/ TODO:在此添加命令处理程序代码 m nDrawShapeSHAPE LINEvoid CMydraw111ViewOnDrawRect()m_nDrawShapeSHAPE_RECT void CMydraw111ViewOnDrawEllipse()m_nDrawShapeSHAPE_ELLIPSE void CMydraw111ViewOnDrawCircle()m_nDrawShapeSHAPE_CIRCLE/ TODO:在此添

24、加命令处理程序代码 void CMydraw111ViewOnDrawEraser()m_nDrawShapeSHAPE_ERAS;ER/ TODO:在此添加命令处理程序代码 void CMydraw111ViewOnUpdateDrawEraser( CCmdU* pCmdU) pCmdU->SetCheck(m nDrawShape=SHAPE ERASE R/ TODO:在此添加命令更新用户界面处理程序代码 void CMydraw111ViewOnUpdateDrawCircle( CCmdU* pCmdU) pCmdU->SetCheck(m nDrawShape=SHA

25、PE CIRCLE/ TODO:在此添加命令更新用户界面处理程序代码 void CMydraw111ViewOnUpdateDrawEllipse( CCmdU* pCmdU) pCmdU->SetCheck(m nDrawShape=SHAPE ELLIPSE void CMydraw111ViewOnUpdateDrawRect( CCmdU* pCmdU)I pCmdU->SetCheck(m nDrawShape=SHAPE RECT void CMydraw111ViewOnUpdateDrawPen( CCmdU* pCmdU)pCmdU->SetCheck(m_

26、nDrawShape=SHAPE_PEN/ TODO:在此添加命令更新用户界面处理程序代码void CMydraw111ViewOnUpdateDrawLine( CCmdU* pCmdU)IpCmdU->SetCheck(m_nDrawShape=SHAPE_LINE/ TODO:在此添加命令更新用户界面处理程序代码 void CMydrawlllViewOnDrawC010ro / TODO:在此添加命令处理程序代码 CMFCColorDialog dlg(m_crDrawColor); if (dlg.DoModal()!= IDOK) return ;m_crDrawColor=

27、dlg.GetColor();void CMydraw111ViewOnFillColor()/ TODO:在此添加命令处理程序代码 CMFCColorDialog dlg(m crFillColor); if (dlg.DoModal()!= IDOK) return ; m_crFillColor=dlg.GetC010r();void CMydraw111ViewOnLButtonDown( UINT nFlags , CPoint point ) / TODO:在此添加消息处理程序代码和/或调用默认值if (m_nDrawShape!=SHAPE_TEXTm bDrawShapeTRU

28、E/ 开始绘图switch (m nDrawShape)case SHAPE_LINEm ptOrigin=m ptPrv= point ;break;case SHAPE_PE Nm ptOrigin=m_ptPrv= point ;break;default :m_ptOrigin=m_ptPrv= point ;break;SetCapture();else /输出文本m_ptCaretPos= point ;SetCaretPos( point );if (!m_bShowCaret)ShowCaret();m strTextBuf=""m_bShowCaret=T

29、RUEm bInputTEXT=TRUE m_bDrawShape=ALSECView:OnLButtonDown( nFlags , point );void CMydraw111ViewOnMouseMove(UINT nFlags , CPoint point ) / TODO:在此添加消息处理程序代码和/或调用默认值if (m bDrawShape) CClientDC dc( this );CPen*pOldPen,pen;pen.CreatePen( PS_SOLID1,m_crDrawColor);pOldPen=(CPen*)dc.SelectObject(&pen);

30、CBrush *pOldBrush,brush;brush.CreateSolidBrush(m_crFillColor);pOldBrush=( CBrush*)dc.SelectObject(&brush);dc.SetROP2(R2_NOTXORP)ENswitch (m nDrawShape)case SHAPE_LINEdc.MoveTo(m ptOrigin);dc.LineTo(m ptPrv);dc.MoveTo(m ptOrigin);dc.LineTo( point );m_ptPrv=point ;break;case SHAPE_PENm_ptPrv.x= po

31、int .x;m_ptPrv.y= point .y;dc.MoveTo(m_ptOrigin);dc.LineTo(m ptPrv);m_ptOrigin.x=m_ptPrv.x;m_ptOrigin.y=m_ptPrv.y;m_ptPrv= point ;break;case SHAPE_RECTdc.Rectangle( CRect(m ptOrigin,m ptPrv);dc.Rectangle( CRect(m_ptOrigin, point );m_ptPrv= point ;break;case SHAPE_CIRCL Em ptPrv.y=m ptPrv.x-m ptOrigi

32、n.x+m ptOrigin.y;dc.Ellipse(CRect(m ptOrigin,m ptPrv);point .y= point .x-m_ptOrigin.x+m_ptOrigin.y;dc.Ellipse(CRect(m ptOrigin, point );m_ptPrv=point ;case SHAPE ELLIPSEdc.Ellipse(CRect(m ptOrigin,m ptPrv);dc.Ellipse( CRect(m_ptOrigin, point );m ptPrv=point ;break;case SHAPE_ERASERCBrush brush( RGB2

33、55,255,255);/ 创建一个白色画刷CClientDC dc( this ); /创建并获得设备描述表CRect rect;rect.top= point .y-8;rect.left= point .x-8;rect.bottom=rect.top+8;rect.right=rect.left+8;dc.FillRect(rect,&brush); /利用白色画刷填充鼠标拖拽过程中形成的矩形区域 break; dc.SelectObject(pOldPen); dc.SelectObject(pOldBrush); brush.DeleteObject(); pen.Dele

34、teObject(); CView:OnMouseMove(nFlags , point );void CMydraw111ViewOnLButtonUp( UINT nFlags, CPoint point) / TODO:在此添加消息处理程序代码和/或调用默认值if (m bDrawShape) CMydraw111Do(*pDoc=GetDocument();ASSERT VAL(pDoc);switch (m_nDrawShape)case SHAPE LINEpoint );pDoc->AddLine(m_crDrawColor,m_crFillColor,m_ptOrigin

35、, break;ReleaseCapture();m bDrawShape=ALSE CView:OnLButtonUp( nFlags , point );void CMydraw111ViewOnSetFocus( CWnd pOldWnd CView:OnSetFocus( pOldWnd;CreateSolidCaret(2,-m_lfTextFont.lfHeight);SetCaretPos(m ptCaretPos);if (m_bShowCaret)ShowCaret();/ TODO:在此处添加消息处理程序代码 void CMydraw111ViewOnKillFocus(

36、CWnd pNewWr)d CView:OnKillFocus( pNewWr)d m_ptCaretPos=GetCaretPos(); if (m bShowCaret)HideCaret();DestroyCaret();13/ TODO:在此处添加消息处理程序代码void CMydraw111ViewOnDrawText()/ TODO:在此添加命令处理程序代码 m_nDrawShapeSHAPE_TEXTif (m bShowCaret)HideCaret(); m_bShowCaret=FALSEm strTextBuf=""void CMydraw111Vie

37、wOnUpdateDrawText( CCmdU* pCmdU)I pCmdU->SetCheck(m_nDrawShape=SHAPE_TEXT/ TODO:在此添加命令更新用户界面处理程序代码 void CMydraw111ViewOnChar( UINT nChar, UINT nRepCnt UINT nFlags)/ TODO:在此添加消息处理程序代码和/或调用默认值if (m nDrawShape=SHAPE TEXT CSize sizeText;CFont ft,*pOld;CClientDC dc( this );CRect rect;GetClientRect(&am

38、p;rect);int nLength=m_strTextBuf.GetLength();ft.CreateFontIndirectW(&m_lfTextFont);pOld=( CFont*)dc.SelectObject(&ft);dc.SetTextC010r(m_crDrawColor);HideCaret();switch (nChar) case 8:if (nLength>0)m strTextBuf.SetAt(nLength-1,'');dc.TextOutW(m ptCaretPos.x,m ptCaretPos.y,m strText

39、Buf);if (nLength>0)m_strTextBuf.Delete(nLength-1);dc.TextOutW(m ptCaretPos.x,m ptCaretPos.y,m strTextBuf);sizeText=dc.GetTextExtent(m strTextBuf);SetCaretPos( CPoint (m_ptCaretPos.x+sizeText.cx,m_ptCaretPos.y); break;dc.TextOutW(m_ptCaretPos.x,m_ptCaretPos.y,m_strTextBuf);m_strTextBuf=""

40、;sizeText=dc.GetTextExtent(m strTextBuf);if (m ptCaretPos.y+sizeText.cy<rect.bottom)SetCaretPos( CPoint (m ptCaretPos.x,m ptCaretPos.y+sizeText.cy);m_ptCaretPos.y+=sizeText.cy; break; default :m strTextBuf+=( char)nChar;sizeText=dc.GetTextExtent(m_strTextBuf);if (m ptCaretPos.x+sizeText.cx<rec

41、t.right)dc.TextOutW(m_ptCaretPos.x,m_ptCaretPos.y,m_strTextBuf);SetCaretPos( CPoint (m ptCaretPos.x+sizeText.cx,m ptCaretPos.y); break;ShowCaret();CView:OnChar( nChar, nRepCnt nFlags);BOOLCMydraw111ViewOnSetCursor( CWnd pWnd UINT nHitTest , UINT message) / TODO:在此添加消息处理程序代码和/或调用默认值if (m_nDrawShape=S

42、HAPE_PENSetCursor(AfxGetApp()-> LoadCursor (IDC_CURSOR1 else if (m nDrawShape=SHAPE TEX)TSetCursor(AfxGetApp()-> LoadCursor (IDC_CURSOR2 else if (m_nDrawShape=SHAPE_ERAS)ERSetCursor(AfxGetApp()-> LoadCursor (IDC CURSOR3 elseSetCursor(AfxGetApp()-> LoadCursor (IDC CURSOR4 return TRUEvoid

43、CMydraw111ViewOnActivate( UINT nState , CWnd pWndOthe, BOOLbMinimized ) CView:OnActivate( nState , pWndOther, bMinimized );CLine();/ TODO:在此处添加消息处理程序代码文档类:MyDraw111Doc.h#pragma once#include <afxtempl.h>#include "Line.h" class CMydraw111Doc public CDocumentpublic :CTypedPtrArray <C

44、ObArray, CLine *> m LineArray;CLine*GetLine( int nIndex);void AddLine( COLORREFolorPen, COLORREFolorBrush, CPoint pt1, CPoint pt2); int GetNumLines();protected : /仅从序列化创建CMydraw111Doc();DECLARE_DYNCREACMydraw111Docvirtual void DeleteContents();/操作public :/重写public :virtual BOOLOnNewDocument();vir

45、tual void Serialize( CArchive &ar);#ifdef SHARED HANDLERSvirtualvoid InitializeSearchContent();virtualvoid OnDrawThumbnail(CDC& dc, LPRECT lprcBounds);#endif / SHARED_HANDLERS/实现public :virtual CMydraw111Doc();#ifdef DEBUGvirtual void AssertValid() const;virtual void Dump(CDumpContex& dc

46、) const;#endifprotected :/生成的消息映射函数 protected :DECLARE_MESSAGE_MAP#ifdef SHARED HANDLERS/用于为搜索处理程序设置搜索内容的Helper函数void SetSearchContent( const CString& value);#endif / SHARED_HANDLERS ;MyDraw111Doc.cpp#include "stdafx.h"/ SHARED_HANDLERS!以在实现预览、缩略图和搜索筛选器句柄的 / ATL项目中进行定义,并允许与该项目共享文档代码。#i

47、fndef SHARED_HANDLERS#include "Mydrawlll.h"#endif#include "MydrawlllDoc.h"#include <propkey.h>#ifdef DEBUG#define new DEBUG NEW#endif/ CMydrawlllDocIMPLEMENT_DYNCREACMydraw111Doc CDocumentBEGIN MESSAGE MCMydraw111Doc CDocument END_MESSAGE_MAP/ CMydrawlllDoc 构造/ 析构CMydraw111

48、DocCMydraw111Doc()/ TODO:在此添加一次性构造代码CMydraw111DocCMydraw111Doc()BOOLCMydraw111DocOnNewDocument()if (! CDocument:OnNewDocument() return FALSE/ TODO:在此添加重新初始化代码/ (SDI文档将重用该文档)return TRUE/ CMydrawlllDoc 序歹U化void CMydraw111DocSerialize( CArchive&ar)if (ar.IsStoring() m LineArray.Serialize(ar);elsem_

49、LineArray.Serialize( ar);#ifdef SHARED_HANDLERS/缩略图的支持void CMydraw111Doc:OnDrawThumbnail(CDC& dc, LPRECT IprcBounds) /修改此代码以绘制文档数据dc.FillSolidRect(lprcBounds, RGB(255, 255, 255);CString strText = T( "TODO: implement thumbnail drawing here" );LOGFONT If;CFont* pDefaultGUIFont = CFont:FromHandIe(HFONT) GetStockObject(DEFAULT GUI FONT); pDefauItGUIFont->GetLogFont(&If);If.IfHeight = 36;CFont fontD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论