文档库 最新最全的文档下载
当前位置:文档库 › ArcGIS+Engine开发实例讲解

ArcGIS+Engine开发实例讲解

ArcGIS+Engine开发实例讲解
ArcGIS+Engine开发实例讲解

ArcGIS Engine开发实例讲解

此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法和步骤。

你可以在下面的目录下找到相应的样例程序:

<安装目录>\DeveloperKit\Samples\Developer_Guide_Scenarios\ ArcGIS_Engine\Buil ding_an_ArcGIS_Control_Application\Map_Viewer

注:ArcGIS样例程序不包含在ArcGIS Engine开发工具包“典型”安装方式中。如果你没有安装它们,则可以重新运行开发工具包安装向导,选择“定制”或“修改”方式,并选择软件开发包下的样例项进行安装。

一、项目描述

利用视窗控件建立应用程序的目标是演示并使你熟悉在微软Visual Studio .NET API中使用标准ArcGIS控件开发和部署GIS应用所需的步聚。本节中使用了Visual St udio .NET开发环境中的MapControl、 PageLayoutControl、TOCControl和ToolbarCon trol等视窗控件。COM、Java和C++程序员应该参考如下章节:利用ActiveX建立应用程序、利用可视化JavaBeans建立应用程序、建立命令行方式的Java应用和建立命令行方式的C++应用。

本节演示了创建查看ArcMap和ArcGIS桌面应用图形文档的GIS应用程序的步骤。此节包含了以下技术:

z在微软Visual Studio .NET中加载和嵌入ArcGIS控件。

z向PageLayoutControl和MapControl中加载图形文档。

z设置ToolbarControl和TOCControl的绑定控件。

z处理窗口缩放。

z向ToolbarControl添加ArcGIS Engine命令和工具。

z创建弹出式菜单

z在TOCControl中管理标签编辑

z在MapControl中绘制图形。

z为MapControl、PageLayoutControl和ToolbarControl创建定制工具。

z用户化ToolbarControl。

z在Windows操作系统中部署应用。

二、概述

本方案使用微软Visual Studio .NET开发环境加以实现,并使用了ESRI interop程序集(Interop Assemblies),它服务于被放置在.NET窗体上的、位于.NET 窗体控件(.NE T Windows Controls)中的ArcGIS控件,这些程序集在托管的.NET代码和非托管的C OM代码之间起了桥梁作用。对COM ArcGIS控件(COM ArcGIS Controls)成员的引用都要经过Interop程序集,然后到达实际的COM对象。同样,也从COM对象经过Int erop程序集到达.NET应用程序。每个ArcGIS Engine控件具有方法、属性与事件,它们能够被控件嵌入的容器(如,.NET窗体)访问。每个控件对象及其功能可以与其他ES RI ArcObjects和自定义控件组合使用,创建用户化的客户应用程序。

此方案是使用了C#和Visual Basic .NET两种语言创建,但以下技术实现集中倾向于C#方案。许多开发者可能会感觉用Visual Basic .NET更舒服,那是因为他们已经比较熟悉Visual Basic 6.0代码,然而,对于Java和C++程序员来说,他们将会觉得对C

#程序语言的语法更熟悉。无论你使用哪种开发环境,对于使用ArcGIS控件的好坏既依赖于你的编程环境技术,也依赖于你所掌握的ArcObjects技术。

在本方案中,使用ToolbarControl、TOCControl、PageLayoutControl和MapControl 来为应用程序提供用户界面。这些ArcGIS控件与其他ArcObjects和ArcGIS Engine命令被开发者一起使用,用来创建一个GIS视窗应用。

三、设计

此方案在设计时,首先强调了ArcGIS 控件如何互相之间进行交互,其次,向开发者解释说明了ArcGIS 控件对象模型的一部分。

每个.NET ArcGIS Engine控件包含有一套能够被嵌入其内的窗口即时访问的属性页。这些属性些为控件属性和方法的选择提供了捷径,并且允许开发者不写任何代码即可创建一个应用程序。本方案并没有使用属性页,而是采用写代码的方式建立应用程序。关于属性页的更进一步的信息,请参考ArcGIS开发帮助(ArcGIS Developer Help)。

四、条件需求

要顺利地完成以下方案,你需要以下条件(对于部署的需求将在后续的部署章节涉及到):

z安装具有授权文件的ArcGIS Engine开发工具包(Developer Kit),使之能够用于开发。

z安装有微软Visual Studio .NET 2003开发环境和微软.NET Framework 1.1及其相应协议。

z熟悉微软Windows操作系统和Microsoft Visual Studio .NET的工作知识,会用C#或Visual Basic .NET编程语言。当然,此方案中提供了一些如何在M

icrosoft Visual Studio .NET中使用ArcGIS控件的信息,但它不能替代对开发

环境的培训。

z不需要对ESRI其它软件有足够的经验,但如果以前对ArcObjects有所接触并对ArcGIS应用(如,ArcCatalog,ArcMap)有一个基本了解,则对于开发更有

利。

z访问来自本方案的样例数据和代码,它位于:

<安装目录>\DeveloperKit\Samples\Developer_Guide_Scenarios\ ArcGIS_En gine\Building_an_ArcGIS_Control_Application\Map_Viewer

本方案中使用到的控件和库如下:

z AxMapControl z AxTOCControl

z AxPageLayoutControl z AxToolbarControl

z ESRI.ArcGIS.Carto z ESRI.ArcGIS.System

z ESRI.ArcGIS.Display z ESRI.ArcGIS.SystemUI

z ESRI.ArcGIS.Geometry z ESRI.ArcGIS.Utility

z esriMapControl z esriTOCControl

z esriPageLayoutControl z esriToolbarControl

五、实现

下面的实现过程中提供了你成功完成方案所需所有代码。假设你对于开发环境已经有了一定的知识,所以下面没有逐步地详细介绍如何用Microsoft Visual Studio .NET开发应用。

(一) 加载ArcGIS控件

在你为应用程序编写代码之前,应该先将应用程序将用到的ArcGIS控件和其他ArcGIS Engine库引用装载到开发环境之中。

1. 启动Visual Studio .NET,并从新建项目对话框中创建一个新的Visual C#

“Windows应用程序”项目。

2. 将项目命名为“Controls”,并选择位置存取该项目。

3. 在“工具箱”的“Windows窗体”标签栏中单击右键,然后从上下文菜单中

选择“添加/移除项(I)…”。

4. 在“自定义工具箱”中选择“.NET Framework组件”,并复选“AxMapControl”,

“AxPageLayoutControl”,“AxTOCControl”和“AxToolbarControl”,单击确定按钮。这样所选择的控件将显示在工具箱的Windows窗体标签栏中。

5. 单击项目菜单,并选择“添加引用(R)…”。

6. 在添加引用对话框中,双击“ESRI.ArcGIS.Carto”,“ESRI.ArcGIS.Display”,

“ESRI.ArcGIS.Geometry”,“ESRI.ArcGIS.System”,“ESRI.ArcGIS.SystemUI”,“ESRI.ArcGIS.Utility”。单击确定。

注:对于ESRI .NET程序集,将通过具体实例来说明,并使用.NET框架提供的COM传送服务从你的C#项目中调用ESRI对象库中的实体对象。

(二) 在容器中嵌入ArcGIS控件

在你能够访问每个控件的事件、属性和方法之前,需要将控件嵌入到.NET容器中。一旦将控件嵌入窗体内,它们将图形化应用程序的用户界面。

1. 在设计模式下打开.NET窗体。

2. 双击工具箱Windows标签栏中的AxMapControl控件,将MapControl加

入到窗体上。

3. 再将AxPageLayoutControl、AxTOCControl和AxToolbarControl如上添加

到窗体中。

4. 重新调整窗体上各个控件的大小和位置,调整结果如下所示。

5. 在窗体上双击显示窗体代码窗口,在代码窗口的顶部增加“using”命令:

using System;

using System.Windows.Forms;

// ArcGIS Engine引用

using ESRI.ArcGIS.SystemUI;

using ESRI.ArcGIS.Carto;

using ESRI.ArcGIS.Display;

using ESRI.ArcGIS.Geometry;

using ESRI.ArcGIS.esriSystem;

using ESRI.ArcGIS.ToolbarControl;

using ESRI.ArcGIS.TOCControl;

注:需注意C#是区分大小写的。当你键入“ESRI.”时,智能敏感的自动完成功能将允许你通过按Tab键完成下一节。

(三) 加载Map文档到MapControl与PageLayoutControl

单独的数据层或者使用ArcMap、ArcGIS桌面应用程序产生的图形文档,能够被加载到MapControl和PageLayoutControl中。你可以加载样例图形文档,或者加

载你自己的图形文档。后面你将增加一个浏览图形文档的对话框。

1. 选择Form_Load事件,并输入下列代码(如果你使用你自己的图形文档,

要替换为正确的文件名):

// 使用相对路径向PageLayoutControl加载一个图形文档

string filename = @"..\..\..\..\..\..\..\..\Data\\ArcGIS_Engine_Developer_Guide\\gulf of st. lawrence.mxd";

if ( axPageLayoutControl1.CheckMxFile(filename) )

{

axPageLayoutControl1.LoadMxFile(filename, "");

}

2. 在设计模式显示窗体并从属性窗选择axPageLayoutControl1控件,显示

axPageLayoutControl事件。在OnPageLayoutReplaced事件上双击向代码窗

口添加该事件的处理函数。

3.在axPageLayoutControl1_OnPageLayoutReplaced事件中键入以下向MapControl加载样例图形文档的代码。当文档被装载入PageLayoutControl时OnPageLayoutReplaced事件将会被触发。

private void axPageLayoutControl1_OnPageLayoutReplaced(object sender, ESRI.ArcGIS.PageLayoutControl.IPageLayoutControlEvents_OnPageLayoutReplaced

Event e)

{

// 加载同样的文档到MapControl

axMapControl1.LoadMxFile(axPageLayoutControl1.DocumentFilename, null, null);

// 设置MapControl显示范围至数据的全局范围

axMapControl1.Extent = axMapControl1.FullExtent;

}

(四) 设置ToolbarControl与TOCControl控件的绑定控件

对于此应用程序,TOCControl和ToolbarControl控件将与PageLayoutControl 相互协作,而不是MapControl。为此PageLayoutControl必须设置为绑定控件。

TOCControl使用绑定的ActiveView显示图形、图层和符号。而位于ToolbarControl 上的任何命令、工具或菜单项会受绑定控件的显示影响。

1. 在Form_Load事件中的加载文档代码的后面键入以下红色部分内容:

private void Form1_Load(object sender, System.EventArgs e)

{

// 使用相对路径向PageLayoutControl加载一个图形文档

string filename = @"..\..\..\..\..\..\..\..\Data\\ArcGIS_Engine_Developer_Guide\\gulf of st. lawrence.mxd";

if ( axPageLayoutControl1.CheckMxFile(filename) )

{

axPageLayoutControl1.LoadMxFile(filename, "");

}

// 设置绑定控件

axTOCControl1.SetBuddyControl(axPageLayoutControl1);

axToolbarControl1.SetBuddyControl(axPageLayoutControl1);

}

2. 生成并运行应用程序。图形文档被加载到PageLayoutControl,并且

TOCControl列出了图形文档中的数据图层。使用TOCControl通过复选和取

消复选框控制图层的可见性。默认地,图形文档的焦点图(focus map)被装

入MapControl控件。在这种当前情况下,ToolbarControl控件显示是空的,

因为没有为它添加任何命令。试着缩放窗体,你会注意到控件不会改变尺

寸。

(五) 处理窗口缩放

当窗口在运行时进行缩放时,PageLayoutControl和MapControl不会自动改变自身的尺寸。要改变控件的尺寸以便它们总是与匹配窗口的范围,你必须将控件锚定在窗口上。如果PageLayoutControl或MapControl包含大量的数据,在窗口缩放期间重绘这些数据显得相当重要。为了提高执行效率,你可以禁止数据重绘直到缩放操作完成后再重绘之。在缩放时,可以用一个可伸缩的位图来替代重绘数据。

1. 在设计模式显示窗体并从属性窗口中选择axPageLayoutControl1。单击

Anchor属性,将axPageLayoutControl1锚定在窗体的顶、左、底和右部。

2. 锚定axMapControl控件到窗体的顶、左和底部。

3. 在Form_Load事件的开头增加以下代码:

// 当缩放时禁止重绘

this.SetStyle(ControlStyles.EnableNotifyMessage, true);

4. 向类增加以下常量:

public class Form1 : System.Windows.Forms.Form

{

// ……

private const int WM_ENTERSIZEMOVE = 0x231;

private const int WM_EXITSIZEMOVE = 0x232;

// ……

}

5. 向重载的OnNotifyMessage方法中增加下列代码:

protected override void OnNotifyMessage(Message m)

{

base.OnNotifyMessage (m);

// 以下为手工添加的代码

if ( m.Msg == WM_ENTERSIZEMOVE)

{

axMapControl1.SuppressResizeDrawing(true, 0);

axPageLayoutControl1.SuppressResizeDrawing(true, 0); }

else if ( m.Msg == WM_EXITSIZEMOVE)

{

axMapControl1.SuppressResizeDrawing(false, 0);

axPageLayoutControl1.SuppressResizeDrawing(false, 0); }

}

6. 生成并运行应用程序,试着缩放窗口。

注:禁止缩放时重画方法是通过检查发送到窗体的Windows消息工作的。当窗口开发缩放时,Windows发送WM_ENTERSIZEMOVE窗口消息。此时,我们禁止在

MapControl和PageLayoutControl上绘制图形,而是使用“stretchy bitmap”绘

制。当Windows发送WM_EXITSIZEMOVE消息时,窗体结束缩放,这时我们全部重绘

新的范围。

(六) 向ToolbarControl增加命令

ArcGIS Engine提供了120多个命令和工具,它们与MapControl、PageLayoutControl和ToolbarControl直接相互协作。这些命令和工具为你提供了大

量的经常使用的地图导航、图形管理、地物选择等方面的GIS功能。现在将在你的

应用程序中增加这些命令和工具的一部分。

1. 在Form_Load事件中的加载文档代码之前添加如下代码。

// 增加打开档命令

string progID;

progID = "esriControlToolsGeneric.ControlsOpenDocCommand";

axToolbarControl1.AddItem(progID, -1, -1, false, 0,

esriCommandStyles.esriCommandStyleIconOnly);

// 增加PageLayout导航命令

progID = "esriControlToolsPageLayout.ControlsPageZoomInTool";

axToolbarControl1.AddItem(progID, -1, -1, true, 0,

esriCommandStyles.esriCommandStyleIconOnly);

progID = "esriControlToolsPageLayout.ControlsPageZoomOutTool";

axToolbarControl1.AddItem(progID, -1, -1, true, 0,

esriCommandStyles.esriCommandStyleIconOnly);

progID = "esriControlToolsPageLayout.ControlsPagePanTool";

axToolbarControl1.AddItem(progID, -1, -1, true, 0,

esriCommandStyles.esriCommandStyleIconOnly);

progID = "esriControlToolsPageLayout.ControlsPageZoomWholePageCommand";

axToolbarControl1.AddItem(progID, -1, -1, true, 0,

esriCommandStyles.esriCommandStyleIconOnly);

progID = "esriControlToolsPageLayout.ControlsPageZoomPageToLastExtentBackCommand";

axToolbarControl1.AddItem(progID, -1, -1, true, 0,

esriCommandStyles.esriCommandStyleIconOnly);

progID = "esriControlToolsPageLayout.ControlsPageZoomPageToLastExtentForwardCommand"

;

axToolbarControl1.AddItem(progID, -1, -1, true, 0,

esriCommandStyles.esriCommandStyleIconOnly);

// 增加地图导航命令

progID = "esriControlToolsMapNavigation.ControlsMapZoomInTool";

axToolbarControl1.AddItem(progID, -1, -1, true, 0,

esriCommandStyles.esriCommandStyleIconOnly);

progID = "esriControlToolsMapNavigation.ControlsMapZoomOutTool";

axToolbarControl1.AddItem(progID, -1, -1, true, 0,

esriCommandStyles.esriCommandStyleIconOnly);

progID = "esriControlToolsMapNavigation.ControlsMapPanTool";

axToolbarControl1.AddItem(progID, -1, -1, true, 0,

esriCommandStyles.esriCommandStyleIconOnly);

progID = "esriControlToolsMapNavigation.ControlsMapFullExtentCommand";

axToolbarControl1.AddItem(progID, -1, -1, true, 0,

esriCommandStyles.esriCommandStyleIconOnly);

// 使用相对路径向PageLayoutControl加载一个图形文档

// ……

2. 生成并运行应用程序。现在ToolbarControl包含了ArcGIS Engine命令和工具,

你可以使用它们导航加载到PageLayoutControl中的图形文档。使用页面布局命令对当前的页面布局进行导航控制,要对存在于数据框架中的数据进行导航则使用地图命令。

利用找开文档命令可以浏览并加载其他的图形文档。

(七) 给PageLayoutControl添加弹出式菜单

与给跟绑定控件协作的ToolbarControl增加ArcGIS Engine命令一样,按照前面的步骤,你也可以从ArcGIS Engine命令创建弹出式菜单。下面将向你的应用程序中增加与PageLayoutControl协作的弹出式菜单。当在PageLayoutControl可视区域点击鼠标右键的时候,弹出式菜单将显示。

1. 向类中添加如下的成员变量(红色部分):

public class Form1 : System.Windows.Forms.Form

{

private ESRI.ArcGIS.MapControl.AxMapControl axMapControl1;

private ESRI.ArcGIS.PageLayoutControl.AxPageLayoutControl axPageLayoutControl1;

private ESRI.ArcGIS.TOCControl.AxTOCControl axTOCControl1;

private ESRI.ArcGIS.ToolbarControl.AxToolbarControl axToolbarControl1;

private IToolbarMenu m_ToolbarMenu = new ToolbarMenuClass(); // 弹出式菜单

// ……

2. 在Form_Load事件中向ToolbarControl增加命令代码的后面加载文档代码的前面增加如下代码。

private void Form1_Load(object sender, System.EventArgs e)

{

// 前面是增加地图导航的代码……

// 共享ToolbarControl的命令池

m_https://www.wendangku.net/doc/1913451350.html,mandPool = https://www.wendangku.net/doc/1913451350.html,mandPool;

// 向ToolbarMenu增加命令

progID = "esriControlToolsPageLayout.ControlsPageZoomInFixedCommand";

m_ToolbarMenu.AddItem(progID, -1, -1, false,

esriCommandStyles.esriCommandStyleIconAndText);

progID = "esriControlToolsPageLayout.ControlsPageZoomOutFixedCommand";

m_ToolbarMenu.AddItem(progID, -1, -1, false,

esriCommandStyles.esriCommandStyleIconAndText); progID = "esriControlToolsPageLayout.ControlsPageZoomWholePageCommand";

m_ToolbarMenu.AddItem(progID, -1, -1, false,

esriCommandStyles.esriCommandStyleIconAndText);

progID="esriControlToolsPageLayout.ControlsPageZoomPageToLastExtentBackComm and";

m_ToolbarMenu.AddItem(progID, -1, -1, true,

esriCommandStyles.esriCommandStyleIconAndText);

progID="esriControlToolsPageLayout.ControlsPageZoomPageToLastExtentForwardC ommand";

m_ToolbarMenu.AddItem(progID, -1, -1, false,

esriCommandStyles.esriCommandStyleIconAndText);

// 设置与PageLayoutControl挂接

m_ToolbarMenu.SetHook(axPageLayoutControl1);

// 后面是加载图形文档的代码……

// ……

3. 在设计模式显示窗体并从属性窗口中选择axPageLayoutControl1,显示

axPageLayoutControl事件。双击onMouseDown事件,向代码窗口中增加事

件处理代码。

4. 在axPageLayoutControl1_onMouseDown事件中增加如下代码:

private void axPageLayoutControl1_onMouseDown(object sender, ESRI.ArcGIS.PageLayoutControl.IPageLayoutControlEvents_onMouseDownEvent e)

{

// 弹出ToolbarMenu

if ( e.button == 2)

{

m_ToolbarMenu.PopupMenu(e.x, e.y, axPageLayoutControl1.hWnd);

}

}

5.生成并运行应用程序。在PageLayoutControl的显示区域单击右键以显示

弹出菜单,并为页面布局导航。

(八) 在TOCControl中控制标签编辑

TOCControl默认允许用户自动地切换图层的可见性并改变显示在目录表中的名称。你可以增加代码防止用户在编辑名称时输入空的字符串。

1. 在Form_Load事件的开始增加下列代码。

private void Form1_Load(object sender, System.EventArgs e)

{

// 当缩放时禁止重绘

this.SetStyle(ControlStyles.EnableNotifyMessage, true);

// 设置标签编辑为手动方式

https://www.wendangku.net/doc/1913451350.html,belEdit = esriTOCControlEdit.esriTOCControlManual;

// 后面是加载文档代码

// ……

2. 在设计模式显示窗体并从属性窗口选择AxTOCControl1控件,显示

AxTOCControl事件。双击OnEndLabelEdit向代码窗口添加事件处理函数。

3.在axTOCControl1_OnEndLabelEdit事件中添加以下代码:

private void axTOCControl1_OnEndLabelEdit(object sender, ESRI.ArcGIS.TOCControl.ITOCControlEvents_OnEndLabelEditEvent e)

{

// 禁止在编辑标签时键入空字串

string newLabel = e.newLabel;

if ( newLabel.Trim() == "" )

{

e.canEdit = false;

}

}

4. 生成并生成应用程序。编辑TOCControl控件的地图、图层、标题或图例

类的标签,在其上点击一次,然后再点一次调用标签编辑。试着用空字串

替代标签。在编辑期间,你可以随时使用键盘上的ESC键取消编辑。

(九) 在MapControl上绘制图形

你可以将MapControl作为缩略图窗体使用,并在其上绘制显示PageLayoutControl内的焦点地图的当前范围。当你浏览PageLayoutControl数据框

架内的数据时,你将看到缩略图窗口也进行了更新。

注:使用地图导航工具导航焦点图(活动图)将改变PageLayoutControl中焦点地图的范围并引起MapControl更新。使用页面布局工具导航页面布局将改变页面布局的范围(不是PageLayoutControl中的焦点图的范围),而MapControl将不更新。

1. 向类中增加下列成员变量:

public class Form1 : System.Windows.Forms.Form

{

private ESRI.ArcGIS.MapControl.AxMapControl axMapControl1;

private ESRI.ArcGIS.PageLayoutControl.AxPageLayoutControl axPageLayoutControl1;

private ESRI.ArcGIS.TOCControl.AxTOCControl axTOCControl1;

private ESRI.ArcGIS.ToolbarControl.AxToolbarControl axToolbarControl1;

private IToolbarMenu m_ToolbarMenu = new ToolbarMenuClass(); // 弹出式菜单

private IEnvelope m_Envelope; // MapControl绘制的范围

private Object m_FillSymbol; // 在MapControl上绘制范围使用的符号

private ITransformEvents_VisibleBoundsUpdatedEventHandler

visBoundsUpdatedE; // PageLayoutControl的焦点图事件

注:声明的变量visBoundsUpdatedE是一个托管。托管是一个类,它能够拥有对指定方法的引用,并使它链接到一个特定的事件。在事件和方法之间的链接过程有时在.NET中被称作wiring。

2. 创建一个叫CreateOverviewSymbol的新函数。这个函数是创建你将在

MapControl中使用的符号的地方,此符号是用来描述PageLayoutControl焦

点地图数据范围的。函数中增加的代码如下:

private void CreateOverviewSymbol()

{

// 获取IRGBColor接口

IRgbColor color = new RgbColor();

// 设置颜色属性

color.RGB = 255;

// 获取ILine符号接口

ILineSymbol outline = new SimpleLineSymbol();

// 设置线符号属性

outline.Width = 1.5;

outline.Color = color;

// 获取IFillSymbol接口

ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbolClass();

// 设置填充符号属性

simpleFillSymbol.Outline = outline;

simpleFillSymbol.Style = esriSimpleFillStyle.esriSFSHollow;

m_FillSymbol = simpleFillSymbol;

}

3. 从Form_Load事件在TOCControl标签编辑代码之前调用

CreateOverviewSymbol函数。

private void Form1_Load(object sender, System.EventArgs e)

{

// 当缩放时禁止重绘

this.SetStyle(ControlStyles.EnableNotifyMessage, true);

// 创建MapControl使用的符号

CreateOverviewSymbol();

// 下面是标签编辑处理代码

// ……

}

4. 增加下列OnVisibleBoundsUpdated函数。此函数将与地图范围改变时触

发的事件相连接,并用来设置新的地图可见边界范围框。通过刷新

MapControl,你强制它重绘其上显示的图形。

private void OnVisibleBoundsUpdated(IDisplayTransformation sender, bool sizeChanged)

{

// 设置新的可见范围

m_Envelope = sender.VisibleBounds;

// 改变MapControl的前景状态

axMapControl1.ActiveView.PartialRefresh(

esriViewDrawPhase,esriViewForeground, null, null);

}

5. PageLayoutControl默认的事件接口是IPageLayoutControlEvents。这些事

件不告诉我们数据边框内的地图范围。为此你需要使用PageLayoutControl

的焦点地图的ItransformEvents接口。在

PageLayoutControl_OnPageLayoutReplaced事件处理中的加载文档代码前面

增加以下代码。

private void axPageLayoutControl1_OnPageLayoutReplaced(object sender, ESRI.ArcGIS.PageLayoutControl.IPageLayoutControlEvents_OnPageLayoutReplaced Event e)

{

// 获取PageLayoutControl中焦点地图的IActiveView对象

IActiveView activeView = (IActiveView)

axPageLayoutControl1.ActiveView.FocusMap;

// 捕捉PageLayoutControl的焦点图的ITransformEvents事件

visBoundsUpdatedE = new ITransformEvents_VisibleBoundsUpdatedEventHandler(OnVisibleB oundsUpdated);

((ITransformEvents_Event)activeView.ScreenDisplay

.DisplayTransformation).VisibleBoundsUpdated += visBoundsUpdatedE;

// 获取焦点图的范围

m_Envelope = activeView.Extent;

// 后面是加载地图文档的代码

// ……

6. 在设计模式下显示窗体并从属性窗中选择axMapControl1,显示

axMapControl事件。双击OnAfterDraw向代码窗口中增加事件处理。

7. 向axMapControl1_OnAfterDraw事件处理中增加以下代码,使用前面创

建的符号绘制MapControl显示边框。

private void axMapControl1_OnAfterDraw(object sender, ESRI.ArcGIS.MapControl.IMapControlEvents2_OnAfterDrawEvent e)

{

if ( m_Envelope == null)

{

return;

}

// 如果前景状态被重绘

esriViewDrawPhase viewDrawPhase = (esriViewDrawPhase)e.viewDrawPhase;

if ( viewDrawPhase == esriViewDrawPhase.esriViewForeground )

先进制造技术论文

随着科学技术的飞速发展和市场竞争日益激烈,越来越多的制造企业开始将大量的人力、财力和物力投入到先进的制造技术和先进的制造模式的研究和实施策略之中。改革开放以来,我国制造科学技术有日新月异的变化和发展,确立了社会主义市场经济体制,但与先进的国家相比仍有一定差距,为了迎接新的挑战,必须认清制造技术的发展趋势,缩短与先进国家的差距,使我国的产品上质量、上效率、上品种和上水平,以增强市场竞争力,因此,对制造技术及制造模式的研究和实施是摆在我们面前刻不容缓的重要任务,以实现我国机械制造业跨入世界先进行列。 一.先进制造技术的概念 (1)先进制造技术的内涵 目前对先进制造技术尚没有一个明确的、一致公认的定义,经过近年来对发展先进制造技术方面开展的工作,通过对其特征的分析研究,可以认为:先进制造技术是制造业不断吸收信息技术和现代管理技术的成果,并将其综合应用于产品设计、加工、检测、管理、销售、使用、服务乃至回收的制造全过程,以实现优质、高效、低耗、清洁、灵活生产,提高对动态多变的市场的适应能力和竞争能力的制造技术的总称。 (2)先进制造技术的特点 先进制造技术最重要的特点在于,它首先是一项面向工业应用,具有很强实用性的新技术。先进制造技术相对传统制造技术在应用范围上的一个很大不同点在于,传统制造技术通常只是指各种将原材料变成成品的加工工艺,而先进制造技术虽然仍大量应用于加工和装配过程,但由于其组成中包括了设计技术、自动化技术、系统管理技术,因而则将其综合应用于制造的全过程。并且传统制造技术的学科、专业单一独立,相互间的界限分明;先进制造技术由于专业和学科间的不断渗透j交叉、融合,界线逐渐淡化甚至消失,技术趋于系统化、集成化、已发展成为集机械、电子、信息、材料和管理技术为一体的新型交叉学科。随着微电子、信息技术的引入,使先进制造技术还能驾驭信息生成、采集、传递、反馈、调整的信息集成过程。先进制造技术是可以驾驭生产过程的物质流、能量流和信息流的系统工程。为确保生产和经济效益持续稳步的提高,能对市场变化做出更灵捷的反应,以及对最佳技术效益的追求,提高企业的竞争能力,先进制造技术比传统的制造技术更加重视技术与管理的结合,更加重视制造过程组织和管理体制的简化以及合理化,从而产生了一系列先进的制造模式。随着世界自由贸易体制的进一步完善,以及全球交通运输体系和通信网络的建立,制造业将形成全球化与一体化的格局,新的先进制造技术也必将是全球化的模式。 先进性作为先进技术的基础——制造技术,必须是经过优化的先进工艺。因此,先进制造技术的核心和基础必须是优质、高效、低耗、清洁的工艺。它从传统工艺发展起来,并与新技术实现了局部或系统集成。通用性先进制造技术不是单独分割在制造过程的某一环节,它覆盖了产品设计、生产设备、加工制造、维修服务、甚至回收再生的整个过程。系统性随着微电子、信息技术的引入,先进制造技术能驾驭信息生成、采集、传递、反馈、调整的信息流动过程。先进制造技术能驾驭生产过程的物质流、能源流和信息流的系统工程。集成性先进制造技术由于专业、学科间的不断渗透、交叉、融合,界限逐渐淡化甚至消失,技术趋于系统化,已发展成为集机械、电子、信息、材料和管理技术于一体的新兴交叉学科,因此有人称其为制造工程。技术与管理的更紧密结合对市场变化做出更敏捷的反应及对最佳经济效益的追求,使先进制造技术十分重视生产过程的

先进制造技术电子教案

第十一章现代制造技术简介 本章主要介绍以下内容: .概述 1 2.现代制造系统物流技术 3.现代制造生产管理技术 课时分配:1、2、3,共两学时 重点:难点:略 现代科学技术的发展与交叉融合,给制造技术提出了新的要求,也给予了强大支持。因此,涌现了许多先进制造技术。超高速切削、超精密加工、微机械制造等技术近年来有了长足的发展。 制造系统主要由物流、信息流和资金流组成。制造系统的设计主要对这三个系统进行设计。快速响应制造技术主要包括产品的快速设计、快速开发、快速制造及生产系统的快速组成。先进制造技术的许多重要概念都与快速响应密切相关。其中主要有快速成形制造(RP&M,Rapid Prototyping & Manufacturing),并行工程、虚拟制造、CIMS、敏捷制造、动态联盟与虚拟公司等。 可持续发展战略以高技术努力降低自然资源消耗,把环境保护与自然资源统筹考虑地发展11.1制造技术的新发展制造技术的新发展 一、超精密加工 现代机械工业之所以要致力于提高加工精度,其主要原因在于:提高产品的性能和质量,提高其稳定性和可靠性,促进产品的小型化,增强零件的互换性,提高装配生产率,并促进自动化装配。超精密加工。它是尖端技术产品发展中不可缺少的关键加工手段。精密、超精密加工技术的提高,有力地推动了各种新技术的发展。 精密和超精密加工目前包含三个领域: ①超精密切削。如超精密金刚石切削,可加工各种镜面,它成功地解决了高精度大型抛物面镜的加工,用于激光光核聚变系统和天体望远镜。 ②精密和超精密磨削研磨。可以解决大规模集成电路基片的加工和高精度硬磁盘的加工等。 ③精密特种加工。如电子束、离子束加工,使美国超大规模集成电路线宽达0.1μm(八十年代水平)。 二、微机械制造技术 在机械装置的小型化过程中出现两类机械,即小型机械和微型机械。可以这样划分:10mm~1mm 为小型机械,用精密加工的方法可以制造出来;1mm~1um为微型机械,需要用硅是分子级的,为纳米机械1nm~1um技术等微细加工方法才能制造出来;LIGA微加工技术或. 零件,需采用生物工程的方法制造。 微型机械不是传统机械的简单微型化,而是指集微型机构、微型传动器以及信号处理和控制电路,甚至外围接口电路、通讯电路和电源等于一体的微型机电系统。因此,微型机械远远超出了传统机械的概念和范畴,是基于现代科学技术,用崭新的思维方法指导的产物。

C语言程序设计第二章-常用数据类型

第二章常用数据类型 【学习目标】 本章将学习一些基本的程序概念,如程序结构、标识符、章的学习要 关键字和注释等。本点包括如下几点: (1)了解C语言的基本结构。 (2)分号、块和空白的使用。 (3)标识符的约束规则。 (4)C关键字。 (5 )直接量的认识。 (6)注释的使用。 【学习导航】 本章的在整个课程中的位置如图2-1所示。 图2-1 本章学习导航

2.1 C语言基本程序结构 任何一种程序设计语言都具有特定的语法规则和规定的表达方法。一个程序只有严格按 照语言规定的语法和表达方式编写,才能保证编写的程序在计算机中能正确地执行,同时也 便于阅读和理解。为了了解C语言的基本程序结构,请看【课堂案例2-1】。 【课堂案例2-1】在控制台输出“你好”。 【案例目标】会使用Xcode编辑器实现字符串输出 【案例知识要点】C语言的程序结构、基本输出语句 【案例程序代码】hello.c 1#i nclude 2 2mai n() 3{ 4printf(你好”); 5} 【案例代码说明】 第1行的作用是进行相关的预处理操作。include成为文件包含命令,<>里的内容称为 头文件。头文件一般的扩展名为.ho stdio就是指“ sta ndard in put & output"(标准输入输出),所以,源代码中如用到标准输入输出函数时,就要包含这个头文件。 第2行是一个空行。空行不会影响程序的功能。空行起着分隔程序段落的作用,适当使用空行将使程序的布局更加清晰,提高程序的可读性。空行不会浪费内存,所以不要舍不得 用空行。一般建议在头文件后插入一个空行。 第3行声明了一个main函数,main是函数名。关于函数的详细介绍在第七章。main 函数具有特殊意义,它是程序执行的入口,也就是说,程序都是从main函数开始执行的。 第4—6行定义了main函数的内容,称为函数体。以“{”开始,以“ }”结束。 第5行调用了在stdio.h中的格式化输出函数printf,其作用是向终端(显示器、控制台)输出字符。在这一行结束时,需要加上(;)。在C语言中,一行代码由分号(;)终止。 图2-2是程序hello.c的执行结果: 图2-2 Simple.c程序输出结果 知识链接一编程规范 在hello.c程序中,要注意以下的编程规范: 【规则1-1】用#“clude 格式来引用标准库的头文件。 【规则1-2】包含头文件时一般不使用绝对路径名。 【规则1-3】在头文件和main函数之间使用空行隔开。 【规则1-4】函数体里面的内容(即{ }里面的内容),需要水平缩进四个空格。如第5行所示。hello.c

我对先进制造技术的认识

我对先进制造技术的认识 摘要:先进制造技术内涵广泛、学科交叉,并且不断地发展与完备,在激烈的国际市场竞争中,制造业要求生存和发展,必须掌握并科学运用最先进的制造技术。先进制造技术也是改造传统产业的有力武器。先进制造技术的发展与产业化,将对国民经济的发展产生越来越大的影响。 关键词:先进制造技术发展前景 1.引言 制造业是现代国民经济和综合国力的重要支柱,在国民经济建设、社会进步、科技发展与国家安全中占有重要战略地位,其生产总值一般占一个国家国内生产总值的20%~50%。世界各国经济实力的竞争,主要是先进制造技术的竞争,其竞争能力又体现在所生产产品的市场占有率上。随着经济的高速发展以及顾客需求和市场环境的不断变化,这种竞争日趋激烈,因而各国政府都非常重视对先进制造技术(advancedmanufacyuing technology,先进制造技术)的研究。 2.先进制造技术的概述 先进制造技术(Advanced Manufacturing Technology),人们往往用AMT 来概括由于微电子技术、自动化技术、信息技术等给传统制造技术带来的种种变化与新型系统。具体地说,就是指集机械工程技术、电子技术、自动化技术、信息技术等多种技术为一体所产生的技术、设备和系统的总称。主要包括:计算机辅助设计、计算机辅助制造、集成制造系统等。AMT是制造业企业取得竞争优势的必要条件之一,但并非充分条件,其优势还有赖于能充分发挥技术威力的组织管理,有赖于技术、管理和人力资源的有机协调和融合。 3.先进制造技术的体系结构 (a)主体技术群它包括两个基本部分:有关产品设计技术和工艺技术。 (1)面向制造的设计技术群 面向制造的设计技术群系指用于生产准备(制造准备)的工具群和技术群。设计技术对新产品开发生产费用、产品质量以及新产品上市时间都有很大影响。产品和制造工艺的设计可以采用一系列工具,例如计算机辅助设计(CAD)以及工艺过程建模和仿真等,生产设施、装备和工具,甚至整个制造企业都可以采用先进技术更有效地进行设计。近几年发展起来的产品和工艺的并行设计具有双重目的,一是缩短新产品上市的周期,二是可以将生产过程 中产生的废物减少到最低程度,使最终产品成为可回收、可再利用的,因此对实现面向保护环境的制造而言是必不可少的。 (2)制造工艺技术群(加工和装配技术群) 制造工艺技术群是指用于物质产品(物理实体产品)生产的过程及设备。例如,模塑成形、铸造、冲压、磨削等。随着高新技术的不断渗入,传统的制造工艺和装备正在产生质的变化。制造工艺技术群是有关加工和装配的技术,也是制造技术或称生产技术的传统领域。 (b)支撑技术群支撑技术群是指支持设计和制造工艺两方面取得进步的

MySQL常用数据类型和建库策略

1. MYSQL 5数据类型,长度范围 1.1数值类型 MySQL支持所有标准SQL数值数据类型.这些类型包括严格数值数据类型(INTEGER,SMALLINT,DECIMAL和NUMERIC),以及近似数值数据类型 (FLOAT,REAL 和DOUBLE PRECISION).关键字INT是INTEGER的同义词,关键字DEC是DECIMAL 的同义词. BIT 数据类型保存位字段值,并且支持MyISAM,MEMORY,InnoDB和BDB表.作为SQL标准的扩展,MySQL也支持整数类型 TINYINT,MEDIUMINT和BIGINT.下面的表显示了需要的每个整数类型的存储和范围. MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例 如,INT(4)).该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度. 显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示. 当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替.例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004.请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度. 所有整数类型可以有一个可选(非标准)属性UNSIGNED.当你想要在列内只允许 非负数和该列需要较大的上限数值范围时可以使用无符号值. 浮点和定点类型也可以为UNSIGNED.同数类型,该属性防止负值保存到列中.然而,与整数类型不同的是,列值的上范围保持不变. 如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性. 对于浮点列类型,在MySQL中单精度值使用4个字节,双精度值使用8个字节. FLOAT类型用于表示近似数值数据类型.SQL标准允许在关键字FLOAT后面的括号内选择用位指定精度(但不能为指数范围).MySQL还支持可选的只用于确定存储大小的精度规定.0到23的精度对应FLOAT 列的4字节单精度.24到53的精度对应DOUBLE列的8字节双精度. MySQL允许使用非标准语法:FLOAT(M,D)或 REAL(M,D)或DOUBLE PRECISION(M,D).这里,"(M,D)"表示该值一共显示M位整数,其中D位位于小数点后面.例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999.MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001.

先进制造技术课程教学大纲

《先进制造技术》课程教学大纲 一、课程简介 课程名称:先进制造技术 英文名称:Advanced Manufacturing Technology 课程代码:0110993 课程类别:专业课 学分:2 总学时数:32 先修课程:机械基础,机械制造技术,机械CAD/CAM 课程概要: 先进制造技术课程是工科院校机械相关专业的一门重要的专业课。课程主要介绍先进制造技术的内涵、体系结构及发展趋势,以及现代设计技术、先进制造工艺技术、制造自动化技术、现代生产管理技术以及先进制造生产模式,全面介绍了先进制造技术的基本内容和最新技术。 二、教学目的及要求 先进制造技术是学生掌握和了解现代制造技术的发展情况和技术前沿,是机械各专业教学计划中的主干课程。先进制造技术已经成为各国经济发展和满足人民日益增长需要的主要技术支撑,成为高新技术发展的关键技术,通过本课程学习,使学生全面了解制造技术的现状与发展趋势,掌握先进制造技术方法,先进制造工艺,更新制造技术理念。本门课程涉及到计算机技术、自动控制技术、人工智能技术、生物工程技术和现代检测技术等多学科内容。 本课程的主要任务是培养学生: 掌握目前制造业中先进的制造技术和制造工艺; 2.了解国内外先进制造技术的发展趋势; 3.了解先进制造技术的应用情况和场合; 4.了解先进制造技术对推动制造技术发展的重要性; 三、教学内容及学时分配 第一章先进制造技术概论(4学时) 1 制造与制造技术 2 先进制造技术的提出 3 先进制造技术的体系结构和分类 4 先进制造技术的发展趋势

重点掌握:介绍先进制造技术的由来、概念、特点、现状和发展前景 一般掌握:十大先进制造技术简介及其基本发展理念 了解:与课程相关的一些基本概念 第二章先进设计技术(6学时) 1 先进设计技术概述 2 计算机辅助设计技术 3 计算机辅助工艺规程设计 4 模块化设计 5 逆向工程 6 其他先进设计方法 重点掌握:先进设计技术概述、计算机辅助设计技术、计算机辅助工艺规程设计、模块化设计。 一般掌握: 未来精密加工、微型设备制造和精品仪器设备的发展蓝图 了解:逆向工程,其他先进设计方法 第三章先进制造工艺(6学时) 1 先进制造工艺的发展及其内容 2 超精密加工 3 微细/纳米加工技术 4 高速加工技术 5 现代特种加工技术 6 快速原型制造技术 7 绿色制造技术 重点掌握:现代制造业中最新工艺及其发展 一般掌握:世界快速制造的基本原理和方法 了解:市场发展规律和企业自身有效技术改造的方法,培养宏观驾驭能力 第四章制造自动化技术(4学时) 1 制造自动化技术概述 2 现代数控加工技术 3 工业机器人技术 4 柔性制造技术

中国航信标准数据格式_20050628

附件2: 中国航信标准数据格式

目录 中国航信标准数据使用说明 (3) 中国航信标准数据格式说明 (5) 中国航信标准数据格式 (7) 航班数据 (7) SCH数据 (8) 收益数据 (11) PNR数据(销售) (16) PNR数据(成行) (18) TCN数据 (20) CKI数据(详细) (33) CKI数据(汇总) (36) LDP数据 (38) BIDT数据 (41) MIDT数据 (43) 中国航信标准数据传输和保障流程 (45)

中国航信标准数据使用说明 中国航信作为国内航空公司共同发起设立的民航业IT服务公司,致力于为股东航空公司提供优质高效的民航业信息技术服务。为全力支持和配合航空公司针对本公司数据的一切合理使用的要求,辅助航空公司的日常运营和管理决策,中国航信整合三大业务系统数据,起草了《中国航信标准数据格式》。 《中国航信标准数据格式》是以中国航信的航班控制系统(ICS)、计算机分销系统(CRS)、离港系统(DCS)为依托,提取了包括收益、PNR、票面、值机、配载等信息在内的民航业常用数据,并参考国际通行数据标准,制定了中国航信标准的BIDT/MIDT数据格式。它是根据中国航信的实际情况和航空公司业务发展需要提出的,目的是通过规范数据格式的标准和提供方式,尽最大可能满足航空公司对数据的需求,调整和密切双方的合作关系,最大程度的保障航空公司的业务发展。 针对该数据格式的使用,特作如下说明: 1、该数据的提供对象为所有HOST在航信并与航信正式签署《航空公司服 务协议》的航空公司; 2、考虑到航空公司对数据的自主所有权,除MIDT数据外,其余数据均只 涉及本航空公司数据,不提供竞争数据; 3、该格式充分考虑了航空公司数据需求的多样性,在一段时间内保持稳定, 航信会定期进行标准数据格式的修改,主要是针对航空公司集中反映的 数据项予以调整,此调整将通报所有航空公司并在得到大部分航空公司 的书面认可后进行;

对先进制造技术的认识

对“先进制造技术”的认识综述 制造业是推动人类历史发展和文明进程的主要动力产业,是国家高技术产业的基础和国家安全的重要保障,而先进制造技术则是保障制造业高水平持续快速发展的基础,在国民经济中起着重要的作用。 所谓先进制造技术(Advanced Manufacturing Technology,AMT)是以提高制造企业对市场的快速响应能力和企业综合效益为目的,以计算机技术指为支持,集机械、电子、信息、材料、能源和管理等各项先进技术而发展起来的高新技术。先进制造技术指的是不断吸收信息技术和现代管理技术的成果,并将其综合应用于产品设计、加工、检测、生产管理、产品销售、使用、回收等制造全过程的制造技术的总称[1]。 先进制造技术不仅是衡量一个国家科技发展水平的重要标志,也是国际间科技竞争的重点[2]。经过30多年的改革开放我国正处在经济发展的关键时期,虽然经过几代人的努力中国已经成为又一个“世界工厂”,但是制造技术仍然是中国的薄弱环节,与发达国家相比仍然存在很大的差距,“世界工厂”并不意味着中国就是世界制造强国了,因此大力发展先进制造技术是非常有必要的,我们不仅要发展而且还要有创造性的发展,使我们能在激烈竞争的形势中占得先机。制造业中最主要的是机械制造,改革开放以来,通过技术改造和引进国外先进技术.我国机械制造技术水平不断发展和提高,已经具有了相当的规模和实力[3],先进制造技术的发展在我国机械行业的振兴中具有举足轻重的地位。 在先进制造技术的发展中,主要有以下几个关键性的技术:成组技术、敏捷制造、并行工程、快速成型技术、虚拟制造技术以及智能制造技术等。 (1)成组技术(Group Technology,GT)。成组技术(GT)是指利用事物间的相似性,按照一定的准则将事物进行分类成组,针对同组事物采用同一方法进行处理,以便提高效益的技术。在机械制造工程中,成组技术是计算机辅助制造的基础,在设计过程中,将成组哲理用于设计、制造和管理等整个生产系统,以改变多品种小批量的生产方式,将会获得最大的经济效益。成组技术的核心是成组工艺,它是将结构、材料、工艺相近似的零件组成一个零件族(组) ,按零件族制定工艺进行加工,扩大批量、减少品种,便于采用高效方法、提高劳动生产率。 (2)敏捷制造(Agile Manufacturing, AM )。敏捷制造(AM)是指企业实现敏

先进制造技术_第七次教案

先进制造技术_第七次 教案 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

教案

讲稿 第三节高速加工技术 一、高速加工的概念与特征 普通加工超过70%是辅助时间(零件的上下料、测量、换刀和调整机床)几十年,主要是减少加工过程的辅助时间。 20世纪50年代美国麻省理工学院发明了数控技术,实现了多品种、小批量生产的柔性自动化,成功解决了形状复杂、重复加工精度高的零件的加工,节省了辅助工时,提高了生产效率。 机床空行程动作(自动换刀、上下料)大大加快,辅助工时也大为缩短。自动换刀时间缩短小于1s,空行程速度提高到30~60m/min。但再减少辅助工时,技术上有难度,经济上不合算。可以减少切削的工时,提高切削速度和进给速度。 高速加工可以成倍提高机床的生产效率,还可以改善加工质量和精度。 高速加工技术:是指采用超硬材料的刀具和磨具,能可靠地实现高速运动的自动化制造设备,极大地提高材料的切除率,并保证加工精度和加工质量的现代制造加工技术。 以切削速度和进给速度界定:高速加工的切削速度和进给速度为普通切削的5~10倍。 以主轴转速界定:高速加工的主轴转速≥10000 r/min。 刀具:PCD、CBN、超细晶粒硬质合金、Si3N4陶瓷、TiN基硬质合金,涂层刀具。 高速切削和普通切削的比较

机床价格低高 环境状况噪声、油污、烟尘清洁生产 1. 高速加工切削速度的范围 高速加工切削速度范围因不同的工件材料而异 铝合金:1000-7000 m/min◎铜:900-5000 m/min◎钢:500-2000 m/min◎灰铸铁:800-3000 m/min◎钛:100-1000m/min 高速加工切削速度范围随加工方法不同也有所不同 ◎车削:700-7000 m/min◎铣削:300-6000 m/min◎钻削:200-1100 m/min◎磨削:50-300 m/s 2. 切削理论的提出 泰勒(Frederick W.Taylor)是最早研究金属切削机理的学者之一。提出了传统的切削速度和刀具寿命的关系为线性,即刀具的速度越高,刀具的磨损越快。但在实际生产中出现了违反这一规律的现象。 由德国Carl Salmon 博士,在1931 年4 月,根据实验曲线,提出著名的“萨洛蒙曲线”和高速切削理论。 Carl Salmon萨洛蒙对铝和铸铜等有色金属进行了高速实验,所得结果图中的实线所示。虚线是推算出来的,并没有经过实验验证。 萨洛蒙指出:A 区(常规切削区),切削速度t 随切削温度v 的提高而升高,但是在B 区(不可用切削区),当速度v增大到某一数值v0 后( v 0的大小同工件材料的种类有关), v 再增大, t 反而下降了。 由于在这个区域,t 太高,任何刀具材料都无法接受, 切削加工不可能进行,因此,这个区域被称之为“死谷”。 C区,高速切削区。

数据库常用数据类型

(1) 整数型 整数包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。 l bigint:大整数,数范围为-263 (-9223372036854775808)~263-1 (9223372036854775807) ,其精度为19,小数位数为0,长度为8字节。 l int:整数,数范围为-231 (-2,147,483,648) ~231 - 1 (2,147,483,647) ,其精度为10,小数位数为0,长度为4字节。 l smallint:短整数,数范围为-215 (-32768) ~215 - 1 (32767) ,其精度为5,小数位数为0,长度为2字节。 l tinyint:微短整数,数范围为0~255,长度为1字节,其精度为3,小数位数为0,长度为1字节。 (2) 精确整数型 精确整数型数据由整数部分和小数部分构成,其所有的数字都是有效位,能够以完整的精度存储十进制数。精确整数型包括decimal 和numeric两类。从功能上说两者完全等价,两者的唯一区别在于decimal不能用于带有identity关键字的列。 声明精确整数型数据的格式是numeric | decimal(p[,s]),其中p为精度,s为小数位数,s的缺省值为0。例如指定某列为精确整数型,精度为6,小数位数为3,即decimal(6,3),那么若向某记录的该列赋值56.342689时,该列实际存储的是56.3427。 decimal和numeric可存储从-1038 +1 到1038 –1 的固定精度和小数位的数字数据,它们的存储长度随精度变化而变化,最少为5字节,最多为17字节。 l 精度为1~9时,存储字节长度为5; l 精度为10~19时,存储字节长度为9; l 精度为20~28时,存储字节长度为13; l 精度为29~38时,存储字节长度为17。 例如若有声明numeric(8,3),则存储该类型数据需5字节,而若有声明numeric(22,5),则存储该类型数据需13字节。 注意:声明精确整数型数据时,其小数位数必须小于精度;在给精确整数型数据赋值时,必须使所赋数据的整数部分位数不大于列的整数部分的长度。 (3) 浮点型 浮点型也称近似数值型。顾名思义,这种类型不能提供精确表示数据的精度,使用这种类型来存储某些数值时,有可能会损失一些精度,所以它可用于处理取值范围非常大且对精确度要求不是十分高的数值量,如一些统计量。

对机械制造的认识

制造技术——完成制造活动所需的一切手段的总和,是为国民经济建设和人民生活生产各种必需物质所使用的一切生产技术的总称。健康发达的高质量制造业必然有先进制造技术作为后盾。 机械制造技术————是人类历史上最早发展起来的实用技术之一。机械制造技术主要研究机械产品的加工原理、工艺方法以及相应设备设计方法。 现代机械制造技术不在是仅仅是以力学、切削原理为主要基础的一门科学,而是涉及了机械科学、自动控制技术、系统科学、信息科学、管理科学的一门综合科学。 机械制造业是制造业的一部分,但是制造业基础和核心部分。 为国民经济各部门提供装备的部门。装备的先进与否对整个国民经济影响极大。 更是“生产”机械制造新技术和其它行业新技术的部门;21世纪制造业的必然和主流——先进制造技术,其总的理念和许多先进制造技术就在机械制造领域生产和科学研究中产生并完善,是机械制造业健康、持续发展的保障,也推广到其它行业,发挥着重要作用,产生出巨大效益。 是应用科学技术的主要领域,是应用最新科技推动社会、经济发展的主导产业。

在制造业总产值中占的比重大;为社会提供产品比重大,是解决劳动就业的大产业;机械产品的出口额占总产品的出口额比重大。 现代机械制造技术不在是仅仅是以力学、切削原理为主要基础的一门科学,而是涉及了机械科学、自动控制技术、系统科学、信息科学、管理科学的一门综合科学 机械制造技术是当代科学技术发展最为活跃的领域,是国际间产品革新、生产发展、经济竞争的重要手段,各工业化国家纷纷把先进机械制造技术列为国家的高新关键技术和优先发展项目,给予了极大的重视和关注。机械制造业的生产能力和技术水平是一个国家或地区社会经济、科学技术、国防实力的标志。 可以这样说:机械制造业的生产能力和技术水平是一个国家或地区社会经济、科学技术、国防实力的重要标志之一。 以说:先进制造技术是一个国家繁荣昌盛的最根本的技术基础之一。先进制造技术其重要作用正越来越被人们所认识。 是国民经济各部门发展的主要技术支撑; 是高新技术产业化的重要技术支撑; 是加强和实现国防现代化的主要技术支撑; 是增强企业市场竞争力的主要技术支撑; 是满足人民日益增长需要的主要技术支撑。 先进制造技术中大多是先进机械制造技术,产生于机械制造科学研究和机械制造生产实践,是机械制造业健康、持续发展的保障,也推广到其它行业,发挥着重要作用,产生出巨大效益。

实习指导书-第八章-ArcGIS-Engine三维开发

第八章ArcGIS Engine的三维开发 8.1ArcGIS三维分析及其控件简介 8.1.1 ArcGIS三维分析简介 ArcGIS三维分析提供了对表面数据有效的可视化和分析。使用三维分析,可以从多个角度来浏览表面数据,查询表面,从表面上一选定的位置来确定什么对象可见,以及通过叠加栅格和矢量数据来创建一幅逼真的透视图。 三维分析(3D Analyst)添加了两个专用的三维可视化应用程序:ArcScene和ArcGlobe,它们扩展了ArcGIS Desktop的功能,并且扩展了ArcCatalog和ArcMap的三维功能。 ArcScene允许用户制作具有透视效果的场景,在这个场景中可以对地理信息系统数据进行浏览和交互。用户可以在表面上叠加栅格和矢量数据,并从矢量数据源创建线、面和体。用户也可以使用ArcScene 中的三维分析工具创建和分析表面。 ArcGlobe提供在标准计算机硬件上对巨型三维栅格、地形和矢量数据集进行实时漫游和缩放,在此过程中基本不会感觉到速度上的问题。这主要是依靠一种新引入的索引和快速检索数据的方法实现的。 利用三维分析扩展ArcCatalog,从而实现对三维数据的管理并且创建具有三维视觉属性的图层。用户可以在ArcCatalog中使用与ArcScene中相同的浏览工具预览三维场景和数据。 利用三维分析扩展ArcMap,从而可以由GIS数据生成新的表面,以及分析表面、查询表面某一位置的属性值和分析表面不同位置的可见性。用户还可以计算表面面积和表面之上或者表面之下的体积,并沿表面上的三维线生成剖面。 1

8.2ArcGIS三维显示简介 ArcGIS Desktop中,可用于三维场景展示的程序为ArcGlobe和ArcScene,由于两者的差别,在三维场景展示中适用的情况有所不同。由于Engine与Desktop底层技术都是基于AO的,因此该比较结果在功能性和整体效率方面同样适用与GlobeControl和SceneControl。 ArcScene简介: ArcScene是一个适合于展示三维透视场景的平台,可以在三维场景中漫游并与三维矢量与栅格数据进行交互。ArcScene是基于OpenGL 的,支持TIN数据显示。显示场景时,ArcScene会将所有数据加载到场景中,矢量数据以矢量形式显示,栅格数据默认会降低分辨率来显示以提高效率。 图1 ArcScene界面 ArcGlobe简介: ArcGlobe是ArcGIS9.0之后出现的新产品,设计用于展示大数据量的场景,支持对栅格和矢量数据无缝的显示。ArcGlobe基于全球视 2

学习《先进制造技术》的感悟

学习《先进制造技术》的感悟 摘要:随着我国制造业的的不断发展,先进制造技术得到越来越广泛的应用。介绍了先进制造技术和先进制造模式的内容和发展情况,从两种角度解释其结构特征和关系,并从各种不同角度展望先进制造技术和先进生产模式的发展前景及其趋势特征。 谈先进制造技术 先进制造技术AMT(Advanced Manufacturing Technology)是在传统制造的基础上,不断吸收机械、电子、信息、材料、能源和现代管理技术等方面的成果,将其综合应用于产品设计、制造、检测、管理、销售、使用、服务的制造全过程,以实现优质、高效、低耗、清洁、灵活生产,提高对动态多变的市场的适应能力和竞争能力的制造技术的总称,也是取得理想技术经济效益的制造技术的总称。当前的金融危机也许还会催生新的先进制造制造技术,特别在生产管理技术方面。 先进制造技术不是一般单指加工过程的工艺方法,而是横跨多个学科、包含了从产品设计、加工制造、到产品销售、用户服务等整个产品生命周期全过程的所有相关技术,涉及到设计、工艺、加工自动化、管理以及特种加工等多个领域,并逐步融合与集成。可基本归纳为以下四个方面: a、先进的工程设计技术 b、先进制造工艺技术 c、制造自动化技术 d、先进生产管理技术、制造哲理与生产模式 一、先进的工程设计技术 先进的工程设计技术包括众多的现代设计理论与方法。包括CAD、CAE、CAPP、CAT、PDM、模块化设计、DFX、优化设计、三次设计与健壮设计、创新设计、反向工程、协同产品商务、虚拟现实技术、虚拟样机技术、并行工程等。 (1)产品(投放市场的产品和制造产品的工艺装备(夹具、刀具、量检具等))设计现代化。以CAD为基础(造型,工程分析计算、自动绘图并提供产品数字化信息等),全面应用先进的设计方法和理念。如虚拟设计、优化设计、模块化设计、有限元分析,动态设计、人机工程设计、美学设计、绿色设计等等; (2)先进的工艺规程设计技术与生产技术准备手段。在信息集成环境下,采用计算机辅助工艺规程设计、即CAPP,数控机床、工业机器人、三坐标测量机等各种计算机自动控制设备设备的计算机辅助工作程序设计即CAM等。 二、先进制造工艺技术 (1)高效精密、超精密加工技术,包括精密、超精密磨削、车削,细微加工技术,纳米加工技术。超高速切削。精密加工一般指加工精度在10~0.1μm (相当于IT5级精度和IT5级以上精度),表面粗糙度Ra值在0.1μm以下的加工方法,如金刚车、金刚镗、研磨、珩磨、超精研、砂带磨、镜面磨削和冷压加工等。用于精密机床、精密测量仪器等制造业中的关键零件加工,如精密丝杠、精密齿轮、精密蜗轮、精密导轨、精密滚动轴承等,在当前制造工业中占有极重要的地位。超精密加工是指被加工零件的尺寸公差为0.1~0.01μm数量级,表面粗糙度Ra值为0.001μm数量级的加工方法。此外,精密加工与特种加工一

机械加工技术教案

教学课程:绪论 教学目的: 1.了解课程的性质和内容 2.了解机械制造技术的发展现状 3.了解先进制造技术及其发展方向 4.了解课程的目的和要求 教学重点: 1.了解课程的性质和内容 2.了解课程的目的和要求 教学过程: 讲授新课: 一、本课程的性质和内容 本课程所讲的机械制造技术主要是指机械冷加工技术和机械装配技术。 内容包括: (1)掌握金属切削过程的基本规律和机械加工的基本知识。合理选择机械加工方法与机床、刀具、夹具及切削加工参数,并初步具备制订机械加工工艺规程的能力。 (2)掌握机械加工精度和表面质量的基本理论和基本知识。初步具备分析和解决现场工艺问题的能力。 二、机械制造技术的发展现状 我国的制造业得到长足发展,但还存在阶段性的差距。 1.数控机床在我国机械制造领域的普及率不高。 2.国产先进数控设备的市场占有率较低。

3.数控刀具、数控检测系统等数控机床的配套设备不能适应技术发展的需要。 4.机械制造行业的制造精度、生产效率、整体效益等都不能满足市场经济发展的要求。 三、先进制造技术的及其发展方向 先进制造技术是传统制造业不断吸收机械、电子、信息、材料及现代管理等方面的最新成果,将其综合应用于制造的全过程以实现优质、高效、低消耗、敏捷及无污染生产的前沿制造技术的总称。 先进制造技术的主要发展趋势 (1)制造技术向自动化、集成化和智能化的方向发展(CNC)机床、加工中心(MC)、柔性制造系统(FMS)以及计算机集成制造系统(CIMS)等自动化制造设备或系统的发展适应了多品种、小批量的生产方式,它们将进一步向柔性化、对市场快速响应以及智能化的方向发展,敏捷制造设备将会问世,以机器人为基础的可重组加工或装配系统将诞生,智能制造单元也可望在生产中发挥作用。加速产品开发过程的CAD/CAM一体化技术、快速成形(RP)技术、并行工程(CE)和虚拟制造(VM)将会得到广泛的应用。 (2)制造技术向高精度方向发展 21世纪的超精密加工将向分子级、原子级精度推进,采用一般的精密加工也可以稳定地获得亚微米级的精度。精密成形技术与磨削加工相结合,有可能覆盖大部分零件的加工。以微细加工为主要手段的微型机电系统技术将广泛应用于生物医学、航空航天、军事、农业、家庭等领域,而成为下世纪最重要的先进制造技术前沿之一。

标准的数据类型

标准的数据类型 Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

附录C:CoDeSys中的数据类型 标准数据类型 数据类型 用户编程时可以使用标准和自定义数据类型。每个标识符与一种数据类型匹配。数据类型决定了存储内 存空间的大小以及它所存储的值的类型。 布尔变量(BOOL) 布尔类型变量的取值是TRUE(真) 和 FALSE(假). 它保留8 位的存储空间. 参照: BOOL 常量 参看章节 10,11, CoDeSys 中的操作数 , BOOL 常量 整数数据类型 BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, 和UDINT都是整型数据类型。每个不同的数据 类型包含一系列不同的值。下表列出了各整型数据类型的范围界限: 类型下限上限存储器空间 BYTE 0 255 8 位 WORD 0 65535 16 位 位 SINT: -128 127 8 位 USINT: 0 255 8 位 INT: -32768 32767 16 位

UINT: 0 65535 16 位 位 位 当大的数据类型转换成小的数据类型时,有可能导致信息丢失。 参照: 数字常数 也可参看10,11 章,CoDeSyS 中的操作数。 REAL / LREAL REAL 和 LREAL 就是所谓的浮点型类型。他们指代有理数。其中REAL 占32 位存储空间,LREAL 则占64。 REAL 存储范围:~ LREAL 存储范围:~ 也可参见章,REAL-/LREAL 常数 参照:REAL-/LREAL常数 字符串 10-附录 CoDeSys 10-31 字符串类型变量可包含任何一串字符。声明时变量的大小就决定为变量保留多大的存储空间。 此涉及字符串的字符数并可放入圆括号和方括号内。如果未给出变量的大小规格,默认大小 为80 个字符。 基本上,在CoDeSys 中,字符串的长度没有限制,但是字符串的功能仅可以处理1-255 个字符! 35 个字符串声明的例子:

对发展我国先进制造技术的认识

对发展我国先进制造技术的认识 先进制造技术AMT(advanced manufacturing technology)是发展国民经济的重要基础技术之一,是制造业不断吸收机械、电子、信息(计算机与通信、控制理论、人工智能等)、能源及现代系统管理等方面的成果,并将其综合应用于产品设计、制造、检测、管理、销售、使用、服务乃至回收的全过程,以实现优质、高效、低耗、清洁和灵活生产,提高对动态多变的产品市场的适应能力和竞争能力的制造技术的总称。它集成了现代科学技术和工业创新的成果,充分利用了信息技术,使制造技术提高到新的高度,对我国的制造业发展有着举足轻重的作用。 我国制造业的发展较西方国家晚得多。虽然经过近几十年的发展,我国的制造工业已经取得了长足的进步,但和先进国家相比还存在很大差距,主要表现在:技术投入相对不足,原有技术基础和研究开发能力薄弱,制造业产品落后,技术水平低,信息含量少,更新换代慢,以及市场营销、经营管理、人才素质相对落后,缺乏国际竞争能力等方面。进入21世纪后,制造业面临新的挑战和机遇,先进制造技术也处于不断变化和完善之中,为适应形势的变化,我国的制造业也势必走向数字化、集成化、精密化、柔性化、网络化、全球化、虚拟化、智能化、清洁化和管理现代化的发展方向。 而对发展我国的先进制造技术,应该做到的有很多:一方面需要通过多种方式、多渠道筹集资金。可以千方百计引进外资,如通过国内企业与国外跨国公司的合资或合作。通过引进外资,不仅能解决资金方面的燃眉之急,还能在引进资金的同时引进工业发达国家的先进管理理论、方法和经验。另一方面,重视和加强制造技术人才培养,国家可以在市场经济环境下的激励机制,鼓励海外学子学成回国,同时国家和企业要研究工程技术方面的人才培养、使用、进修与深造等一系列相关政策,使用人机制得以完善,使工程技术人才的储备形成梯度,国内各高校注重工科制造类学生的培养,增加对工程类专业的教育投入,培养出社会需要的优秀的制造业学子,以保障我国在发展先进制造技术的过程中有足够的技术和人才储备。 身为“世界工厂”的中国,虽说是制造大国,但离制造强国的地位还相差甚远,国内的科技水平发展不是非常的均衡,我国的创新之路走得也十分的艰难,没有创新就不可能有“中国智造”。在当今世界科技突飞猛进的时代,创新人才的培养是我国制造业乃至整个国家迫在眉睫的事情,我国应加快以企业为中心的技术创新体系的建立,实现技术创新、组织创新、管理创新和人才创新,创新是制造业赖以生存下去的救命草。

ArcGIS_Engine二次开发——基础篇

ArcGIS_Engine二次开发——基础篇 ArcGIS Engine二次开发 ——基础篇

1ArcGIS Engine二次开发——基础篇 1.1第一个简单的A rcGIS Engine地图显示程序 这个例子将引导您创建第一个简单的地图显示程序,并添加基本的缩放和漫游功能。如果您之前没有接触过ArcGIS Engine的开发,那么这个例子是您迈入ArcGIS Engine二次开发大门的极好例子,将从零开始引导您一步一步完成任务。 1.1.1创建一个新的工程 首先打开Microsoft Visual Studio 2005,点击菜单栏中的“文件”—>“新建”—>“项目”,在弹出的对话框中选择新建一个Visual C#的Windows应用程序,之后更改项目名称为“地图浏览”,更改文件的路径为个人实习文件夹,点击“确定”即可。 图1新建项目对话框 选中项目“地图浏览”中的窗体“Form1”,修改其Name属性为“MainForm”,Text 属性为“地图浏览”,

图2窗体命名 1.1.2添加控件及引用 点击编译器最左侧的“工具箱”(不存在时可通过“视图”“工具箱”打开),在弹出的选择项中找到“ArcGIS Windows Forms”项,单击其中的MapControl,之后在Form1的空白处单击鼠标左键不放并拖拽鼠标,直到调整MapControl到合适的大小再松开鼠标(您也可以直接在工具箱中双击MapControl,该控件则会自动加入到Form1中)。用同样的方法,再将LicenseControl添加到Form1中。 图 3 打开工具箱

图4工具箱 如果您在工具箱中找不到MapControl,则请依次尝试以下两种解决方案。首先单击工具栏,待工具箱弹出之后,在工具箱的任意位置上单击鼠标右键,从弹出菜单中选择“重置工具箱”。如果这一步操作之后仍然无法看到MapControl,则在工具箱的任意位置上单击鼠标右键,找到“常规”选项卡,然后在“常规”选项卡上单击鼠标右键,在弹出菜单中单击“选择项(I)…”,在弹出的对话框中选择“.NET Framework组件”,找到“LicenseControl”和“MapControl”,将这两项前的复选框打上勾,最后点击确定即可(如果在“.NET Framework 组件”这个面板中找不到这两项,则选择“COM 组件”面板,在“ESRI LicenseControl”和“ESRI MapControl”前面打勾)。

相关文档
相关文档 最新文档