导读:不知你有没有接触过VF编程,如果有过的话,对OLE这个东西应该不会很陌生但不管你有没有接触过它,相信你看了下面的内容,会对你有所帮助的VFP的OLE技术应用详解 VisuaLFoxPro3.0(以下简称VFP)使用了OLE2.0技术,使VF
不知你有没有接触过VF编程,如果有过的话,对OLE这个东西应该不会很陌生
但不管你有没有接触过它,相信你看了下面的内容,会对你有所帮助的
VFP的OLE技术应用详解
VisuaLFoxPro3.0(以下简称VFP)使用了OLE2.0技术,使VFP应用程序的适应能力大为加强。
VFP提供两种类型的OLE对象:一种是OLE控件(.OCX文件),这是一种自定义控件,通常在WINDOWS\SYSTEM目录下,拥有自己的事件、 *** ,类似于VFP的基本类,这种控件可以用VC、VB5.0、DeLphi、SDK2.0等编程工具开发。VFP缺省提供了四种可供使用的OLE控件,即通信(MSCOMM32.OCX)、消息应用程序接口MAPI(M *** API32.OCX)、OutLine(MSOUTL32.OCX)和裁剪(PICCLP32.OCX);另一种是可插入型OLE对象,这是由其他应用程序创建的,它们没有自己的事件 *** 。这一种可插入型OLE对象又可分为限制性可插入型OLE对象和非限制性可插入型OLE对象。
VFP提供两种引用OLE对象的途径都是通过VFP中的控件实现的:一种是通过OLE容器控件链接或嵌入对象,OLE容器控件可以引入OLE控件和非限制性可插入型OLE对象;另一种是通过OLE绑定型控件链接或嵌入数据表的通用类型字段中所存放的OLE对象,这通常是些限制性可插入型OLE对象。
在VFP中OLE对象是通过链接或嵌入操作方式进行操作的。链接和嵌入操作之间的区别在于OLE对象所存放的地点:链接操作中的OLE对象仍然存放在创建它的源文件中数据表或表单仅仅存储源文件的位置,即一个指针,在更改源文件时,被链接的OLE对象将被及时更新。被链接的OLE对象始终保持着与源文件之间的联系,除非人为断开这种联系;嵌入操作的OLE对象只能存储在数据表或表单中。这些OLE对象不与创建它的源文件保持联系。如果源文件做了更改,它们不会自动反映在VFP应用程序中,除非你再次进行嵌入操作。链接操作通常用于如下场合:OLE对象(数据或图形)可能被经常更改、应用程序必须包含最新版本的OLE对象、存放OLE对象的源文件可以在计算机之间或通过计算机 *** 进行更新、存放OLE对象的源文件必须被其他应用程序共享。嵌入操作通常用于如下场合:应用程序不需要具有最新版本的OLE对象、嵌入的OLE对象不需要被多个应用程序使用、源文件在被链接后不会被更新。
要注意的是VFP本身只是一个OLE客户机,而不是一个OLE服务器。
使用OLE对象
在应用程序中使用OLE对象首先要考虑OLE对象的类型,针对不同类型的OLE对象,使用不同的 *** 来引用它们。当程序中要引用的可插入型OLE对象较多时就要考虑用数据表的通用型字段来存储它。
1、在VFP的数据表中添加OLE对象
*** 一:使用数据表设计器给数据表添加一个通用型字段,然后将可插入型OLE对象链接或嵌入到通用型字段的每个记录中。通用字段包含一个10字节的指针,它指向该字段真正的内容,通用型字段的真正类型和数据大小取决于创建这些对象的OLE服务器。这些OLE对象是以链接方式还是以嵌入方式进行操作与该应用程序有关。若OLE对象是以链接方式进行操作的,则数据表中只含有对OLE对象的引用,以及创建这些OLE对象的应用程序的引用;若OLE对象是以嵌入方式进行操作的,数据表中将含有相关OLE对象的副本,以及对创建这些OLE对象的应用程序的引用。通用字段的大小仅受可用磁盘空间的限制。
*** 二:使用APPENDGENERAL命令从文件中导入OLE对象并将其放入通用型字段中。语法:
APPENDGENERALGeneraLFieLdName
〔FROMFiLeName FROMMEMOPictureFieLd�Name〕
〔DATAcExpression〕
〔LINK〕
〔CLASSOLECLassName〕
2、使用限制性可插入型OLE对象
使用通用型字段中所存储的限制性可插入型OLE对象需要使用OLE绑定型控件,步骤如下:
(1)在表单设计器中,将一个OLE绑定型控件添加到表单中。
(2)通过设置对象的ControLSource属性指定包含OLE对象的通用型字段。如果数据表名为Inventory,通用型字段名为Current,那么可以将ControL�Source属性设置成Inventory.Current。
(3)在表单上添加按钮或菜单命令,用以浏览ControLSource属性指定的通用型字段。
3、使用OLE控件(.OCX文件)及非限制性可插入型OLE对象
这两类对象需要使用OLE容器控件。OLE容器控件允许向应用程序中加入OLE对象,包括OLE控件(.OCX文件)、非限制性可插入型OLE对象。OLE容器控件与OLE绑定型控件不同在于,它不与VFP表的一个通用型字段相连接。
若要在表单中添加OLE控件及非限制性可插入型OLE对象可按如下步骤进行:
(1)在表单设计器中,向表单中添加一个OLE容器控件。
(2)在“InsertObject”对话框中,选择“CreateNew”或“CreatefromFiLe”或“InsertControL”选项。
(3)从显示的列表中选择适当的OLE控件或创建适当类型的对象或增加一个嵌入文件。
在插入控件时如果所要的控件没有出现在列表中,可选择“AddControL”按钮将其添加到列表中。也可以通过将OLE控件添加到表单控件工具栏中而将其添加到表单中。在选项对话框中选择控件之后,单击表单控件工具栏上的“ViewCLass”按钮,从子菜单中选择“OLEControL”,单击OLE,然后拖动控件,在表单上设置其大小。下面以一例子说明如何在程序中使用非限制性可插入型OLE对象,本例首先将一个OLE容器控件加入表单,然后使用OLE容器控件的OLECLass和DocumentFiLe属性将MicrosoftExceL作为OLE服务器,并将一个ExceL工作簿指定为要编辑的文件。DocumentFiLe属性指定了在C驱动器中ExceL路径下一个名为BOOK1.XLS的工作簿。如果在DocumentFiLe属性中指定的文件或路径不存在,则本例程不能正常运行,这时需要修改DocumentFiLe来指明一个存在的路径和工作簿文件。另外BOOK1.XLS只能读不能修改,下面是其VFP源代码及其说明。
frmMyForm=CREATEOBJECT(′Form′)&&创建表单
frmMyForm.CLosabLe=.F.&&废止控制菜单框
frmMyForm.AddObject(′cmdCommand1′,′cmdMyCmdBtn′)
frmMyForm.AddObject(〃oLeObject〃,〃oLeEx�ceLObject〃)
frmMyForm.cmdCommand1.VisibLe=.T.
frmMyForm.oLeObject.VisibLe=.T.
frmMyForm.oLeObject.Height=50
frmMyForm.Show
frmMyForm.oLeObject.DoVerb(-1)
READEVENTS
DEFINECLASSoLeExceLObjectasOLEControL
OLeCLass=〃ExceL.Sheet〃
DocumentFiLe=〃C:\EXCEL\BOOK1.XLS〃
ENDDEFINE
DEFINECLASScmdMyCmdBtnASCommand�Button
Caption=′\ CanceL=.T.
Left=125
Top=210
Height=25
PROCEDURECLick
CLEAREVENTS
ENDDEFINE
4、使用OLE对象的属性
OLE对象有一系列属性可供使用,但是对包含在OLE容器控件中的OLE对象,要确保引用的是OLE对象的属性而不是其容器的属性,这需要将容器的Ob�ject属性加到OLE对象名当中。
5、使用OLE对象的 ***
除了设置和读取OLE对象的属性外,还可以使用OLE对象的 *** 来操作OLE对象。例如,下面的程序使用了Ex�ceL对象的Add *** 来创建ExceL工作簿,然后使用Save *** 保存该工作簿,并使用Quit *** 结束ExceL的本次运行:
oLeApp=CREATEOBJECT(”Ex�ceL.AppLication”)
oLeApp.VisibLe=.T.
oLeApp.Workbooks.Add
oLeApp.CeLLs(1,1).VaLue=7
oLeApp.ActiveWorkbook.SaveAs(”C:\TEMP.XLS”)
oLeApp.Quit
与使用属性一样,如果用容器控件创建对象,应确保将“Object”加到引用对象 *** 的控件名称当中。
6、访问 *** 中的OLE对象
一个对象类型可以代表单个对象或若干相关对象的 *** 。
在程序中, *** 是一个未经排序的链表结构,每当有对象被添加到 *** 中或从 *** 中移去时,其余对象的位置都可能改变。使用 *** 的Count属性对 *** 遍历,可以访问 *** 中的所有对象。Count属性可用来返回 *** 中项的数目。另外,可以使用Item *** 返回 *** 中的某一项。
也可以访问 *** 内的 *** 。例如,使用下列程序代码可以在一个单元格区域内访问某一单元格 *** :
oLeApp=CREATEOBJECT(”ExceL.sheet”)
oLeApp.Range(oLeApp.CeLLs(1,1),oLeApp.CeLLs(10,10)).VaLue=100
7、使用OLE对象的数组利用OLE技术,不但可以将数组传递给OLE对象的 *** ,而且可以接收OLE对象传来的数组。传递数组的方式必须是按引用传递,即必须在数组名前加@符号(用VFP不能将二维以上的数组传递到OLE对象中)。例如,要发送一个VFP数组到ExceL中,可以使用以下程序代码。它先在VFP中创建一个数组,给数组赋一些值,然后启动ExceL,创建一个工作簿,并给工作表的之一个单元格设置一个初始值,再将此值复制到数组中的其他工作表中:其中用到了ExceL的工作簿集(Workbooks对象),工作表集(Sheets对象)的相关属性及 *** 和ExceL对象的GetCustomListContents *** 。下列代码将数组传递给 *** FiLLAcrossSheets,以便将Sheet1中的之一区域内容复制到其它工作表的相同区域。
DIMENSIONaV(2)
aV(1)=〃Sheet1〃
aV(2)=〃Sheet2〃
oLeApp=CREATEOBJECT(〃Ex�ceL.AppLication〃)
oLeApp.Workbooks.Add
oLeI=oLeApp.Workbooks.Item(1)
oLeI.Sheets.Item(1).CeLLs(1,1).VaLue=100&&初始值
oLeI.Sheets(@aV).FiLLAcrossSheets(oLeI.Worksheets(〃Sheet1〃).CeLLs(1,1))
oLeApp.VisibLe=.T.
下列代码将一个数组返回到VFP,并显示数组的内容:
oLeApp=CREATEOBJECT(〃Ex�ceL.AppLication〃)
aOLeArray=oLeApp.GetCustomListContents(1)&&改变数组下标可以显示其它内容
FORnIndex=1toALEN(aOLeArray)
?aOLeArray(nIndex)
ENDFOR
VB提供了一个OLE容器控件(在工具箱中),用于容纳“链接”对象或“嵌入”对象,也就是说,可以使用OLE容器控件来插入对象。
当然,也可用其它 *** 来插入对象。如:通过在工具箱中添加对象的类来插入对象,具体操作步骤为:
①→“工程”菜单/“部件”命令
②→“可插入对象”选项卡
③→想要加入工具箱的类,如:“Microsoft Excel工作表” →“确定”
在使用OLE容器控件插入对象时注意:
(1)创建链接时,链接对象数据被存储在OLE容器控件之外;
创建嵌入对象时,嵌入对象数据和VB应用程序一起被保存在OLE控件之内。
(2)在任何时候,一个OLE容器控件内只能有一个对象。
(3)既可在设计阶段来插入对象(创建链接对象或嵌入对象);也可在程序运行阶段通过代码来创建链接对象或嵌入对象。
(4)通过OLE控件的Display Type属性可控制OLE对象在OLE容器控件中的显示方式:
Display Type :0 → 以“数据映象”方式显示
Display Type :1 → 以“图标”方式显示
一旦建立好一个OLE对象,此对应的OLE对象显示方式将无法改变。
(5)在OLE容器控件中放置对象之前提供该对象的应用程序必须已经在Windows中注册其对象。
1、设计时插入一个“链接”对象
步骤:(1)添加一个“OLE容器控件”到窗体上,屏幕会弹出一个“插入对象”对话框。或在设置好的“OLE容器控件”上右击鼠标,也会弹出“插入对象”对话框。
(2)选择“从文件创建”,再通过“浏览”按钮确定“要链接文件的路径、文件名”: ①C:\lyh\gzxls\Excel工作表
②C:\win98\abmp\BMP图象
(3)单击“插入”按钮→返回“插入对象”对话框。
(4)选中“链接”复选框→“确定”。
按照以上步骤,就建立了一个链接对象。
此时,OLE控件本身则保存与对象链接有关的信息。如:提供链接对象的应用程序名、链接文件名、以及该链接对象的“数据影像”等,其对应的OLE控件属性分别是:对象类型(Class)、引用源文件(Source Doc)、链接数据(Source Item)。
[注意]:设计链接对象时,OLE会保留一份影像,起初这份影像和数据文件是相同的,但是因为文件有可能被修改,可链接对象保存的仍然是原始数据的影像,为了使其具备自动更新的能力,只要在Form_Load事件过程加入如下代码:
Private sub Form_Load( )
OLE1Action=6 ‘此语句用“OLE1Update” *** 也可以
End sub
2、设计时创建“嵌入对象”
创建嵌入对象时,既可从文件中嵌入数据,也可以创建一个新的空对象(可以被以后的数据填充)。
步骤:(1)添加一个“OLE容器控件”到窗体上,屏幕显示“插入对象”对话框。
(2)选择“从文件创建”,→“浏览”按钮→确定要嵌入的“文件名”。
(3)→“插入”按钮→返回“插入对象”对话框。
(4)→“确定”,即可创建嵌入对象。
另外,在此设计状态,也可修改OLE对象中的数据, *** 为:
(1)→在OLE对象数据区单击鼠标右键,→弹出快捷菜单。
(2)选择“编辑”命令→出现Excel的编辑环境。
(3)修改完毕后,单击OLE对象数据区以外的区域,返回到创建嵌入对象的窗体。
[注意]:(1)不同于对象链接的是,嵌入对象中的数据被用户修改后不会被自动存储。当含有OLE控件的窗体被关闭时,与该控件相关的数据的任何变化将丢失。如果希望对数据所进行的修改在下次运行时能够显示出来,需要将更改的数据从对象保存至文件中(使用OLE控件的Save To File *** )。数据被保存在文件后,可以在需要的时候打开文件并恢复对象(使用OLE控件的Read From File *** )。
(2)将更改的数据从对象保存到文件中的 *** (用一命令按钮的单击事件过程说明):
Private sub CmdSave_click( )
Dim FileNum as integer
FileNum=FreeFile ‘取文件号
Open “TESTOLE” For Binary as #FileNum ‘打开要保存的文件
OLE1SaveToFile FileNum ‘保存至文件
Close #FileNum ‘关闭文件
End sub
(3)将数据从文件读入OLE容器控件(使用OLE控件的ReadFromFile *** )
用一命令按钮的单击事件过程说明:
Private sub CmdOpen_click( )
Dim FileNum as integer
FileNum=FreeFile ‘取文件号
Open “TESTOLE” For Binary as #FileNum ‘打开文件
OLE1ReadFromFile FileNum ‘读文件
Close #FileNum ‘关闭二进制文件
End sub
3、使用“特殊粘贴”对话框创建链接对象或嵌入对象。
设计时创建对象的另一 *** 是使用“特殊粘贴”对话框,应用该 *** 可以只利用文件的一部分数据。(如只使用Excel数据表的一部分数据)
步骤:(1)运行一个包含链接或嵌入数据对象的应用程序(如Excel应用程序)。
(2)打开一个文件,选择要链接或嵌入的数据。
(3)→“编辑”菜单/“复制”命令→复制“数据”到剪贴板上。
(4)在VB的一个包含OLE控件的工程中,右击OLE控件→选择“特殊粘贴”命令→弹出“选择性粘贴”对话框。
(5)若想建立嵌入对象,选择“粘贴”选项; 若OLE控件中已有一个对象
若想建立链接对象,选择“粘贴链接”选项; 则会询问是否删除现有对象
(6)作出回答后,即在OLE控件上建立了一个新的对象。
4、利用OLE发出声音(实例)
步骤:(1)在窗体上添加OLE控件时,→弹出“插入对象”对话框,
在“对象类型”列表框中选“声音文件”;
选择⊙从文件创建;
→“浏览”按钮,选择文件:C:\windows\Canyonmid ;
选择 链接, 显示为图标。
(2)单击“确定”按钮。
运行程序,双击OLE对象,将播放一段音乐。
三、在运行阶段创建链接或嵌入对象
要在程序代码运行时创建链接或嵌入对象,需要了解OLE容器控件的属性、事件和 *** 。
1、OLE容器控件的属性、 *** 、事件:
l Action属性:指定作用在OLE控件上的动作(如建立、删除、启动等)。
语法为:objectAction=value
value的设置值如下表: value值 描述 *** 0 创建嵌入对象 Create Embed 1 创建链接对象 Create Link 4 将对象复制到系统剪贴板 Copy 5 将对象从系统剪贴板复制到OLE容器控件 Paste 6 从提供对象的应用程序检索当前数据,并在
OLE容器控件中将该数据作为显示。 Update 7 打开一个对象,用于进行诸如编辑那样的操作 DoVerb 9 关闭对象,并与提供该对象的应用程序终止连接 Close 10 将指定的对象删除,释放与之关联的内存 Delete 11 将对象保存到数据文件中 SaveToFile 12 加载保存到数据文件中的对象 ReadFromFile 14 显示“特殊粘贴”对话框 PasteSpecialDlg 17 更新对象支持的谓词列表 FetchVerbs 18 将对象以OLE version 10版本的文件格式保存 SaveToOle1File l Class属性(类属性)
格式为:objectclass
类名包含几个部分:applicationobjecttypeversion
类名:说明对象类型。
Application :提供对象的应用程序名
Objecttype :在对象库中定义的对象名
Version :提供对象的应用程序的版本号
例如:ExcelSheet8
l OLEType Allowed属性
返回或设置OLE容器控件所能包含的对象类型。
语法为:objectOLETypeAllowed [=value]
value值的设置如下表: 常数 值 描述 VbOLELinked 0 链接的,OLE容器只能包含链接对象 VbOLEEmbeded 1 嵌入的,OLE容器只能包含内嵌对象 VbOLEEither 2 二者均可(缺省值) l SourceDoc属性
指定链接或嵌入对象时使用的源文件名。
语法为:objectsourceDoc [=name]
name :指定文件名的字符串表达式。
l SourceItem属性(只对链接有效)
在创建链接对象时,设置或返回要链接的文件内的数据。
语法为:objectsourceItem [=string]
string :一个指定被链接数据的字符串表达式。
例如:A1 :E1 或 A3C4 :A9D10
[注意]:当使用Action属性创建链接对象时,用SourceDoc 属性指定要链接的文件,使用sourceItem属性指定在要链接文件内的数据。
l Create Embed ***
该 *** 用来创建一个嵌入对象。
语法为:objectCreateEmbed sourcedoc[,class]
sourcedoc :必选项,对象从该文件中创建。
SourceItem :可选项,文件内的被链接的数据。
l DoVerb ***
打开一个对象(例如编辑一个对象)。
ObjectDoVerb[verb]
Verb :可选项,在OLE容器控件内要执行的对象的谓词。
l InsertObjDlg ***
显示插入对象对话框。
语法为:objectInsertObjDlg
[说明](1)用户在运行这个 *** 时,将显示“插入对象”对话框,通过选取对象的类型,来创建链接的或内容嵌的对象,并由应用程序提供该对象。
(2)创建新对象时,与类名(如ExcelEXE)关联的应用程序,必须已在操作系统中正确地作了注册。
l PasteSpecialDlg ***
显示“特殊粘贴”对话框。
语法为:objectPasteSpecialDlg
l Updated事件
当一个已创建对象的数据发生改变(修改)时,会引发Updated事件。
l ObjectMove事件
当移动和OLE控件有关的对象以及调整其大小时,会触发ObjectMove事件。
l UpdateOptions属性
在运行时设置当链接数据修改后是否更新链接对象。
语法为:ObjectUpdateOptions [=number]
其中Number的设置值为:
0 —— 自动的(缺省值),每次改变链接数据时均更新对象
1 —— 冻结的
2 —— 手动的,只有使用Update *** 才更新对象
2、运行阶段建立链接对象
举例:(1)在窗体上添加2个OLE容器控件时,2个命令按钮。
(2)设计代码:
☆ 要求功能:①OLE1和OLE2链接同一个数据源。
②当改变(修改)OLE1容器控件中的链接数据时,OLE控件中链接同一个数据源的数据也要求跟着变化。
Private sub command1_click( )
OLE1class=”Excel worksheet” 用”Excelsheet&”也可以
OLE1sourceDoc=”C:\My Documents\aaxls”
OLE1DrsplayType=0
OLE1Action=1
OLE2class=”Excelworksheet”
OLE2sourceDoc=”C:\My Documents\aaxls”
OLE2DisplayType=0
OLE2Action=1
End sub
Private sub command2_click( )
UnLoad Me
End sub
Private sub OLE1_Updated(code as integer)
OLE2UpdateOptions=0 ‘用OLE2Action=6也可以,或OLE2Update *** 也可以
End sub
Private sub OLE2_Updated(code as integer)
OLE1UpdateOptions=0
End sub
3、运行阶段建立嵌入对象
运行时建立嵌入对象的 *** 与建立链接对象的 *** 相似,只不过此时在有关代码中用:
OLE1Action=0 或使用 CreateEmbed *** 。
[注意]:对嵌入对象的任何修改要保存的话,一定要使用前述的SaveToFile *** ,将修改的数据保存至某个文件中,在需要的时候可打开文件并恢复修改的内容。
补充2:
应用OLE拖放(在你的VB应用程序中支持OLE拖动功能)
一、OLE拖放的含义
指将数据从一个控件或应用程序移动到另一个控件或应用程序。
例如:可先选定并拖动Excel中的一列单元,然后将它们放到VB应用程序的DataGrid控件上。
二、VB控件的OLE拖放功能
VB的几乎所有控件都在某种程度上支持OLE拖放(专业版和企业版)。
1、 自动支持OLE拖放的控件(既可从控件拖出,也可在控件放入)。
DataGrid , PictureBox ,RichTextBox ,Image ,TextBox ,MaskedEditBox
[注意]:要启动这些控件的自动OLE拖放功能,应将其OLE Drag Mode属性和OLEDropMode属性设置为“自动化”——“Automatic“
2、仅自动支持OLE拖动操作的控件(仅从控件拖出)。
ComboBox ,DataListBox ,FileListBox ,DataComboBox ,DirlistBox ,ListBox , TreeView ,ListView等。
[注意]:要启动这些控件的自动拖动功能,应将其OLEDragMode设置“自动化”。
3、仅支持OLE拖放事件的控件
——即可代码对它们编程,使之成为OLE拖放操作的源,也可使生成为OLE拖放操作的目标。
CheckBox , Frame , OptionButton , CommandButton , Label , DrivelistBox , Data等。
[注意]:(1)为判断其它ActionX控件是否支持OLE拖放,应在VB在加载控件,并检查OLEDragMode和OLEDropMode属性是否存在或检查OLEDrag *** 是否存在。
(2)缺省规定:在将文本从文本框控件拖动到word文档时,文本被移动;若拖动文本的同时按下[Ctrl]键,则文本被复制。
哪些3D室内设计软件比较合适?下面给大家介绍三个3d室内设计软件,至于如何选择,完全依据自己的个人的习惯而定。希望大家能设计出自己满意的设计。以下是其相关介绍:
软件名称:Inventor;软件介绍:Inventor是美国AutoDesk公司推出的一款三维可视化实体模拟软件Autodesk Inventor Professional(AIP),目前已推出最新版本AIP2014。Autodesk Inventor Professional包括Autodesk Inventor®、三维设计软件、基于AutoCAD平台开发的二维机械制图和详图软件AutoCAD Mechanical,还加入了用于缆线和束线设计、管道设计及PCB IDF文件输入的专业功能模块,并加入了由业界领先的ANSYS技术支持的FEA功能,可以直接在Autodesk Inventor软件中进行应力分析。由于Autodesk Inventor Professional集所有这些产品于一体,因此提供了一个无风险的二维到三维转换路径,可很好的读取AUTOCAD图样。在此基础上,简化了复杂三维模型的创建,工程师即可专注于设计的功能实现。通过快速创建数字样机,并利用数字样机来验证设计的功能,工程师即可在投产前更容易发现设计中的错误。但设计精准度不高,Inventor只属于中阶CAD软件。
软件名称:SolidWorks:软件介绍:SolidWorks软件是世界上之一个基于Windows开发的三维CAD系统,是达索系统(Dassault Systemes SA)公司的产品。其使用了Windows OLE技术、直观式设计技术、先进的parasolid内核(由剑桥提供)以及良好的与第三方软件的集成技术,功能强大,组件繁多, 能够提供不同的设计方案、减少设计过程中的错误以及提高产品质量。SolidWorks在建模软件界中属于中阶CAD软件,较便宜、灵活。截至2011年,SolidWorks的软件使用许可约有28万,涉及航空航天、机车、食品、机械、国防、交通、模具、电子通讯、医疗器械、娱乐工业、日用品/消费品、离散制造等分布于全球100多个国家的约3万1千家企业。
软件名称:SolidEdge:软件介绍:Solid Edge是UGS公司推出的、全球居于行业领导地位的、高性价比的三维计算机辅助设计软件系统,采用Siemens PLM Software公司自己拥有专利的Parasolid作为软件核心,将普及型CAD系统与世界上更具领先地位的实体造型引擎结合在一起,是基于Windows平台、功能强大且易用的三维CAD软件。Solid Edge在建模软件界中也属于中阶CAD软件,但是与SolidWorks相比,SolidEdge可读取其它三维软件模型并可以任意编辑、更改,而且升级更方便,主要应用于机械设计。
ole文档是包含OLE对象数据的文档。
OLE可以用来创建复合文档,复合文档包含了创建于不同源应用程序,有着不同类型的数据,因此它可以把文字、声音、图像、表格、应用程序等组合在一起。链接对象必须使用对象文件,因为链接对象在文档中保存。如果应用程序从已存在的文档文件中创建嵌入对象,也要使用OLE文档。
扩展资料:
OLE技术。OLE 不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据 *** 和操作数据的函数)彼此进行“连接”的机制,利用这种技术可开发可重复使用的软件组件(COM)。
OLE从多媒体借鉴而来,是Windows的一组服务功能,提供了一种以源于不同应用软件的信息建立复合文档的强有力 *** 。在对象连接和嵌入系统中,对象可以是几乎所有的数据类型,例如文字、点阵图像和矢量图形,甚至于声音、注解和录像剪辑等均可。
Dezeen城市指南 北京十大当代地标建筑
从本周开始,Dezeen 将陆续推出中国城市的地标指南。从建筑设计的角度,精选出我们认为的最能代表该城市地标的当代建筑。这个系列的之一站就从中国首都北京开始。
摄影 Iwan Baan
国家 体育 场
设计方:Herzog & de Meuron
设计独树一帜的国家 体育 场位于北京,因钢格围护结构而被称为“鸟巢”。该场馆可容纳8万人,由瑞士建筑事务所 Herzog & de Meuron 为 2008 年北京奥运会及残奥会所设计。
近期,该场馆举办了2022 年北京冬季奥运会和残奥会的开幕及闭幕式。
摄影 HG Esch
中信大厦
设计方:KPF
中信大厦(俗称中国尊)高达 528 米,是北京更高的建筑,也是全中国第五高的摩天大楼。
该建筑由美国公司 Kohn Pedersen Fox(KPF) 根据建筑事务所 Farrells 的概念演化而来,旨在成为北京新中央商务区的核心建筑。据称,设计师参照青铜时代的礼器——尊,打造了顶部和底部比中间宽的造型。
摄影 Iwan Baan
朝阳公园广场
设计方:MAD
朝阳公园广场内高达 120 米的山形玻璃体由北京建筑事务所 MAD 设计,于 2017 年完工。该设计从中国传统山水画中的湖泊、山丘和石头中汲取灵感。
MAD 建筑事务所表示:“山脊和山谷勾勒出外部玻璃幕墙的形状,就像自然侵蚀的力量把塔楼磨出了几条细线。”
摄影 Iwan Baan
银河 SOHO
设计方:Zaha Hadid Architects
这个综合体占地 33 万平方米,集零售、办公和 娱乐 空间于一身,由总部设在伦敦的 Zaha Hadid 建筑事务所为大型房地产开发商 Soho 中国设计。
项目于 2012 年竣工,由四个圆顶结构组成,借由桥梁和平台将弯曲的楼板融合在一起,周围有一系列庭院,各栋建筑之间有一个大型的中央“峡谷”。
摄影 Iwan Baan
中央电视台总部大楼
设计方:OMA
眺望北京天际线,最容易识别的建筑就是拥有不规则造型的中国中央电视台(CCTV)总部。该项目由荷兰公司OMA设计,于 2012 年启用。
尽管被民间戏称为“大裤衩”,但 OMA 创始人 Rem Koolhaas 后来接受 Dezeen 采访时辩称这是一座“非常严肃的建筑”。
摄影 Iwan Baan
嘉德艺术中心
设计方:Ole Scheeren
建筑师Ole Scheeren 发布嘉德艺术中心的设计方案后,该设计被誉为既有现代感又尊重 历史 的中国建筑典范,其小型地面建筑类似于北京传统胡同四合院的规模。
摄影 Pawel Paniczko
凤凰国际传媒中心
设计方:北京建筑设计研究院
这座拥有格子状幕墙的环形建筑是凤凰国际传媒的总部,由北京建筑设计研究院设计,其扭曲的形状被比作莫比乌斯环。
摄影 Hufton + Crow
丽泽 SOHO
设计方:Zaha Hadid Architects
这是 Zaha Hadid 建筑事务所为 Soho 中国设计的另一个项目。丽泽 SOHO 共有 45 层,
其中心位置拥有全世界更高的中庭。因大楼地下横跨地铁隧道,建筑师将建筑分为两部分,由此形成了高达194 米的中庭。
经过 45 度由下至上的扭转设计,中庭呈现出一种视觉错觉,让人感觉塔楼两边都在一起移动。
国家大剧院
设计方:Paul Andreu
国家大剧院由法国建筑师 Paul Andreu 设计,整个建筑为一个巨大的圆顶结构,位于人民大会堂旁边的湖中。
整体占地总面积为 149500 平方米,内含三个剧院,是亚洲更大的同类建筑群。巨大的建筑外立面有一半由钛合金包覆,其余为玻璃。
摄影 Dan Chung
北京大兴国际机场
设计方:Zaha Hadid Architects
北京大兴国际机场的海星形航站楼是本次榜单上 Zaha Hadid 建筑事务所(ZHA)设计的第三个项目,于 2019 年完工。
该项目由 Zaha Hadid 建筑事务所与法国巴黎机场集团建筑设计公司(ADPI)合作设计,将值机岛、安检台和零售区都安排在中央区域内,旨在让空间尽量紧凑。