这是一个通过Excel连接Femap并获取节点数据到工作表中的简单案例。尽管这个程序只是加载节点数据,但是和其他数据类型的方法的使用是类似的,可以根据这个例子去进行调整实现类似的功能。
关于本例中用到feNode对象,它有哪些属性和方法可以通过API帮助文档查询。
对于本例:
1)首先需要做的工作是打开Femap软件,并打开一个具有单元的模型;
2)打开Excel的开发工具;
3)实现数据的抓取和输出;
Private Sub LoadNodalData()
'1. 连接已经在Femap中打开的模型
Dim femap As Object
Set femap = GetObject(, "femap.model")
'2. 创建一个节点对象
Dim nd As Object
Set nd = femap.feNode ‘nd指向第一个元素之前的位置
'3. 在Excel的worksheet中输出一个抬头.
Row = 1
Worksheets(1).Cells(Row, 1).Value = "ID"
Worksheets(1).Cells(Row, 2).Value = "Layer"
Worksheets(1).Cells(Row, 3).Value = "Color"
Worksheets(1).Cells(Row, 4).Value = "Def CSys"
Worksheets(1).Cells(Row, 5).Value = "Out CSys"
Worksheets(1).Cells(Row, 6).Value = "X"
Worksheets(1).Cells(Row, 7).Value = "Y"
Worksheets(1).Cells(Row, 8).Value = "Z"
'4. 通过循环遍历模型中所有的节点
While nd.Next
Row = Row + 1
'5. 保存每个节点的属性到excel中,如节点的id号、所在层数、颜色、坐标系和坐标等
Worksheets(1).Cells(Row, 1).Value = nd.ID
Worksheets(1).Cells(Row, 2).Value = nd.layer
Worksheets(1).Cells(Row, 3).Value = nd.Color
Worksheets(1).Cells(Row, 4).Value = nd.defCSys
Worksheets(1).Cells(Row, 5).Value = nd.outCSys
Worksheets(1).Cells(Row, 6).Value = nd.x
Worksheets(1).Cells(Row, 7).Value = nd.y
Worksheets(1).Cells(Row, 8).Value = nd.z
Wend
End Sub
领取专属 10元无门槛券
私享最新 技术干货