ImageVerifierCode 换一换
格式:PDF , 页数:4 ,大小:786.93KB ,
资源ID:2564600      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/2564600.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Femap计算报告快速生成方法_唐志广.pdf)为本站会员(哎呦****中)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

Femap计算报告快速生成方法_唐志广.pdf

1、 68 船舶标准化工程师 2023/3 Femap 计算报告快速生成方法计算报告快速生成方法1 唐志广(大连中远海运重工有限公司,辽宁大连 116113)摘 要:摘 要:为减少设计时间、提高设计效率,基于Femap 软件提供的应用编程接口,对计算报告所需图表的自动输出功能进行开发,并将其应用于设计实践。研究表明:该自动输出功能可显著提高设计效率。研究成果可为Femap 软件的二次开发提供一定参考。关键词:关键词:Femap;计算报告;二次开发;C+中图分类号:中图分类号:TP391.7 文献标志码:文献标志码:A DOI:10.14141/j.31-1981.2023.03.017 Fast

2、Method for Generating Femap Calculation Reports TANG Zhiguang(COSCO Shipping Heavy Industry(Dalian)Co.,Ltd.,Dalian 116113,Liaoning,China)Abstract:In order to reduce design time and improve design efficiency,based on the application programming interface provided by Femap software,the automatic outpu

3、t function of charts required for calculation reports is developed and applied to design practice.Research shows that the automatic output function can significantly improve design efficiency.The research results can provide some references for the secondary development of Femap software.Key words:F

4、emap;calculation report;application programming interface;C+作者简介:唐志广(1981),男,硕士、高级工程师。研究方向:船舶与海洋工程。0 引言引言 Femap是Siemens PLM Software开发的有限元(Finite Element,FE)预处理和后处理软件,主要用于工程仿真和分析,广泛应用于汽车、航天、航空、船舶、电子、机械制造等行业中1。Femap 软件默认安装NX Nastran 解算器,并能与多种FE分析解算器兼容,如ABAQUS、ANSYS、LS-DYNA等2。Femap软件不仅提供了许多强大的通用功能,还公开

5、了众多的应用编程接口(Application Programming Interface,API),供用户开发自定义的扩展功能,以提高用户工作效率3。Femap 软件具有强大的后处理功能,便于使用者快速、有效地分析仿真结果。Femap 提供的后处理工具包括:表格、线图、云图、动画、用户自定义报告等4。此外,Femap 提供通用的结果处理功能,可在分析结束后合并计算结果,为编写项目计算报告提供了充分支持。在编写项目计算报告时,往往需要计算多种工况,此时需要将各工况的计算结果粘贴到计算报告中5。由于工况复杂,每份计算报告中需要粘贴的矢量图、云图的数量通常高达数百张,若全部通过手工操作,不仅浪费大量

6、设计时间,还需要花费很多精力来检查正确性,非常繁琐。针对上述问题,本文基于Femap软件提供的API,对计算报告所需图表的自动输出功能进行开发,并将其应用于设计实践。1 Femap的二次开发方法的二次开发方法 为方便二次开发,Femap软件的API允许用户开发自定义的扩展功能。Femap 软件的API可使用技术交流 Technical Communication 2023/3 船舶标准化工程师 69 任何支持对象链接与嵌入/组合对象模型(Object Linking and Embedding/Component Object Model,OLE/COM)的编程语言进行开发,如C/C+、C#、

7、Visual Basic、VBA 等6。对于用户二次开发的应用程序,Femap 软件提供了多种交互方式,主要包括以下4 种:1)作为2 个独立的应用程序运行(无交互)。2)将Femap 作为后台服务运行。3)将用户应用程序作为Femap 加载项运行。4)将Femap 程序界面嵌入用户应用程序中。1.1 作为作为2 个独立的应用程序运行(无交互)个独立的应用程序运行(无交互)该方式是最简单的交互方式。由于Femap 和用户二次开发的应用程序都不需要真正了解对方的用户界面,故不需要进行额外的设置7,只需要启动应用程序,然后通过 COM 接口获取已经运行的Femap应用程序窗口。新的Femap 应用

8、程序默认隐藏窗口界面,要将窗口显示出来必须调用feAppVisible 函数。1.2 将将Femap作为后台服务运行作为后台服务运行 若希望用户二次开发的应用程序界面成为用户唯一可见的用户界面,则在启动新的Femap程序后,不调用 feAppVisible 函数,此时仅有用户二次开发的应用程序界面可供交互。然而,通过 API,用户二次开发的应用程序可访问Femap 的任何接口。由于此交互方式不需要更新Femap 界面,故运行速度较快。1.3 将用户应用程序作为将用户应用程序作为Femap加载项运行加载项运行 在此交互方式下,用户二次开发的应用程序成为Femap的一个加载项。用户看到的整体界面和

9、普通的Femap界面基本相同,仅仅多了一个浮动面板,即用户二次开发的图形用户界面(Graphical User Interface,GUI)。该交互模式将用户二次开发的程序界面嵌入Femap 程序界面中,并与Femap 操作界面融为一体。1.4 将将Femap程序界面嵌入用户应用程序中程序界面嵌入用户应用程序中 将 Femap 程序界面嵌入用户应用程序界面中,Femap 程序界面可整体显示,也可部分显示。若要关闭除视图窗口外的其他Femap 窗体界面元素,只需要调用feAppEmbed 函数即可。综上所述,Femap 软件与用户二次开发的应用程序间有多种交互方式,具体采用何种方式,需要根据应用

10、场合而定。本文将用户二次开发的程序嵌入Femap用户界面中,使其与Femap软件界面的风格相统一。2 使用使用C+读写读写Word文档的方法文档的方法 要实现自动生成计算报告,则需要通过程序读写Word文档。通过程序读写Word文档主要有以下2 种方式:1)直接使用 Word 的 COM 组件接口,见图1;2)使用Word 操作控件,如Spire.Doc 等。第 1 种方式常会由于各设计师电脑上安装的 Word版本不同而导致程序兼容性问题;第2 种方式往往会产生额外的费用。本文的研究涉及插入文字和图片等基本操作,主要通过改造开源库DuckX 实现所需要的功能。由于DuckX 仅提供了在Word

11、文档中插入文字的功能,需要增加在 Word 文档中插入图片的功能。图1 直接使用Word 的COM组件接口 Word 自 2007 版本之后的文件为.doc 格式,使用压缩软件对.doc 格式的文件进行解压操作,可得到一些文件和文件夹。其中,document.xml 文件包含了文档的主要文本内容,DuckX 通过该文件实现docx 文档的文本读写功能。DuckX 在 Word 中插入文本只需要修改document.xml 即可,插入图片相较插入文本更为复杂,主要包括如下步骤:1)在document.xml 中写入图片的大小、版式、位置等信息,设置图片编号。2)在 word/media 文件夹中

12、插入一个实际的图片文件。3)修改word/_rels/document.xml.rels,添加一个记录,将图片编号与图片文件关联起来。70 船舶标准化工程师 2023/3 为实现在Word文档中插入图片的功能,DuckX需要添加如下 3 类代码:1)Relationship 类代码,用于管理 word/_rels/document.xml.rels 文件;2)InlinePicture 类代码,用于管理图片对象;3)Run类代码,用于插入图片。3 编程与测试编程与测试 考虑到程序运行速度以及开创性,本文基于Femap 软件,采用C+语言进行二次开发。二次开发的程序将Visual Studio

13、2019社区版作为集成开发环境,程序界面见图2。图2 程序界面 3.1 DuckX 改造改造 从GitHub 上下载DuckX,使用CMake工具生成 Microsoft Visual Studio(VS)项目,添加Relationship 类、InlinePicture 类代码,并在 Run 类代码中添加add_inline_picture 方法,随后编译为lib文件供后续使用。InLinePicture 类代码的关键部分如下:duckx:InlinePicture:InlinePicture(pugi:xml_node parent,pugi:xml_node current)this-s

14、et_parent(parent);this-set_current(current);void duckx:InlinePicture:save_to_doc(zip_t*doc)const std:string path=word/;path=path+target;zip_entry_open(doc,path.c_str();zip_entry_write(doc,pic_data,data_size);zip_entry_close(doc);3.2 连接连接Femap并创建应用程序对象并创建应用程序对象 首先打开Visual Studio 软件,创建一个微软基础类库(Microso

15、ft Foundation Classes,MFC)的对话框应用,再从femap.tlb 导入所需要的接口。在对话框的头文件中添加如下语句:#import D:Program FilesSiemensFemap 2022.1femap.tlb named_guids rename(GetProp,feGetProp)在对话框头文件中添加应用程序对象供后续使用:CComQIPtr pModel;在对话框的 OnInitDialog()方法中对 pModel 进行初始化,为使代码清晰易读,此处省去了与异常判断有关的部分代码:CoInitialize(NULL);CLSID clsid;HRESUL

16、T hr=AfxGetClassIDFromString(L femap.model,&clsid);IUnknown FAR*punk;hr=:CoCreateInstance(clsid,NULL,CLSCTX _SERVER,IID_IUnknown,(void*)&punk);pModel=punk;pModel-feAppRegisterAddInPane(true,(int)m_ hWnd,0,false,false,3,1);pModel-feAppVisible(true);3.3 在程序中处理消息在程序中处理消息 当Femap 程序关闭时,应能实现对话框自动退出的功能。因此,二次开发程序应能捕捉并响应Femap 程序发出的退出消息。通过如下代码在 OnInitDialog()方法中注册Femap 消息:FE_EVENT_MESSAGE=RegisterWindow Message(LFE_EVENT_MESSAGE);通过如下代码重载对话框的 WindowProc 函数处理消息:if(message=FE_EVENT_MESSAGE)if(wParam=femap:z

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2