首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

怎样创建Femap对象

创建Femap对象主要有两种方式,一是直接在Femap内置的API程序窗体中创建,二是在API程序窗口以外的开发环境中创建。

一、使用FEMAP集成的API程序窗口

开始使用FEMAP API的最快方法是打开API编程窗口。它提供了一个完整的编辑、调试和运行的环境,使用Visual Basic的语言。更重要的是,由于它与FEMAP整合在一起,所以随时都可以使用。

调用Femap内置的API编程窗口-Step1

调用Femap内置的API编程窗口-Step2

调用Femap内置的API编程窗口-Step3

要将应用程序链接到FEMAP,必须声明一个对象,然后将其连接到FEMAP。在API程序窗体中会自动生成以下代码:

Dim App as Femap.model

Set App = feFemap()

feFemap()方法做的事情与下文的“GetObject”相同,但由于编程环境与FEMAP完全集成,它总是可以确定启动应用程序的会话,并直接与该进程通信。即使您从API编程窗口保存基本脚本,并将其作为用户命令连接到工具栏按钮或菜单命令,也可以工作。

2. 非API编程窗口的其他环境

在Basic中,可以通过GetObject或CreateObject函数和Femap进行连接。要决定使用哪一个,您必须决定您的应用程序是否需要访问已经在进行中的FEMAP会话(Session),在这种情况下,您将使用GetObject。如果您需要启动一个新的FEMAP会话,您必须使用CreateObject。这种使用了标准的OLE/COM机制来找到FEMAP对象的方法,有一个限制,即如果您有多个运行的FEMAP副本(多个进程,而不是同一个FEMAP中打开的多个模型),GetObject将始终将您连接到最先启动的进程。这仅仅是OLE/COM界面的一个无法避免的限制。

下面的示例(VBA中)展示了如何创建一个FEMAP应用程序对象,并连接到一个运行中的FEMAP会话。

Dim App As Object

Set App = GetObject(, "femap.model")

如果你想要开始一个新的FEMAP会话,正确的方法应该是:

Dim App As Object

Set App = CreateObject("femap.model")

这个对CreateObject的调用将启动一个新的FEMAP会话,但它将不可见。如果希望FEMAP可见,则必须调用feAppVisible方法。

如果你有一个应用程序,创建了一个新的FEMAP会话,然后想退出FEMAP,不再让它作为进程运行,你需要:

femap = nothing

三、Femap类库的引用

如上所示,你可以将你的FEMAP对象声明为一个通用的“对象”,无论你是在Visual Basic还是在FEMAP之外的任何其他基本编辑器(比如Excel)中进行编程。但是,如果你在Visual Basic中工作,你可以选择引用FEMAP类型库并显式地使用它定义的对象(FEMAP内部的API编程可停靠面板自动使用FEMAP类型库)。使用类型库为您提供了几个非常有用的好处。首先,您将能够使用对象浏览器来查看可用的属性和方法。然而,更方便的是,当您使用对象或方法时,您将看到弹出工具提示,提供有关可用属性的信息,或所需的参数列表。

如果你用Excel编程,引用Femap类库的方法如图所示。工具->引用->浏览->找到Femap安装目录下的Femap.tlb文件,倒入后在“可用引用”中勾选即可。其他如VB、C++编程环境,以用方法可查阅API帮助文档。

VBA引用Femap类库-Step1

VBA引用Femap类库-Step2

引用完成后声明Femap变量的方式有所改变,应写为:

Dim App as femap.model

Set App = GetObject(,”femap.model”)

四、小结

1)使用Femap软件中的API程序窗口软件会自动声明一个Femap对象,我们接着编写程序即可实现自定义功能。

2)使用其他开发环境则需要自己声明变量,如使用VB或者VBA时:

Dim App as Object

Set App = GetObject(,”femap.model”)

3)如果使用VBA可以引用Femap类库,便于查看Femap对象的属性和方法。引用后声明Femap对象方法是:

Dim App as femap.model

Set App = GetObject(,”femap.model”)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201107A0BHDH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券