通信网络设计课程设计利用MSCOMM串口通信控件进行异步串行通信的VC程序设计

上传人:1777****777 文档编号:38121395 上传时间:2021-11-05 格式:DOC 页数:25 大小:151.50KB
收藏 版权申诉 举报 下载
通信网络设计课程设计利用MSCOMM串口通信控件进行异步串行通信的VC程序设计_第1页
第1页 / 共25页
通信网络设计课程设计利用MSCOMM串口通信控件进行异步串行通信的VC程序设计_第2页
第2页 / 共25页
通信网络设计课程设计利用MSCOMM串口通信控件进行异步串行通信的VC程序设计_第3页
第3页 / 共25页
资源描述:

《通信网络设计课程设计利用MSCOMM串口通信控件进行异步串行通信的VC程序设计》由会员分享,可在线阅读,更多相关《通信网络设计课程设计利用MSCOMM串口通信控件进行异步串行通信的VC程序设计(25页珍藏版)》请在装配图网上搜索。

1、通信网络设计课程设计(w7): 利用MSCOMM串口通信控件进行异步串行通信的VC程序设计设计日期20081229 -20090110 利用MSCOMM串口通信控件进行异步串行通信的VC程序设计一 课程设计题目 利用MSCOMM串口通信控件进行异步串行通信的VC程序设计二 课程设计要求 环境要求:Windows95/98/2000/XP功能要求:能将键盘上输入的数据发送到另一台计算机上; 能将接收到的数据显示到屏幕窗口内;了解常用通信网络设备的操作和应用,掌握常用的通信协议的工作原理,能利用Visual C+、开发工具完成相应的通信程序的设计工作。学习简明地介绍自己的设计工作。三 课程设计目的

2、 用Visual C+编程工具主机提供的接口,解决网络用户之间的交互式对话问题。进一步深入掌握网络设计和通信程序的设计原理。使学生对计算机通信网络的设计实现有较深的了解,培养较高的通信网络设计能力。四 程序思路硬件连接方面:数据的发送和接收由软件控制,不进行硬件握手,其连接方法如图真正需要互相连接的是RXD、TXD和GND;软件方面:串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据在Windows环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分

3、。应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。VC+ 6.0提供的MSComm控件通过串行端口发送和接收数据,为应用程序提供串行通信功能。使用非常方便。在当前的Workspace中插入MSComm控件。 Project菜单-Add to Project-Components and Controls-Registered ActiveX Controls-选择Components: Microsoft Communications Control, version 6.0 插入到当前的Workspace中。 结果添加了类

4、CMSComm(及相应文件:mscomm.h和mscomm.cpp )。在mscomm.h中加入MSComm控件。protected: CMSComm m_ComPort;在mscomm.cpp:OnCreare()中:DWORD style=WS_VISIBLE|WS_CHILD; if (!m_ComPort.Create(NULL,style,CRect(0,0,0,0),this,ID_COMMCTRL)TRACE0(Failed to create OLE Communications Controln);return -1; / fail to create.打开并初始化串口voi

5、d CComDlg:OnOpencom() if(m_Com.GetPortOpen() /打开通信端口m_Com.SetPortOpen(FALSE);m_Com.SetCommPort(1); /选择com1if( !m_Com.GetPortOpen()m_Com.SetPortOpen(TRUE);/打开串口MessageBox(串口已经打开);elseMessageBox(不能打开串口!);m_Com.SetSettings(9600,n,8,1); /波特率9600,无校验,8个数据位,1个停止位 /以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位m_Com.SetInpu

6、tMode(1); / 定义Input属性获取数据的方式(为0:文本方式;为1:二进制方式)。m_Com.SetRThreshold(1); /为1表示有一个字符引发一个事件m_Com.SetInputLen(0); /设置每次Input读入的字符个数,缺省值为0,表明读取接收缓冲区中的全部内容m_Com.GetInput();m_opened=TRUE;捕捉串口事项。MSComm控件可以采用轮询或事件驱动的方法从端口获取数据。我们介绍比较使用的事件驱动方法:有事件(如接收到数据)时通知程序。在程序中需要捕获并处理这些通讯事件。在MainFrm.h中:protected:afx_msg voi

7、d OnCommMscomm();DECLARE_EVENTSINK_MAP()在ComDlg.cpp中:BEGIN_EVENTSINK_MAP(CComDlg, CDialog) /AFX_EVENTSINK_MAP(CComDlg)ON_EVENT(CComDlg, IDC_MSCOMM2, 1 /* OnComm */, OnComm, VTS_NONE)/AFX_EVENTSINK_MAPEND_EVENTSINK_MAP() / 映射ActiveX控件串口读写.完成读写的函数的确很简单,GetInput()和SetOutput()就可。两个函数的原型是:VARIANT GetInpu

8、t();及 void SetOutput(const VARIANT& newValue);都要使用VARIANT类型(所有Idispatch:Invoke的参数和返回值在内部都是作为VARIANT对象处理的)。无论是在PC机读取上传数据时还是在PC机发送下行命令时,我们都习惯于使用字符串的形式(也可以说是数组形式)。查阅VARIANT文档知道,可以用BSTR表示字符串,但遗憾的是所有的BSTR都是包含宽字符,即使我们没有定义_UNICODE_UNICODE也是这样! WinNT支持宽字符, 而Win95并不支持。为解决上述问题,我们在实际工作中使用CbyteArray,给出相应的部分程序如下

9、:void CComDlg:OnComm() / TODO: Add your control notification handler code hereVARIANT variant_inp; COleSafeArray safearray_inp; LONG len,k; BYTE rxdata2048; CString strtemp; if(m_Com.GetCommEvent()=2) variant_inp=m_Com.GetInput(); safearray_inp=variant_inp; len=safearray_inp.GetOneDimSize(); for(k=0

10、;klen;k+) safearray_inp.GetElement(&k,rxdata+k); for(k=0;kLoadIcon(IDR_MAINFRAME);void CComDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);DDX_Control(pDX, IDC_MSCOMM2, m_Com);DDX_Text(pDX, IDC_RECV, m_recv);DDX_Text(pDX, IDC_SEND, m_send);BEGIN_MESSAGE_MAP(CComDlg, CDialog)ON_WM_S

11、YSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_OPENCOM, OnOpencom)ON_BN_CLICKED(IDC_ONSEND, OnOnsend)END_MESSAGE_MAP()/ CComDlg message handlersBOOL CComDlg:OnInitDialog()CDialog:OnInitDialog();ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR)

12、;pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);SetIcon(m_hIcon, TRUE);SetIcon(m_hIcon, FALSE);return TRUE; void CComDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);void CComDlg:OnPaint(

13、) if (IsIconic()CPaintDC dc(this);SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0)int cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;dc.DrawIcon(

14、x, y, m_hIcon);elseCDialog:OnPaint();HCURSOR CComDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CComDlg:OnOpencom() if(m_Com.GetPortOpen() /打开通信端口m_Com.SetPortOpen(FALSE);m_Com.SetCommPort(1); /选择com1if( !m_Com.GetPortOpen()m_Com.SetPortOpen(TRUE);/打开串口MessageBox(串口已经打开);elseMessageBox(不能打开串口!);

15、m_Com.SetSettings(9600,n,8,1);m_Com.SetInputMode(1); m_Com.SetRThreshold(1); m_Com.SetInputLen(0); m_Com.GetInput();m_opened=TRUE;BEGIN_EVENTSINK_MAP(CComDlg, CDialog)ON_EVENT(CComDlg, IDC_MSCOMM2, 1 /* OnComm */, OnComm, VTS_NONE)END_EVENTSINK_MAP()void CComDlg:OnComm() VARIANT variant_inp; COleSaf

16、eArray safearray_inp; LONG len,k; BYTE rxdata2048; CString strtemp; if(m_Com.GetCommEvent()=2) variant_inp=m_Com.GetInput(); safearray_inp=variant_inp; len=safearray_inp.GetOneDimSize(); for(k=0;klen;k+) safearray_inp.GetElement(&k,rxdata+k); for(k=0;kGetWindowText(m_send);if(m_send!=) UpdateData(TR

17、UE);m_Com.SetOutput(COleVariant(m_send);m_send= ;UpdateData(FALSE);elseMessageBox(不能发空数据);elseMessageBox(请打开串口);Mscomm.cpp#include stdafx.h#include mscomm.h/ CMSCommIMPLEMENT_DYNCREATE(CMSComm, CWnd)/ CMSComm properties/ CMSComm operationsvoid CMSComm:SetCDHolding(BOOL bNewValue)static BYTE parms =V

18、TS_BOOL;InvokeHelper(0x1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);BOOL CMSComm:GetCDHolding()BOOL result;InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;void CMSComm:SetCommID(long nNewValue)static BYTE parms =VTS_I4;InvokeHelper(0x3, DISPATCH_PRO

19、PERTYPUT, VT_EMPTY, NULL, parms, nNewValue);long CMSComm:GetCommID()long result;InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);return result;void CMSComm:SetCommPort(short nNewValue)static BYTE parms =VTS_I2;InvokeHelper(0x4, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewVal

20、ue);short CMSComm:GetCommPort()short result;InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);return result;void CMSComm:SetCTSHolding(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(0x5, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,bNewValue);BOOL CMSComm:GetCTSHolding()BO

21、OL result;InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;void CMSComm:SetDSRHolding(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(0x7, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);BOOL CMSComm:GetDSRHolding()BOOL result;InvokeHelper(0x7, DIS

22、PATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;void CMSComm:SetDTREnable(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(0x9, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,bNewValue);BOOL CMSComm:GetDTREnable()BOOL result;InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_BOOL, (void*

23、)&result, NULL);return result;void CMSComm:SetHandshaking(long nNewValue)static BYTE parms =VTS_I4;InvokeHelper(0xa, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);long CMSComm:GetHandshaking()long result;InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);return result;voi

24、d CMSComm:SetInBufferSize(short nNewValue)static BYTE parms =VTS_I2;InvokeHelper(0xb, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);short CMSComm:GetInBufferSize()short result;InvokeHelper(0xb, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);return result;void CMSComm:SetInBufferCount(s

25、hort nNewValue)static BYTE parms =VTS_I2;InvokeHelper(0xc, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);short CMSComm:GetInBufferCount()short result;InvokeHelper(0xc, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);return result;void CMSComm:SetBreak(BOOL bNewValue)static BYTE parms =V

26、TS_BOOL;InvokeHelper(0xd, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);BOOL CMSComm:GetBreak()BOOL result;InvokeHelper(0xd, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;void CMSComm:SetInputLen(short nNewValue)static BYTE parms =VTS_I2;InvokeHelper(0xe, DISPATCH_PROP

27、ERTYPUT, VT_EMPTY, NULL, parms, nNewValue);short CMSComm:GetInputLen()short result;InvokeHelper(0xe, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);return result;void CMSComm:SetNullDiscard(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(0x10, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,

28、 bNewValue);BOOL CMSComm:GetNullDiscard()BOOL result;InvokeHelper(0x10, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;void CMSComm:SetOutBufferSize(short nNewValue)static BYTE parms =VTS_I2;InvokeHelper(0x11, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);short CMSComm:

29、GetOutBufferSize()short result;InvokeHelper(0x11, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);return result;void CMSComm:SetOutBufferCount(short nNewValue)static BYTE parms =VTS_I2;InvokeHelper(0x12, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);short CMSComm:GetOutBufferCount()shor

30、t result;InvokeHelper(0x12, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);return result;void CMSComm:SetParityReplace(LPCTSTR lpszNewValue)static BYTE parms =VTS_BSTR;InvokeHelper(0x13, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);CString CMSComm:GetParityReplace()CString result;I

31、nvokeHelper(0x13, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);return result;void CMSComm:SetPortOpen(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(0x14, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);BOOL CMSComm:GetPortOpen()BOOL result;InvokeHelper(0x14, DISPATCH_PROPER

32、TYGET, VT_BOOL, (void*)&result, NULL);return result;void CMSComm:SetRThreshold(short nNewValue)static BYTE parms =VTS_I2;InvokeHelper(0x15, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);short CMSComm:GetRThreshold()short result;InvokeHelper(0x15, DISPATCH_PROPERTYGET, VT_I2, (void*)&result

33、, NULL);return result;void CMSComm:SetRTSEnable(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(0x16, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, bNewValue);BOOL CMSComm:GetRTSEnable()BOOL result;InvokeHelper(0x16, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;void CMSC

34、omm:SetSettings(LPCTSTR lpszNewValue)static BYTE parms =VTS_BSTR;InvokeHelper(0x17, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue);CString CMSComm:GetSettings()CString result;InvokeHelper(0x17, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);return result;void CMSComm:SetSThreshold(

35、short nNewValue)static BYTE parms =VTS_I2;InvokeHelper(0x18, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);short CMSComm:GetSThreshold()short result;InvokeHelper(0x18, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);return result;void CMSComm:SetOutput(const VARIANT& newValue)static BYT

36、E parms =VTS_VARIANT;InvokeHelper(0x19, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, &newValue);VARIANT CMSComm:GetOutput()VARIANT result;InvokeHelper(0x19, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, NULL);return result;void CMSComm:SetInput(const VARIANT& newValue)static BYTE parms =VTS_VARI

37、ANT;InvokeHelper(0x1a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, &newValue);VARIANT CMSComm:GetInput()VARIANT result;InvokeHelper(0x1a, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, NULL);return result;void CMSComm:SetCommEvent(short nNewValue)static BYTE parms =VTS_I2;InvokeHelper(0x1b, DISP

38、ATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);short CMSComm:GetCommEvent()short result;InvokeHelper(0x1b, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);return result;void CMSComm:SetEOFEnable(BOOL bNewValue)static BYTE parms =VTS_BOOL;InvokeHelper(0x1c, DISPATCH_PROPERTYPUT, VT_EMPTY, NUL

39、L, parms,bNewValue);BOOL CMSComm:GetEOFEnable()BOOL result;InvokeHelper(0x1c, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);return result;void CMSComm:SetInputMode(long nNewValue)static BYTE parms =VTS_I4;InvokeHelper(0x1d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, nNewValue);long CMSComm:

40、GetInputMode()long result;InvokeHelper(0x1d, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);return result;/ stdafx.cpp :#include stdafx.h/ Com.h#if !defined(AFX_COM_H_CC3DE67A_A6D3_4E95_B3A1_21B971A17C64_INCLUDED_)#define AFX_COM_H_CC3DE67A_A6D3_4E95_B3A1_21B971A17C64_INCLUDED_#if _MSC_VER 1000#

41、pragma once#endif#ifndef _AFXWIN_H_#error include stdafx.h before including this file for PCH#endif#include resource.h/ CComApp:class CComApp : public CWinApppublic:CComApp();public:virtual BOOL InitInstance();DECLARE_MESSAGE_MAP();#endif#if !defined(AFX_COMDLG_H_2C5D9F44_AB0A_4501_A2B7_7BCA6EAB1B92

42、_INCLUDED_)#define AFX_COMDLG_H_2C5D9F44_AB0A_4501_A2B7_7BCA6EAB1B92_INCLUDED_#if _MSC_VER 1000#pragma once#endif / _MSC_VER 1000/ CComDlg dialogclass CComDlg : public CDialogpublic:BOOL m_opened;CComDlg(CWnd* pParent = NULL); enum IDD = IDD_COM_DIALOG ;CMSCommm_Com;CStringm_recv;CStringm_send;prote

43、cted:virtual void DoDataExchange(CDataExchange* pDX);protected:HICON m_hIcon;virtual BOOL OnInitDialog();afx_msg void OnSysCommand(UINT nID, LPARAM lParam);afx_msg void OnPaint();afx_msg HCURSOR OnQueryDragIcon();afx_msg void OnOpencom();afx_msg void OnComm();afx_msg void OnOnsend();DECLARE_EVENTSIN

44、K_MAP()DECLARE_MESSAGE_MAP();#endif#if _MSC_VER 1000#pragma once#endifclass CMSComm : public CWndprotected:DECLARE_DYNCREATE(CMSComm)public:CLSID const& GetClsid()static CLSID const clsid= 0x648a5600, 0x2c6e, 0x101b, 0x82, 0xb6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14 ;return clsid;virtual BOOL Create(LPCTSTR

45、 lpszClassName,LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect,CWnd* pParentWnd, UINT nID,CCreateContext* pContext = NULL) return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect, CWnd* pParentWnd, UI

46、NT nID,CFile* pPersist = NULL, BOOL bStorage = FALSE,BSTR bstrLicKey = NULL) return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,pPersist, bStorage, bstrLicKey); public:public:void SetCDHolding(BOOL bNewValue);BOOL GetCDHolding();void SetCommID(long nNewValue);long GetCom

47、mID();void SetCommPort(short nNewValue);short GetCommPort();void SetCTSHolding(BOOL bNewValue);BOOL GetCTSHolding();void SetDSRHolding(BOOL bNewValue);BOOL GetDSRHolding();void SetDTREnable(BOOL bNewValue);BOOL GetDTREnable();void SetHandshaking(long nNewValue);long GetHandshaking();void SetInBuffer

48、Size(short nNewValue);short GetInBufferSize();void SetInBufferCount(short nNewValue);short GetInBufferCount();void SetBreak(BOOL bNewValue);BOOL GetBreak();void SetInputLen(short nNewValue);short GetInputLen();void SetNullDiscard(BOOL bNewValue);BOOL GetNullDiscard();void SetOutBufferSize(short nNew

49、Value);short GetOutBufferSize();void SetOutBufferCount(short nNewValue);short GetOutBufferCount();void SetParityReplace(LPCTSTR lpszNewValue);CString GetParityReplace();void SetPortOpen(BOOL bNewValue);BOOL GetPortOpen();void SetRThreshold(short nNewValue);short GetRThreshold();void SetRTSEnable(BOO

50、L bNewValue);BOOL GetRTSEnable();void SetSettings(LPCTSTR lpszNewValue);CString GetSettings();void SetSThreshold(short nNewValue);short GetSThreshold();void SetOutput(const VARIANT& newValue);VARIANT GetOutput();void SetInput(const VARIANT& newValue);VARIANT GetInput();void SetCommEvent(short nNewValue);short GetCommEvent();void SetEOFEnable(BOOL bNewValue);BOOL GetEOFEnable();void SetInp

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!