首页/文章/ 详情

Workbench也能自动出仿真报告(你想要的那种)?

1年前浏览1820

众所周知,在Workbench的Mechanical模块里是有一个自动生成报告的功能,只是鲜有人用,可能是真的不好用,一般情况下,大家都会选择手工编写仿真报告。很多定制的二次开发中都会涉及到自动出报告,但是其实这个功能,其实无需其他额外的软件支持,只需要安装了Ansys,都可以实现,它就是Workbench平台自带的脚本功能(Scripting)。

Workbench平台的二次开发的脚本语言是IronPython,它和现流行的Python在代码编写上差异不大,本次会向大家简单介绍如何利用IronPython来进行控制编写。使用版本Ansys_2021R1。

1.打开脚本编辑器

Workbench的脚本编辑器的界面可以看到使用的IronPython的版本是2.7 on .NET4.0,基本可以约等于Python2.7。.NET实际是微软开发的跨平台框架,能做的事情很多,基本都是基于Windows平台的。

可以看出,Workbench的脚本编辑器的界面是真的平平无奇,但是功能还是很强大的。

2.打开Word应用

这里需要说明,要实现通过脚本编辑器打开Word,首先要保证Word是能够正常使用的(虽然是句废话,但是还是需要提醒一下),版本问题没有测试过,笔者使用的是2013版本。

首先导入必要的模块。

Import 语句用于导入相应的模块,CLR(Common Language Runtime)模块是.NET框架的核心组件之一,主要负责在运行时执行.NET程序。Word是基于.NET框架下的一个应用,因此可以使用IronPython直接调用。

代码:

通过上面两个命令,打开Word应用,由于没有新建空白页,此时的显示是应用打开的状态。

效果:

3.新建空白页

代码:

效果:

通过Add()方法,新建一个空白页

4.插入一段文字

代码:

效果:

在段落的最后插入文字,文字内容是text1的内容,“\n”是换行。

5.插入图片+标题

代码:

效果:

代码给出了图片的地址,插入图片的位置,图片插入时按比例缩小,以及图片的标题。

6.插入表格

代码:

效果:

代码给出了图片的地址,插入图片的位置,图片插入时按比例缩小,以及图片的标题。

7.其他

每次在插入新的内容前,需要先将光标移至最后,才能保证每次插入的新内容是在文章的最后~

    #导入模块import clrclr.AddReference("Microsoft.Office.Interop.Word")import Microsoft.Office.Interop.Word as MSWord#打开应用wordApp = MSWord.ApplicationClass()wordApp.Visible = True#新建空白页myword = wordApp.Documents.Add()#插入一段文字text1 = "我是一段测试文字!"myword.Paragraphs.Last.Range.Text = text1 + "\n"#光标移至最后unite = MSWord.WdUnits.wdStorywordApp.Selection.EndKey(unite)#插入图片picPath = r"D:\test.png"loc_range = wordApp.Selection.Paragraphs.Last.RangeinlineShape = myword.InlineShapes.AddPicture(picPath,False,True,loc_range)inlineShape.ScaleWidth = 20inlineShape.ScaleHeight = 20pic_title = "我是测试图片"inlineShape.Range.InsertAfter("\n" + pic_title + "\n")#光标移至最后wordApp.Selection.EndKey(unite)#插入表格row_num = 3col_num = 4loc_range = wordApp.Selection.Paragraphs.Last.Rangetable = myword.Tables.Add(loc_range,3,4)table.Borders.Enable = 1index = 0 for i in range(row_num):  for j in range(col_num):    table.Cell(i+1,j+1).Range.Text = "我是测试"+str(index)    index +=1
    来源:CAE中学生
    MechanicalWorkbench二次开发控制
    著作权归作者所有,欢迎分享,未经许可,不得转载
    首次发布时间:2023-05-25
    最近编辑:1年前
    CAE无剑
    硕士 | 仿真工程师 CAE中学生
    获赞 631粉丝 1377文章 234课程 0
    点赞
    收藏
    未登录
    2条评论
    才人个是真
    签名征集中
    3月前
    您好,我为什么用不了这个方法报错呀IOException: Could not add reference to assembly Microsoft.Office.Interop.Word
    回复
    Lal
    签名征集中
    11月前
    博主您好,请问该如何实现”自动“功能呢?
    回复

    课程
    培训
    服务
    行家

    VIP会员 学习 福利任务 兑换礼品
    下载APP
    联系我们
    帮助与反馈