第2章 基本操作Word文件下载.docx

上传人:b****5 文档编号:16517613 上传时间:2022-11-24 格式:DOCX 页数:8 大小:53.31KB
下载 相关 举报
第2章 基本操作Word文件下载.docx_第1页
第1页 / 共8页
第2章 基本操作Word文件下载.docx_第2页
第2页 / 共8页
第2章 基本操作Word文件下载.docx_第3页
第3页 / 共8页
第2章 基本操作Word文件下载.docx_第4页
第4页 / 共8页
第2章 基本操作Word文件下载.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

第2章 基本操作Word文件下载.docx

《第2章 基本操作Word文件下载.docx》由会员分享,可在线阅读,更多相关《第2章 基本操作Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。

第2章 基本操作Word文件下载.docx

CATIA.Visible=True

EndIf

OnErrorGoTo0

值得注意的是,在这里CATIA只是一个Object类型的变量,可以使用任何其他的名称作为Application对象。

但是在CATIA本身所使用的宏脚本里,CATIA是作为根对象(Application对象)存在的,在程序中使用这个名称使得将来将程序转化为宏脚本或是利用录制的宏脚本时变得非常方便。

2.1.4Documents和Document对象

获得Application对象后就能对它的文档进行操作。

在CATIA中,文档有很多种类型,包括零件(Part)、产品(Product)、工程图(Drawing)等,Documents对象是这几种对象的集合,换句话说,从Documents对象中并不能区分这几种对象。

Document对象则不同,它一定是上面几种文档中的一种。

当然,不同类型的文档有不同的属性和操作方法。

一般可以通过Add方法新加一个文档,如下所示:

DimoPartDocAsDocument

SetoPartDoc=CATIA.Documents.Add(“Part”)

其中Add方法的参数可以是Part,Product,Drawing三种,分别对应零件文档、产品文档和工程图文档。

也可以用open方法打开已经存在的文档,如下所示:

SetoPartDoc=CATIA.Documents.Open(FileName)

其中FileName参数必须加上完整的路径。

另外,也可以用ActiveDocument属性来获取当前活动的文档,这时要注意加上一定的错误控制,因为CATIA并不一定有当前打开的文档。

下面是一段典型的示例代码:

SetoPartDoc=CATIA.ActiveDocument

IfoPartDocIsNothingThen

Err.Clear

获取Document对象后,就可以对它进行各种各样的操作,比如保存,另存为,关闭等的。

注意,在这里另存为命令不能把文档保存成另一种格式。

保存成另一种格式有一个专门的命令ExportData,这一点是和界面命令不同的。

以下的示例代码保存文档并关闭:

oPartDoc.Save

oPartDoc.Close

以下示例代码把当前文档以IGESDoc为名称,在当前目录输出成IGES格式:

oPartDoc.ExportData(“IGESDoc”,“igs”)

2.1.5Cameras和Camera对象

Document对象里储存了文档的视点,像前视图、左视图等,这些视点对象存储在Cameras对象里。

当然,这是对零件文档和产品文档来说的,对于工程图则没有这个概念。

Cameras和Camera对象的关系就像Documents和Document对象的关系一样,Cameras对象可以包含Camera2D和Camera3D两种Camera对象。

可以用Count属性得知当前文档中视点的个数,这其中也包括自定义的视点。

以下代码先显示零件文档中的视点个数,再逐一显示它们的名称:

DimmyCam3dAsCamera3D

MsgBoxoPartDoc.Cameras.Count

Fori=1TooPartDoc.Cameras.Count

SetmyCam3d=oPartDoc.Cameras.Item(i)

MsgBoxmyCam3d.Name

Next

Camera3D对象只有一个属性Viewpoint3D,它可以应用于当前的活动视图,从而改变零件在屏幕上的显示。

Camera2D对象应用于二维场景(2Dscence)。

2.1.6Windows和Window对象

一个零件在CATIA中可以用很多个窗口打开,每个窗口的视角都可以是不同的。

Windows对象即指所有打开的窗口的集合,而Window对象则指的是某一特定的窗口,这两者之间的关系就如Documents和Document对象的关系一样。

如下示例代码先显示当前打开的窗口个数,然后逐个激活并显示它们的名称:

DimmyWindowAsWindow

MsgBoxCATIA.Windows.Count

ForEachmyWindowInCATIA.Windows

myWindow.Activate

MsgBoxmyWindow.Name

Next

这一段代码和上面一段遍历Cameras对象的代码是一样的,但这里使用了ForEach的结构。

在集合中的元数个数变化时(如用Close方法关闭特定的窗口),这种语法结构显然更加简洁和强壮。

Windows对象还有一个更常用的属性即ActiveWindow属性,它指当前的活动窗口。

2.1.7Viewers和Viewer对象

有了上面这么多集合对象和实例对象的例子,读者应该很清楚这两者之间的关系了。

Viewer对象一般只有一个,它是Window对象的一个属性。

一般用Window.ActiveViewer就可以获取它了。

Viewer对象有很多有用的方法,如Reframe、ZoomeIn、ZoomOut等。

如下代码先放大视图,再缩小视图,最后重组视图。

DimmyViewerAsViewer3D

SetmyViewer=CATIA.AtiveWindow.ActiveViewer

myViewer.ZoomIn

myViewer.ZoomOut

myViewer.Reframe

myViewer.Update

没错,最后要用update方法更新视图。

Viewer对象还有一个比较有趣的功能是能把屏幕抓下来保存成图像,如下所示:

DimMyViewerAsViewer3D

MyViewer=CATIA.ActiveWindow.ActiveViewer

MyViewer.CaptureToFilecatCaptureFormatBMP,“c:

\MyImage.bmp”

当然,也可以转到任何一个标准视图,如前视图:

SetmyCam3d=oPartDoc.Cameras.Item("

*front"

SetmyViewer=CATIAActiveWindow.ActiveViewer

myViewer.Viewpoint3D=myCam3d.viewpoint3D

myViewer.Update

也可以遍历当前的Cameras对象,并把它们置为当前视图。

下一节就会讲到。

2.2文件及视图操作实例

本节通过实例说明如何打开、关闭文档及进行视图操作。

2.2.1本实例实现的功能

1.使用通用文件对话框打开文件;

2.对所打开文件进行视图操作;

3.保存并关闭文件。

该实例在“\光盘\02-基础操作\02-文件和视图操作”目录中。

2.2.2启动时的动作

PrivateSubForm_Load()

Me.MoveScreen.Width-Me.Width,Screen.Height-Me.Height

MakeMeOnTopMe.hwnd

EndSub

这段代码在窗体加载时执行,它先把窗口移到屏幕右下角,再用MakeMeOnTop这个函数把当前窗口置于其他窗口前面。

由于窗口不大,移到右下角后不会遮住CATIA的图形窗口,而且有置顶的属性,即使在CATIA中做操作也不会让窗口沉到下面去,它的行为就像是CATIA本身的一个工具条。

2.2.3打开文档

程序中加了一个通用文件对话框,用命令按钮来调用这个通用对话框,用于打开CATIA文档。

PrivateSubcmdOpen_Cick()

OnErrorResumeNext

首先加上一个错误控制,它指明如果程序发生错误则不理会继续往下执行。

这是因为通用对话框是由用户来选择文件的,用户若选择了一个不存在的文件或取消了操作则程序会产生一个取消错误,这段代码抑制了这个错误。

CommonDialog1.Filter="

零件文件|*.CATPart"

CommonDialog1.ShowSave

这里设定了通用的打开对话框的过滤器属性,因为接下来的视图操作是针对零件文档的,因此这里只允许打开零件文件,然后程序用ShowOpen方法显示了通用的打开对话框。

一般在显示这个窗口前还应该把它的FileName属性置空。

IfCommonDialog1.FileName<

"

"

Then

InitCATIAPartFalse,CommonDialog1.FileName

EndIf

OnErrorGoTo0

这段程序先判断通用对话框是否返回一个空的文件名(用户选择取消时发生),再用Documents的Open方法打开文档。

最后程序取消错误控制。

一般应该在最小范围内使用错误控制代码,这样当程序发生错误时调试器会告诉你那里发生了错误,是什么错误。

2.2.4视图操作

PrivateSubcmdViewer_Click()

DimmyViewerAsViewer3D'

获得当前活动视图

SetmyViewer=CATIA.ActiveWindow.ActiveViewer

myViewer.RenderingMode=catRenderShading

定义活动视图对象,并修改当前的渲染模式。

注意,程序最前面定义了强制变量声明,因此每个变量都必须声明,如果想偷懒的话可以只写DimmyViewer把它定义为变体类型。

至于渲染模式常数则在代码键入的时候VB的自动完成功能会列出所有的选项供你选择。

'

摄像机总数

MsgBoxoPartDoc.Cameras.Count

用提示对话框显示文档中的摄像机总数,可以加上一些提示信息,如“文档中共有X个'

扫描所有的摄像机

DimiAsInteger

Fori=1TooPartDoc.Cameras.Count

使用For循环遍历所有摄像机,也可以使用ForEach结构。

SetmyCam3d=oPartDoc.Cameras.Item(i)

用Item属性获取集合中的对象,所有的集合对象中的元素都能通过这种方式访问。

'

改变当前的活动视图

myViewer.Viewpoint3D=myCam3d.Viewpoint3D

这里不用使用Set.因为这是对象属性的赋值。

myViewer.Reframe

myViewer.ZoomIn

一般应该先取得集合中元数的个数井保存到一个变量当中,再用这个变量作为循环的参数遍历集合。

这个变量就像是去超市购物的收据,因为循环过程中集合的元素数量可能发生变化,这时你凭着收据很快就能发现问题的所在。

2.2.5保存文档

PrivateSubcmdSave_Click()

IfMsgBox("

要保存文件并关闭吗?

vbYesNo)=vbYesThen

CommonDialog1.Filter="

CommonDialog1.ShowSave

凡是使用通用对话框的地方基本上都应该加上错误控制。

IfoPartDoc.FullName=CommonDialog1.FileNameThen

oPartDoc.Save

Else

IfDir(CommonDialog1.FileName)<

Kill(CommonDialog1.FileName)

oPartDoc.SaveAsCommonDialog1.FileName

注意,SaveAs命令是保存成另外的文件,如果只是保存在原来的文件中则应使用Save命令。

另外,SaveAs命令不会自动覆盖已有的文件,保存前必须删除已有的文件。

如果使用SaveAs命令时删除了原来的文件则会保存失败。

注意这段中if条件为真时的情况,如果不想破坏原来的文件则应该在这时加上一个提示对话框,而不是保存动作。

oPartDoc.Close

仔细测试你的代码,保存文件是写文件的操作。

一段错误的代码可能会误删硬盘上的文件,使几个月的工作化为乌有。

本章小结

1.要按层级顺序获取对象访问CATIA。

2.视图修改后要用update更新。

3.在最小的范围内使用错误控制代码。

4.仔细编写文件的代码,不要让它成为你的噩梦。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1