首页/文章/ 详情

从零开始学ANSA二次开发:如何利用Designer搭建窗口(含安装步骤)

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家/独家讲师
平台推荐
主编推荐
3月前浏览5889

图片



图片


导读:大家好,我是团长,是一名CAEer,还是一名Coder,也是仿真秀平台ANSA专栏作者。
受仿真秀的邀请,今天起我将为大家带来ANSA二次开发相关内容。众所周知,ANSA是一个非常快捷的前处理软件,除了软件自身提供的强大快捷操作功能外,ANSA还提供了基于Python语言的二次开发接口和强大的界面开发工具BCGUI Designer。

一、ANSA二次开发的准备工作

利用Pycharm作为IDE,让Python这门语言顺利地在电脑上顺利运行,进行ANSA的二次开发,你需要经过4个步骤。
1、下载Pycharm,安装并且激活,戳如下链接即可查看哦。
 
ANSA二次开发利器-Pycharm-的下载安装教程
2、下载最新版python,并在Pycharm中引用进行编译环境配置。戳如下链接即可查看哦。
 
ANSA二次开发利器-Pycharm-的编译环境配置
3、下载最新版Anaconda,利用其强大的各种各样的Python包,为自己编写代码准备充足而强大的工具箱。要准确引用这些包,也需要在Pycharm中进行环境配置。(其实Anoconda也有Python的解释器的,如果决定下载Anaconda,倒是不用下载Python了),感兴趣的朋友可查看Pycharm如何引用Anoconda的库

4、进行基于ANSA二次开发的环境配置。需要用到ANSA自带的补全包(pydev_ansa,pydev_meta),实现在Pycharm中快速调用ANSA包,并对代码进行自动补全。感兴趣的朋友可以查看在PyCharm搭建开发环境-自动补全。

从零开始学ANSA二次开发的第一期,我们来讲讲在ANSA中如何个性化定制自己的窗口,我们要讲到ANSA自带的窗口定制功能【Designer】,本文内容部分翻译自原英文文档,图片来自软件截图。

二、Designer的概述

什么是【Designer】呢?它是一种可以使用图形用户界面(GUI)轻松生成窗口的工具。对于设计人员来说最大优势是可以自动生成代码,从而减少了脚本的准备时间。以下各段将重点介绍【Designer】的界面(不特别强调背景中使用的BCGUI功能)。

三、Designer的界面

通过单击Tools > Designer,可以通过【Script Editor】访问【Designer】。它的初始启动界面包含以下部分。


图片

  • 工具箱(Tool Box):这是托管所有用于创建小部件,布局或项目的功能的窗口。

  • 结构化项目(Constructed items):已创建的项目的树状图列表;

  • 通用参数(Common Parameters)每个BCGUI项目都共有的参数,都列表于此窗口;

  • 参数(Parameters)每个结构化项目的特殊参数,都列表于此窗口;

  • 函数调用(CallBack Functions)所有创建的函数都保存在这个窗口;

  • 源代码(Source Code)所有自动创建的源代码都显示在这里;

  • 帮助(Help)所有选中的函数的的使用说明都罗列于此。
接下来,我们来详细说说这些个模块。

四、工具箱(Tool Box)窗口

工具箱是在BCGUI的【Designer】中执行的所有操作的起点。它在单独的选项卡中包含创建主窗口(Window)、按钮(Buttons)、容器(Containers)、视图(views)、小部件(widgets)和输入项(input items)的所有必需功能。初始打开【Designer】时,只有“Window”选项卡处于激活状态,因为第一个操作是创建窗口(作为所有小部件的父对象)。
操作方法:展开“Window”树,然后按“Apply Settings”按钮创建名称为“ Top Window”的主窗口。


图片


然后即可创建出一个窗口。
图片
想要在上述窗口继续创建对象,需要展开【Tool Box】中各个分类,进行一些基础的或者必要的设置,或者直接默认,再按【Apply settings】即可创建相关的对象。如下,我们们示例了如何在该窗口下创建一个按钮(Button)和一个勾选框(Check Box)。
图片
注意,父类对象影响着子类对象的顺序。如上所示,直接加入到主窗口的对象都是竖着排列的(默认)。如果想要横着排列,或者手动指定竖着排列,就需要提前定义一个竖排或者横排的分布(HBox or VBox),或者创建一个BoxLayout,在其中指定内部部件的分布方向。如下,我们展示了一个横向排列的例子。
图片
在上述例子中,我们是在top window中创建了BoxLayout,然后在BoxLayout中创建了一个按钮和一个勾选框。其中将BoxLayout定义为横向排列,借此来控制内部两个部件的排列顺序和方向。

五、结构化项目(Constructed Items)窗口

所有创建的对象都罗列在结构化项目窗口中。通过这个窗口中的树状图能很容易的识别不同对象之间的父子关系。
图片
在结构化项目窗口中可以通过拖放操作改变对象所放置的位置。如下图所示,通过鼠标左键选中BCCheckBox_1项,拖动该对象到BCPushButton_1之前,实现两个对象的位置对调。
图片
通过在结构化项目中选中 特定对象,比如对应的窗口中的对象会高亮。相反地,通过按住Ctrl键 鼠标左键选中窗口中的组建,那么结构化项目树中对应的对象也会高亮。
图片
另外,通过右键选中结构化项目中的任何对象,都可以通过【Delete items】来删除该组建。
图片

六、通用参数(Common Parameters)窗口

该窗口列出了每个单个对象所共同的所有选项。参数名和参数值显示在两个单独的列中。如下图所示。
图片
为了更改默认某参数选项,请展开某参数并在允许新值的位置键入新值。最后,按“Apply Settings”按钮确认更改。在下图中,示例了如何为按钮“ BCPushButton_1”添加提示信息。从“结构化项目”窗口或屏幕中选择按钮,然后在“ AddToolTip”参数的“ Values”列下键入工具提示文本。确认后,将光标放在按钮上可以查看创建的工具提示。
图片

七、参数(Parameters)窗口

“参数”窗口列出了可以应用于所选对象的特殊功能。从屏幕或“构造化项目”窗口中选择对象后,“参数”窗口的标题和实际参数都会相应更改。下图显示了选择按钮时的“参数”窗口。参数的名称和输入参数显示在两个单独的列中。
图片
每个参数的名称都有描述其用法。与其他任何参数列表一样,相应的选项具有默认值,但用户可以更改它们。例如,为了更改按钮的名称,就可以通过展开“ ButtonSetText”选项,然后为“Text”选项键入新值。最后,按“应用设置”按钮确认更改。
图片

八、函数调用(CallBack Functions)

“参数” 窗口中所有名称以“ Function”结尾的函数均用于设置对象的调用函数。为了找到与调用函数有关的所有函数,请激活过滤器,然后在“参数”字段中键入“ function”,如下所示。
图片
我们为这个按钮过滤了两个不同的回调函数。用户可以根据自己的需要选择任何选项。按下“Applysettings”按钮时,回调类型及其名称将自动列在“回调”窗口下。窗口标题将指示该父类对象类型:
图片
所有回调函数的最后一个参数可以是任何类型,并且对应于回调函数运行所需的用户数据。

九、帮助区域(Help area)

每个参数对应一个BCGUI函数。通过从“公共参数”或“参数”窗口中选择一个参数,可以在“帮助”区域显示相应的BCGUI函数的帮助文本。
图片
设置回调的函数的帮助文本还包含回调的语法。因此,该信息还将告知用相关输入参数及其返回值。

十、源代码区域(Sourve Code )

“源代码”窗口是执行操作后BCGUI Designer自动构造代码的区域。每次按下“Apply Settings”按钮时,或者使用手动移动更新构造化项目时,都会执行操作。生成的代码由一个主要函数和任意数量的回调函数组成。
下图显示了执行前面所有操作所自动构建的源代码。
图片
源代码区域不可编辑代码,并且仅在执行操作或删除对象时才自动更新更改。可以点击菜单栏中的“Clear Source Code”符号,清除源代码区域的代码(不会破坏已经创建的窗口)。下次执行任何动作时,将再次生成源代码。

十一、编辑源代码

源代码(包括设计器工具构造的主函数和回调函数)只是所有脚本的一小部分。其余代码必须由用户通过脚本编辑器手动添加。可以通过“File” > “Save”将源代码另存为任何其他脚本,然后可以由脚本编辑器【Script
 Editor】重新打开源代码以进行进一步的编辑。或者,可以通过“Script” > “Set Code to Script Editor”将其直接发送到编辑器。
图片
显示在Script Editor中的脚本如下。
图片
我们来运行下以上代码。就能生成我们自己选择创建的窗口,以及窗口中相对应的组建。
图片
总结:本文讲述了如何利用Designer进行定制化界面开发,并详细介绍了该窗口的各个功能区域及使用方法。大家可以利用Designer的界面开发功能,初步构建自己的窗口,然后利用Script Editor对局部内容进行修改和扩展。

十二、读者福利

ANSA二次开发学习,是一个长期系统的过程,我会在仿真秀平台(官网或APP)陆续进行推送,敬请关注。为了能让大家更好的学习到ANSA这款软件的工程使用方法,先前我发布的精品课《CAE前处理之ANSA网格划分专题8讲》这门课程,现已经更新完结。原价199元,限时特价9.9元。
这门课程主要为大家带来:


  • 了解ANSA概况,熟悉ANSA操作界面;

  • 学会CAD几何清理方法;

  • 学会常见的ANSA几何简化方法;

  • 如何如钣金零件进行中面抽取;

  • 学会如何进行面网格划分及网格优化方法;

  • 学会如何进行体网格划分及网格优化方法;


图片
另外团长还给大家准备了高阶课程-《Python语言在ANSA应用技能18讲-获得ANSA有限元分析入门的一站式解决方案》。欢迎订阅
作者: 团长  仿真专栏作者
声明:原创文章,本文首发仿真秀,部分图片源自网络,如有不当请联系我们,欢迎分享,禁止私自转载,转载请联系我们。
结构基础静力学二次开发汽车ANSA
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-12-26
最近编辑:3月前
仿真圈
技术圈粉 知识付费 学习强国
获赞 10098粉丝 21559文章 3539课程 219
点赞
收藏
未登录
1条评论
lubin
☯️
3年前
{d83d}{dc4d}
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈