tcl脚本进行二次开发
tcl脚本进行二次开发
HyperMesh中利用Tcl脚本进行二次开发杨国雄上海世科嘉车辆技术有限公司HyperMesh中利用Tcl脚本进行二次开发Further Develop by Tcl Script Based onHyperMesh杨国雄(上海世科嘉车辆技术有限公司)摘要:当代企业发展的关键是创新,本文通过对HyperMesh软件进来二次开发的两个实例—频响分析流程订制和通过Comps名自动定义单元属性,研讨了通过HyperMesh软件对企业CAE分析流程进行简化,标准化,人性化的可能性。
关键字:Tcl,二次开发,HyperMeshAbstract:Innovation is the key of contemporary enterprise's development. In this paper, 2 examples(customized frequency analysis process and automatic definition of element properties via comps name)were made by further developed of HyperMesh. The possibility of CAE analysis process be simplified, standardized and humanized with HyperMesh software was also discussed.Keyword:Tcl, Further Develop,HyperMesh1 概述随着各个行业对CAE技术应用的深入,企业对规范化分析流程,简化前处理等各个方面提出了需求。
HyperMesh是一款功能强大的有限元前处理软件,同时还具有丰富的二次开发能力。
通过二次开发为企业更好的利用HyperMesh软件提供了可能性。
2 HyperMesh二次开发简介HyperMesh二次开发主要包括了2个层次的内容——宏命令和Tcl/Tk脚本。
TC8二次开发环境搭建
1、打开Eclipse添加开发所需要插件,右键window选择Preference,然后选择Target Platform 找到Teamcenter安装目录里面的portal目录,引入目录里面的插件包,点击OK。
2、new 一个project 选择Plug-in Project,然后next3、填写project名称,next这里按默认,next这里不要勾上,然后finnish选择文件,添加如下插件包到project中org.eclipse.ui,org.eclipse.core.runtime,com.teamcenter.rac.aifrcp;bundle-version="8000.3.0",mon;bundle-version="8000.3.0",com.teamcenter.rac.kernel;bundle-version="8000.3.0",com.teamcenter.rac.pse;bundle-version="8000.3.0",com.teamcenter.rac.tcapps;bundle-version="8000.3.0",com.teamcenter.rac.util;bundle-version="8000.3.0",com.teamcenter.rac.external;bundle-version="8000.3.0",com.teamcenter.rac.explorer;bundle-version="8000.3.0",com.teamcenter.rac.neva;bundle-version="2.0.0",icctstubs;bundle-version="8000.3.0",mandsuppression;bundle-version="8000.3.0", com.teamcenter.rac.ui;bundle-version="8000.3.0",mands;bundle-version="8000.3.0", com.teamcenter.rac.ui.views;bundle-version="8000.3.0", TcSoaClient;bundle-version="8000.3.0",TcSoaCommon;bundle-version="8000.3.0",TcSoaCoreRac;bundle-version="8000.3.0"创建一个测试的Action类代码如下:package com.teamcenter.test.action;import mands.AbstractHandler;import mands.ExecutionEvent;import mands.ExecutionException;import com.teamcenter.rac.aif.AbstractAIFUIApplication;import com.teamcenter.rac.aifrcp.AIFUtility;import com.teamcenter.rac.kernel.TCSession;import com.teamcenter.rac.util.MessageBox;public class TestAction extends AbstractHandler{AbstractAIFUIApplication app = null;TCSession session = null;public Object execute(ExecutionEvent arg0) throws ExecutionException {app = AIFUtility.getCurrentApplication();session = (TCSession) app.getSession();new Thread(){public void run(){//弹出一个对话框MessageBox.post("提示", "Hello Teamcenter",RMATION);//输出一句控制台System.out.println("hello teamcenter..");}}.start();return null;}}然后配置plugin.xml文件<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.4"?><plugin><extension point="mands"><commanddefaultHandler="com.teamcenter.test.action.TestAction"id="com.teamcenter.test.action.TestAction"name="测试"></command></extension><extension point="org.eclipse.ui.menus"><menuContributionlocationURI="menu:org.eclipse.ui.main.menu?before=help"><menu id="mands.CustomMenu"label="测试菜单栏"><commandcommandId="com.teamcenter.test.action.TestAction"><visibleWhen><and><referencedefinitionId="com.teamcenter.rac.ui.inMainPerspective"></reference><with variable="rac_command_suppression"><not><iterate operator="or"><equalsvalue="com.teamcenter.test.action.TestAction"/></iterate></not></with></and></visibleWhen></command></menu></menuContribution></extension></plugin>打开META-INF文件夹下的MANIFEST.MF加人runtime选项然后选择project右键export,选择如下,next勾上project,选择export路径,finnish开发过程就是这样了,插件成功导出到teamcenter的插件目录中,打开Teacenter测试OK。
二次开发说明
二次开发说明
1、使用软件编辑正确的内容, 和正常使用时一样
2、模式设置
“同步+**”模式时发送的内容为立即显示,这种方式通讯速度快,适合内容不需要特技效果的应用
“脱机+**”模式时发送的内容会很据预设的特技效果显示, 适合内容超过屏幕大小,需要连续显示的应用
3.需要的关联文件
C盘根目录下建立一个led的文件夹
Led.ini 此文件存在软件启动以后最小化到托盘,按照提前设置好的节目,检测led文件下的图片改变. 相当于一个开关, 这个文件最好再所有节目和图片都制作完毕的时候创建
关联显示屏.bmp 如果使用”同步+**”模式只需要有这一个图片即可,当这个图片改变时,软件自动发送,相当于发送开关
显示屏节目单行文本.bmp 文件名是箭头所示三处名字的组
合,此文件在“脱机+**”模式下使用, 先修改此图片,然后改变一下显示屏.bmp 此图片的内容就会发送.
注意: 如果有多个显示屏多个节目多个文本的话名字不能重复!。
spirent自动化测试说明书
Spirent测试仪器自动化测试说明书1引言1.1背景根据部门现有的Spirent测试仪器使用状况,收集发现存在以下几点问题,主要有:1、Spirent测试仪器目前拥有三大设备仪器,测试人员学习需要花费大量的时间精力,并且需要相对扎实的网络测试基础和配合专业的指导。
2、各测试仪器之间关联性目前不大:每个仪器目前是单一的设备,没有有效地整合为一个测试系统,对测试环境构成重复构建,测试配置混乱无关联。
3、测试过程中,测试人员测试工作繁重,测试仪器的配置相对繁琐,影响测试效率。
4、测试仪用例的测试时间相对较长,需要测试人员专职守候,切换被测设备参数和仪器参数,测试周期长达一天,花费时间太长,比如加密机各种模式的性能测试。
上述问题反映出Spirent测试仪器需要专业知识多、手工测试效率低、测试周期长等一系列问题。
为降低仪器使用复杂度、提高工作效率、加快测试周期,需要对Spirent测试仪器进行二次开发,实现自动化测试,用于代替部分功能繁锁的手工回归测试。
2系统概述2.1系统目标通过对测试仪器的自动化二次开发的目标:对仪器测试接口封装,减少测试参数配置,降低测试仪器的使用复杂度;并可与自动化测试平台结合,更加方便管理、调度、控制测试执行;测试效果和测试结果同GUI模式相同;减少人工值守,加快测试周期,提高测试效率。
2.2功能需求Spirent测试仪器可以通过API支持所有的仪器工作能力。
通过对测试仪器自动化二次开发实现的功能和性能:●降低测试仪器的使用复杂度:简化测试人员的测试工作,其测试仪器简单易用,将测试的工作重心放在对产品的深入测试中。
●缩短测试时间:机器执行可在无人值守的条件下以最快的速度完成测试配置和执行,同时可以与自动化测试平台相结合,进一步减少测试人员的值守和干预。
●提高产品、服务的可靠性:实现回退测试周期的自动化。
确保产品生命周期的每一个阶段中都可以执行完全相同的测试。
●降低学习难度:简便易用的API中融入预先定义的测试逻辑,且无需对RFC2544或者RFC2889测试进行手工编码,从而使生产效率大幅提高。
二次开发方案
二次开发方案引言:随着技术的进步和需求的不断增长,许多企业和组织在使用现有软件或系统时,常常会遇到一些功能不足或无法满足实际需求的情况。
这时,进行二次开发成为了一种常见的解决方案。
本文将探讨二次开发的定义、目的、方法以及实施过程,并提出一套完整的二次开发方案。
一、二次开发的定义二次开发指的是在已有软件或系统的基础上,根据用户的实际需求进行功能扩展、定制开发或性能优化等工作。
通过二次开发,用户可以在不改变现有软件或系统的基本框架和核心功能的前提下,实现更加个性化和高效的使用体验。
二、二次开发的目的二次开发的目的主要包括以下几个方面:1. 实现个性化需求:根据用户的具体需求,通过二次开发来实现一些特定的功能或业务流程,以满足用户个性化的需求。
2. 提升系统性能:通过优化代码结构、算法调优等手段,提高系统的性能和响应速度,确保系统能够高效稳定地运行。
3. 增强系统功能:在现有软件或系统的基础上,增加一些新的功能模块或扩展功能,以丰富系统的功能和可用性。
4. 适应业务发展:随着企业或组织的业务规模的扩大或业务流程的改变,二次开发可以根据业务需求进行系统定制或功能拓展,以适应新的业务发展。
三、二次开发的方法二次开发的方法多种多样,常见的方法有以下几种:1. 插件开发:在现有软件或系统的基础上,通过编写插件或模块,实现一些特定的功能或业务流程。
插件开发可以使系统具有一定的可扩展性,同时也能够保证原有系统的稳定性。
2. 数据库扩展:通过对现有数据库进行扩展或优化,实现更加高效的数据存储和管理,提升系统的运行效率。
3. API集成:利用现有软件或系统提供的API接口,将其他系统或软件与之集成,实现数据交互和功能扩展。
API集成可以使不同系统之间实现数据共享和协同工作,提高工作效率。
4. 定制开发:根据用户的具体需求,从头开始自定义开发一个全新的软件或系统。
定制开发可以满足用户的个性化需求,但同时也需要更多的开发时间和成本投入。
HyperWorks利用Tcl二次开发(后处理)
HyperWorks利⽤Tcl⼆次开发(后处理)的过程与实例在HyperMesh的⼆次开发时相对简单⼀些,因为很多脚本都能够通过cmf⽂件查询到,⽽在后处理过程中则相对难⼀些,毕竟不能够直接查询到所⽤的Tcl命令。
下⾯以⼀个例⼦介绍后处理开发的主要过程。
(1)建⽴⼀个proc可以理解为⼀个⼦程序或者函数,同样有带参数和不带参数的,例如:proc ShowCurves {fileName amount} {…}(2)获得hwi对象Hwi对象是最顶级的⽗对象,下级的所⽤命令都来⾃于hwi,可以理解为⼀个⼤类,如下定义了⼀个Sessionhandle ,名称为sess。
hwi GetSessionHandle sess(3)获得下⼀级project handlesess GetProjectHandle proj(4)得到具体的数据sess GetDataFileHandle data $fileName(5)对数据的⼀些操作foreach value [data GetDataTypeList false] {foreach request [data GetRequestList $value false] {foreach component [data GetComponentList $value false] {(6)获得page,window,clientproj GetPageHandle p1 1p1 GetWindowHandle w1 1w1 SetClientType Plotw1 GetClientHandle plot(7)对plot下的对象进⾏操作set cn [plot AddCurve]plot GetCurveHandle c1 $cn(8)c1 GetVectorHandle xv xxv SetType Filexv SetFilename $fileNamec1 GetVectorHandle yv yyv SetType Fileyv SetFilename $fileNameyv SetDataType $valueyv SetRequest $requestyv SetComponent $component(9)重新计算/显⽰plot Recalculateplot Autoscaleplot Draw(10)找到最⼤值c1 AddCursorc1 GetCursorHandle cur 1cur FindGlobalMax yset maxY [cur GetY]cur FindGlobalMin yset minY [cur GetY](11)计算差别set diff [expr abs($maxY-$minY)](12)判断if {$diff < $amount} {c1 SetVisibility false}(13)释放变量p1 ReleaseHandle w1 ReleaseHandle plot ReleaseHandle c1 ReleaseHandle cur ReleaseHandle xv ReleaseHandle yv ReleaseHandle (14)结束}}}}。
使用函数式或命令式进行二次开发的流程
使用函数式或命令式进行二次开发的流程下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!一、什么是函数式和命令式编程。
1.1 函数式编程。
isight二次开发语言mdol学习
1.MDOL概述假设每个设计问题都可以简化成两大部分(1)数据模型data model:Input and output parameters, initial starting solution values, design variables, objectives, constraints:输入输出参数、设计变量、目标函数、约束等(2)过程流模型process flow model过程流模型控制了过程的组织及数据传递。
所有设计任务都可以通过上述两大类型的结构化、通用化的组件shell来描述。
每个设计任务的model的这些描述信息保存在isight内置的description file文件中,isight二次开发的关键任务在于解析以及生成description file(*.desc)。
MDOL语言是易擎公司针对iSIGHT软件专门开发的多目标优化描述语言(Multi-Disciplinary Optimization Language)。
MDOL语言通俗易懂,类似于英文文法,以模块化的方式将iSIGHT模型记录在*.desc文件当中。
用户可以通过对*.desc文件使用MDOL 语言来加以修改从而方便的实现对iSIGHT的二次开发。
1.1 MDOL模块化组织的特点:✓模型的所有信息都是用MDOL语言以模块化(block)的方式记录在iSIGHT的desc描述文件中。
✓在desc描述文件中,各个模块并没有指定的顺序。
但是,iSIGHT在存储模型文件时,会按照一个默认的顺序来记录各个Block 每一个模块都有如下的结构:thisBlock taskname……End thisBlock taskname✓在MDOL语言中,对英文字符是区分大小写的。
✓如果不是必须的,没有使用的可选模块是不被记录在desc描述文件中的。
✓iSIGHT文档遵循MDOL语言的文法存储模型的内容。
一个设计问题均需保存为一个application,在isight中体现为一个*.desc文件,Application (应用程序)可以看作为*.desc的同义词,属于MDOL最高层级的任务层。
基于Q_t和F_l_u_e_n_t的挂式房间空调热舒适性仿真平台开发
1 引言在炎热的夏季和寒冷的冬季,使用空调制冷、制热已经成为人们的习惯。
随着生活水平的提高,人们对空调的需求已经从单纯的制冷、制热功能逐渐转变为噪声、热舒基于Qt 和Fluent 的挂式房间空调热舒适性仿真平台开发古汤汤 孙品品 李松 吴佳钉 白韦韡(宁波奥克斯电气股份有限公司,315100)适性指标等的提升。
开发一款热舒适性好的空调已经成为空调企业的主要目标之一。
目前,开发阶段利用有限元软件对产品性能进行预测越来越受到各大企业的重视。
何博等利用STAR-CCM+软件对某空调房间内的气流组织进行摘要:随着生活品质的提高,人们对空调的噪声、热舒适性指标提出了越来越高的要求。
在产品开发阶段利用有限元软件进行数值仿真预测产品性能,已经成为各大空调企业的主流开发模式。
本文致力于搭建空调热舒适性仿真平台,研究了影响仿真结果准确性的各种因素,并在此基础上为降低仿真门槛,利用Qt 语言和Fluent 软件对仿真流程进行二次开发,开发了一款界面友好、关键参数可调、仿真结果自动处理的应用软件。
仿真和实验的对比结果表明,开发的热舒适性仿真平台,仿真精度达到96%,仿真效率较手动操作提升20倍。
同时,即便是无仿真基础的设计员,也能通过该平台在产品设计阶段进行仿真实验,大大提高了研发效率。
关键词:空调 热舒适性 二次开发 Fluent 软件Development of Hanging Room Air-conditioning Thermal Comfort SimulationPlatform Based on Qt and FluentGu Tangtang,Sun Pinpin,Li Song,Wu Jiading,Bai Wei(Ningbo AUX Electric Co. Ltd.,315100)Abstract :With the improvement of the quality of life, people put forward higher and higher requirements for comfort indicators such as air conditioning noise and heat. At the stage of product development, the use of finite element software for numerical simulation and prediction of product performance has become the mainstream development mode of major air-conditioning enterprises. This paper is committed to building the thermal comfort simulation platform of air conditioning. First, various factors affecting the accuracy of simulation results are studied. On this basis, in order to reduce the simulation threshold, the simulation process is developed by using Qt language and Fluent software, and an application software with friendly interface, adjustable key parameters, and automatic processing of simulation results is developed. The comparison results of simulation and experiment show that the developed thermal comfort simulation platform has a simulation accuracy of 96%, and the simulation efficiency is 20 times higher than that of manual operation, so that designers without simulation foundation can also achieve synchronous simulation in the product design stage, greatly improving the research and development efficiency.Keywords :Air conditioner,Thermal comfort,Secondary development,Fluent software此外,由于空调尺寸和房间尺寸不是一个数量级,如果直接进行三维仿真,网格数量将变得非常庞大,且我们并不关注空调内部流场和温度场的分布情况,而是关心房间内的气流分布,因此可以把空调简化成黑箱处理,通过二维仿真得到空调出风口的相关参数,再代入到三维模型中,再进行后续计算。
3基于TCL编程的HyperMesh二次开发在抗凹分析中的应用
基于TCL编程的HyperMesh二次开发在抗凹分析中的应用Application of HyperMesh Secondary Development for Oil Canning Analysis by TCL Programming卢晨霞王朋波(重庆长安汽车股份有限公司北京研究院北京 100195)摘要:抗凹性是汽车外覆盖件性能的重要指标之一。
传统抗凹分析方法存在考察点选取不准、操作复杂、参数无法固化与费时较长等缺点。
本文基于TCL语言利用HyperMesh二次开发了抗凹分析自动化工具,使抗凹分析流程自动化、准确化。
抗凹分析自动化工具能准确找到外板的薄弱点,固化了根据经验总结出的参数设置以保证精度,3分钟之内完成全部设置。
关键词:TCL编程抗凹分析二次开发 HyperMeshAbstract: Dent resistance is an important indictor which is a reflection of the use of automotive panel. There are some shortcomings for the traditional method of concave resistance including the imprecise points selected for analysis, complex operation, unfirm parameters, and long time. This article adopts secondary development to develop automatic tools for concave analysis based on TCL making use of HyperMesh, making the process to concave resistance automatic and accurate. The automatic tools of concave analysis could find the weak point for covering parts, form the parameter settings by experience to ensure accuracy and achieve all settings in 3 minutes.Key words: TCL Programming, Oil Canning Analysis, Secondary Development, HyperMesh1 概述抗凹陷性能(简称抗凹性)是指车身外表零件抵抗外加负荷在其表面产生压痕的能力。
TclTk 命令与 CC 的集成研究 梁伟杰,蒋科艺,吕剑锋
Library function was present.
Keywords: Tcl/Tk command, Tcl/Tk C DLL, integration
1. 问题来源
基于虚拟现实的维修性分析评价系统(以下简称 VMSAS)是为适应产品无纸设计、分析、评审的需 要,以人机工效商业软件 JACK 为平台,由本单位进行二次开发形成的一个维修性设计分析评价系统,主 要功能包括样机建模、动作建模、维修仿真与检测、维修性分析与评价等。
基金项目:国家自然科学基金资助项目:并行设计中产品维修性模型研究(编号:50005023),“十五”武器装备预 研项目资助。
作者简介:梁伟杰(1980.05~),男,汉族,硕士生,研究方向为维修性理论与应用。通讯地址:石家庄军械工程学 院六系维修工程实验中心,050003。联系电话:0311-86879059。蒋科艺(1977~),男,汉族,博士生, 主要研究方向为虚拟维修仿真以及应用。吕剑锋(1981~),男,汉族,硕士生,研究方向为维修性理论 与应用。
在用户的 C/C++程序中,为了能够访问 TCL/TK 库,必须在源代码声明两个调用库的头文件,即"tcl.h" 和"tk.h"两个文件。要建立混合 Tcl/Tk 和 C/C++应用程序,须按如下方式进行: 3.1 调用"Tcl_Main"函数(Tk_Main 原理相同)
Tcl_Main(argc, argv, Tcl_AppInit),用来控制整个 Tcl 解释器程序,没有返回值。这是一种较为高级的 接口,可以替用户创建解释器、处理命令行变元来执行脚本,提供交互式命令循环等。"Tcl_Main"函数有 三个变量:第一个变量表示在这个数组的元素个数;第三个变量是指向初始化函数的指针;第二个变量是 一个字符串型数组,每个字符串都有一个特殊的含义。字符串数组通过"Tcl_Main"来通知 Tcl/Tk 解释器应 用程序的名称和 Tcl/Tk 命令在脚本中的位置。这个数组实际上是传给解释器的命令行参数。数组的第一项 给出应用程序名称,第二项给出了运行的脚本位置。
基于Socket和Windows API的ANSYS二次开发方法研究及应用
532018.03建设机械技术与管理随着CAD/CAE 技术的快速发展,机械产品的设计水平得到显著提高。
通用CAD/CAE 软件提供的自动化参数建模和自动化参数有限元分析技术能够有效地实现产品的快速设计,缩短研发周期,提高设计效率和产品质量[1]。
为实现CAD/CAE 集成系统高度自动化、定制化的设想,开发独立应用程序成为机械专用软件设计的重要途径。
但目前,有限元软件提供的二次开发工具只能在软件内部控制软件实现定制化功能,例如,ANSYS 可以在命令流输入窗口中调用特定的宏文件实现定制化功能,但是类似这样的方法仍需在软件界面中进行交互操作。
因此,还需要考虑利用Windows API 、Socket 通信技术等实现外部应用程序对通用有限元软件的控制。
1 ANSYS 常见二次开发技术ANSYS 常见二次开发工具主要有4个,即APDL 、UPFs 、UIDL 及Tcl/Tk [2],分别用于扩充ANSYS 不同功能,并且这些工具之间相互联系、各有侧重、各有所长。
APDL(ANSYS Parametric Design Language )即通常所说的ANSYS 命令流,是一种类似于Fortran 的解释性脚本语言,包含1000多个ANSYS 命令,且提供其他程序语言的常见功能,如参数、数组、流程控制等。
开发人员通过组织APDL 命令可以参数化创建有限元建模、添加参数化载荷与约束、求解以及后处理结果,从而使整个分析过程都实现了参数化。
为提高多种设计方案或序列化产品的设计效率,还可以反复修改参数化分析过程中的任意参数。
另外,以APDL 为基础还可以基于ANSYS 开发专用的分析程序。
UPFs(User Programmable Features )是ANSYS 用户可编程特性,不是一种语言工具,而是可以提供开发者定制化子程序和实现特定功能的编程特性,开发者可以根据需要利用UPFs 重新编译链接生成定制的ANSYS ,例如定义新单元类型、新材料属性、失效准则等,还可以编写特定的优化设计算法。
tcl教程
tcl教程TCL(工具命令语言)是一种脚本语言,主要用于实现自动化工作流程、快速开发小型工具和控制系统等应用。
它具有简单易学、功能丰富以及可移植性好等特点。
本教程将带你从基础开始逐步学习TCL的语法和常用命令,并通过实例演示帮助你快速掌握TCL编程。
1. TCL的安装和运行环境配置首先,你需要下载并安装TCL的最新版本。
在安装过程中,请根据操作系统选择正确的安装文件,并按照向导进行安装。
安装完成后,你可以在命令行界面中输入"tclsh"来启动TCL解释器,并进入TCL编程环境。
2. TCL脚本的基本结构和语法一个TCL脚本通常由一系列的命令组成,每条命令占据一行。
TCL命令以"$"符号开头,如"$command argument1 argument2"。
TCL的注释以"#"符号开头,后面的内容将被忽略。
以下是一个简单的TCL脚本示例:```tcl#!/usr/bin/tclsh# 输出Hello World!puts "Hello World!"```3. 变量和数据类型TCL支持多种数据类型,包括整数、浮点数、字符串、列表和字典等。
你可以使用"set"命令定义一个变量,并使用"$"符号在其他地方引用该变量。
以下是一些例子:```tclset name "Tom"set age 18set pi 3.14159set fruits {apple banana orange}set person(name) "John"```4. 控制流结构TCL提供了常见的控制流结构,如条件语句和循环语句,用于控制程序的执行流程。
以下是一些控制流语句的示例:if语句:```tclif {$age >= 18} {puts "成年人"} else {puts "未成年人"}```while循环语句:```tclset num 1while {$num <= 10} {puts $numincr num}```5. 文件操作TCL提供了一组用于文件操作的命令,如打开文件、读取文件、写入文件和关闭文件等。
浅谈SIEMENS数控系统UG后置处理常用TCL语句使用技巧
浅谈SIEMENS数控系统UG后置处理常用TCL语句使用技巧刘解语【摘要】SIEMENS数控系统为满足数控加工中心高速、高效、高精度加工零件的要求,提供了一系列特有的指令功能,其程序结构有独特的要求.使用UG软件的数控编程人员往往只需关心加工刀轨,把生成程序代码的任务交给后置处理来完成.为满足数控编程人员的需求,就需要使用TCL语言制作后置处理.本文结合SIEMENS系统指令特点,简要介绍TCL语言替换命令、流程控制命令在SIEMENS系统后置处理制作中的应用.【期刊名称】《电脑与电信》【年(卷),期】2018(000)009【总页数】5页(P39-43)【关键词】TCL语言;SIEMENS系统;后置处理【作者】刘解语【作者单位】洛阳市第一高级中学,河南洛阳 471000【正文语种】中文【中图分类】TP3121 引言不同的数控系统对NC程序格式有不同的要求,UG软件提供了一个性能优异的后置处理工具PostBuilder,利用它可以把UG软件制作的刀轨源文件转换成特定数控系统能接受的NC程序格式,这个过程叫“后置处理”[1]。
UG软件使用TCL语言以方便后置处理模块的编辑与设计。
TCL(ToolCommand Language机器命令语言)是一种很通用的交互式解释性计算机语言,与C语言有相似的地方。
TCL语言首先是一种简单的脚本语言,其提供了一套标准语法用于发布命令给一些交互程序;其次,TCL是一个库,可以被嵌入应用程序。
用户一旦掌握了TCL语言就可以很容易地在UG的后置处理工具Post Builder中插入用户自定义的TCL子程序,以满足数控系统的特殊要求[2]。
2 TCL语言替换命令及应用2.1 TCL语言替换命令替换命令(substitution)是TCL中重要的概念,TCL把替换分为三种:命令替换、变量替换和反斜杠符号替换。
在一个命令的参数中使用另一个命令的结果,这被称之为命令替换。
例如:当方括号出现在一个命令中的时候,TCL把方括号内的所有语句看作是一组TCL命令并对这组命令进行解释,用结果替代中括号内的文字,这称为命令替换。
OfficeCADEDACAE软件脚本开发二次开发简要介绍
OfficeCADEDACAE软件脚本开发⼆次开发简要介绍Office/CAD/EDA/CAE软件脚本开发/⼆次开发简要介绍本⽂主要介绍办公软件(Word、Excel、PPT、Access、Visio),CAD(Auto CAD、Solid Works、CATIA),EDA(Altium Designer、Pads、Cadence)和CAE(ICEM、Fluent)等软件的脚本开发⽅式或者⼆次开发⽅式,以及相关的参考资料。
不同的软件的参考资料的丰富程度并不相同,参考资料语⾔限制了⽅便理解软件的开发⽅式,在Office办公软件的脚本开发中Excel脚本开发的资料最为丰富,在CAD软件中以Auto CAD软件最为丰富,在EDA软件中软件脚本及开发的中⽂资料较少,功能模块开发⽅式需要⼈为理解。
CAE软件的介绍就更少(不是没有)了。
⽬前⽐较常⽤的办公软件包括Word、Excel、PPT、Access这三款软件都是微软公司出品的,在购买电脑时已经预装的办公软件,Visio 软件不是Office的⼀部分,需要单独安装,WPS是国产⾦⼭公司的⼀款软件产品,⽬前这⼏款办公软件都⽀持VBA,微软的办公软件是⾃带的⾃家的VBA,Visio本来是⼀家独⽴的公司,后来微软把这个公司买了,成为微软的⼀个独⽴的产品,⾦⼭公司是为数不多的⽀持VBA的国产公司。
⽀持VBA的软件的CAD建模软件有很多,其中⽐较常见的包括Auto CAD、SolidWorks、CATIA等软件,当然也有其他软件⽀持VBA的CAD软件,这些软件的⼚家在微软的官⽅上可以查到,⼀共⼀百余家⼚商,⼤部分都是国外的公司。
使⽤VBA在三维建模软件中⾃动运⾏和使⽤⿏标在三维建模软件中的操作相同,在三维软件中有些函数是具有交互功能的,意思就是在程序运⾏到当前⾏需要客户⽤⿏标指定⼀个图元对象或者使⽤键盘输⼊⼀个字符串程序才能往下执⾏,⼤部分的函数是不具有交互功能的,⽅便程序运⾏,在⽀持VBA的软件中有⼀个脚本编辑器,脚本编辑器中有⼀个对象浏览器,对象浏览器中有该版本的脚本所⽀持的类(在VBA或者C++⾥⾯未实例化的类叫做类,但是在Delphi中未实例化的类叫做对象,对象在使⽤时还是需要实例化)。
HypeMesh二次开发在车门刚度分析中的应用
HyperMesh二次开发在车门刚度分析中的应用Application of HyperMesh SecondaryDevelopment for Door Stiffness郭敬文李晓晨李志强景向策(长城汽车股份有限公司技术中心保定071000)摘要:刚度是考察汽车车门性能的重要指标之一。
传统的手动模型设置方法存在耗时较长、不易防错等缺点。
本文基于TCL语言,利用HyperMesh二次开发了车门局部安装点刚度分析、抗凹陷刚度分析等脚本,有效提高了效率和防错性。
关键词:HyperMesh 二次开发车门刚度Abstract:Stiffness is an important index of the door performance.There are some shortcomings for the traditional method of model setting including long time and careless mistake. This article adopts secondary development to develop automatic tools for stiffness analysis based on TCL making use of HyperMesh. The script could ensure the accuracy of the analysis model and improve the efficiency.Key words:HyperMesh, Secondary Development, Door, Stiffness1概述车门是汽车车身设计中十分重要而又相对独立的一个部件,轿车车门一般由外门板、内门板、门窗框、门玻璃导槽、门铰链、门锁以及门窗附件等组成。
内门板上有玻璃升降器、门锁附件等,由薄钢板冲压而成,其上分布有窝穴、空洞、加强筋,内板内侧焊有内板加强板。
练习一 MotionView交互式建模与仿真
练习一MotionView交互式建模与仿真本示例将练习以下四个方面内容:(1)创建汽车后备箱盖四杆机构;(2)为模型附加H3D格式图形文件;(3)使用MotionSolve进行机构运动学分析;(4)查看MotionSolve求解结果。
练习中使用的模型如图1所示。
图2显示了将要创建的四杆机构。
表1列出了模型中构件定位点坐标。
图1 汽车后备箱盖模型图2 汽车后备箱盖四杆机构简图表1 模型中构件定位点PointX Y ZLabel VariableA p_a 921 580 1124B p_b 918 580 1114C p_c 915 580 1104D p_d 896 580 1106E p_e 878 580 1108F p_f 878 580 1118G p_g 830 580 1080H p_h 790 580 1088I p_i 825 580 1109复制路径<installation directory>\tutorials\mv_hv_hg\mbd_modeling\interactive下的motion_curve.csv, createPoints.tcl, point_data.csv, trunk.hm和trunklid.hm文件到工作文件夹<working directory>下。
第1步:创建点1.启动MoitionView2.点击工具栏Points按钮3.点击Add注:PointPai r用来创建以总体坐标系中X-Z平面为对称面的两个对称点4.在Label栏中输入Point A5.在Variable栏中输入p_ALabel用来帮助用户辨别不同的对象,Variable将提供给MoitionView以识别不同的对象。
当然,在Add Point or PointPair对话框中可以使用默认的名称。
6.点击OK,弹出Points面板,Point A高亮显示在点列表中。
ANSYS二次开发中APDL语言与TclTk语言结合的方法
z Curly braces group words into a single argument, however, elements within the braces are not interpreted.
Returns an ANSYS array
Copyright© 2002
Computer Aided Engineering
Computer Aided Engineering Associates, Inc.
8
Associates, Inc.
Tcl/Tk in ANSYS GUI Development
Tcl Expression
set x 2 set y $x
Result
x=2 y=2
set z [expr $x+$y]
z=4
set t “z is $z” t=“z is 4”
set t {z is $z} t=“z is $z”
Copyright© 2002
Computer Aided Engineering
Copyright© 2002
Computer Aided Engineering
Computer Aided Engineering Associates, Inc.
5
Associates, Inc.
Tcl/Tk in ANSYS Command Structure
z Tcl/Tk syntax is simple — similar to sh, C, and Lisp.
— Cross-platform compatible.
基于ANSYS的蒙皮拉形钳口轨迹优化技术研究
基于ANSYS的蒙皮拉形钳口轨迹优化技术研究韩志仁;周叔阳;刘宝明;高铁军【摘要】拉形机钳口轨迹是决定飞机蒙皮拉形质量优劣的关键因素之一.蒙皮拉形前,在有限元仿真软件上对拉形过程进行模拟仿真是必不可少的步骤,所以,简化仿真过程中的参数设置、快速调整与优化轨迹参数显得尤为重要.结合ANSYS有限元仿真软件,用参数化脚本语言Tcl/Tk对其进行二次开发,建立了蒙皮拉形钳口轨迹优化系统的ANSYS模块.实验表明模块为蒙皮拉形钳口轨迹快速调整与优化缩短了模拟仿真的时间,并为实际生产提供依据,降低了产品研制成本,提高了飞机蒙皮拉伸成形质量和生产效率.【期刊名称】《沈阳航空航天大学学报》【年(卷),期】2017(034)001【总页数】5页(P15-19)【关键词】二次开发;飞机蒙皮;加载轨迹;轨迹优化【作者】韩志仁;周叔阳;刘宝明;高铁军【作者单位】沈阳航空航天大学航空制造工艺数字化国防重点学科实验室,沈阳110136;沈阳航空航天大学航空航天工程学部(院),沈阳 110136;沈阳航空航天大学航空航天工程学部(院),沈阳 110136;沈阳航空航天大学航空制造工艺数字化国防重点学科实验室,沈阳 110136;沈阳航空航天大学航空航天工程学部(院),沈阳110136【正文语种】中文【中图分类】TG386蒙皮是构成飞机气动外形的主要零件,其成形质量的优劣直接影响飞机的气动性能和使用寿命[1-2]。
在飞机蒙皮制造中,拉伸成形技术作为飞机钣金的一种基本成形方法应用十分广泛[3-4]。
在飞机蒙皮拉形工艺中,有许多因素影响蒙皮的成形质量,如材料、热处理和拉形工艺参数等,而拉形机钳口的轨迹参数对蒙皮成形质量的影响最大,最难控制[5]。
拉形机钳口轨迹是指针对具体的拉形专用设备夹钳和工作台随时间变化的空间运动轨迹,拉形机钳口直接带动着蒙皮的拉伸与变形,所以运动轨迹是否合理直接影响着蒙皮的变形过程和变形结果,决定着蒙皮件的成形质量[6-7]。
6.1.2Tcl脚本[共4页]
6.1.2Tcl脚本[共4页]命令行与Tcl 脚本2496.1.2 Tcl 脚本一、 T cl 解释器Tcl 是EDA 业界标准脚本语言,被Synopsys 、Mentor Graphics 和Synplicity 等EDA 业界领先公司所采用。
在Tcl 语言中,允许用户定义自己的命令,并可以在多数的设计平台间无缝转换。
在前面提到的Quartus II 的命令行中,quartus_sh 、quartus_tan 、quartus_cdb 和quartus_sim 命令同时也是Tcl 的解释器,一些T cl 命令可以分别在这4个T cl 解释器中执行。
二、 T cl 命令包由于整个Quartus II 支持的T cl 命令的数量非常庞大,工具把其所提供的Tcl 命令按照类似的功能块分为若干个T cl 包,每个包中有不同分类的Tcl 命令。
例如,“project ”包内部的命令主要是用来设置和得到工程中的约束的,“device ”包主要是用来得到器件信息的。
如图6-5所示,“project ”T cl 包中就包含“project_new ”和“set_global_assignment ”等命令,用来完成新建工程,增加约束等工作。
图6-5 project 包中的Tcl 命令Quartus II 工具支持的所有T cl 包如下。
::quartus::project :用来建立工程,增加工程设置。
::quartus::device :器件信息。
::quartus::advanced_device :高级器件信息。
::quartus::flow :简单编译流程。
::quartus::timing :计算并报告时序路径。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HyperMesh中利用Tcl脚本进行二次开发
杨国雄
上海世科嘉车辆技术有限公司
HyperMesh中利用Tcl脚本进行二次开发
Further Develop by Tcl Script Based on
HyperMesh
杨国雄
(上海世科嘉车辆技术有限公司)
摘要:当代企业发展的关键是创新,本文通过对HyperMesh软件进来二次开发的两个实例—频响分析流程订制和通过Comps名自动定义单元属性,研讨了通过HyperMesh软件对企业CAE分析流程进行简化,标准化,人性化的可能性。
关键字:Tcl,二次开发,HyperMesh
Abstract:Innovation is the key of contemporary enterprise's development. In this paper, 2 examples(customized frequency analysis process and automatic definition of element properties via comps name)were made by further developed of HyperMesh. The possibility of CAE analysis process be simplified, standardized and humanized with HyperMesh software was also discussed.
Keyword:Tcl, Further Develop,HyperMesh
1 概述
随着各个行业对CAE技术应用的深入,企业对规范化分析流程,简化前处理等各个方面提出了需求。
HyperMesh是一款功能强大的有限元前处理软件,同时还具有丰富的二次开发能力。
通过二次开发为企业更好的利用HyperMesh软件提供了可能性。
2 HyperMesh二次开发简介
HyperMesh二次开发主要包括了2个层次的内容——宏命令和Tcl/Tk脚本。
宏命令主要功能是定义面板按钮及对Tcl脚本的调用。
Tcl/Tk脚本命令可以自定义各类窗口,程序的流程化控制,宏命令、Tcl脚本和C语言程序的关系如图1所示。
本文主要讨论Tcl脚本的编写。
C函数
TCL
宏命
令
图 1 宏、Tcl 、C 函数关系
3 Tcl/Tk 简介
Tcl 是一种简单的轻量化的跨平台的脚本语言。
没有复杂的函数调用,没有面向对象的概念,甚至没有繁多的变量类型,而这些特点一方面注定了Tcl 语言不能实现复杂的算法而只能作为一种控制流程的“壳”语言,另一方面又使得Tcl 语言的使用相当方便。
Tk 是Tcl 语言最著名的扩展库,它是用来定义图形对象用户界面的工具包,使用Tk 可以方便的定制各种自定义窗口。
4 实例一 频响分析流程窗口定义
频响分析是汽车NVH 有限元分析的重要手段,通过频响分析可以得到车身结构上动刚度特性曲线,而动刚度特性对于结构减震有重要意义。
频响分析中需要定义的参数主要包括,
求解方法(直接法和叠加法)
,约束条件,激励扫频的范围及幅值,提取响应的频率范围,
计算中的结构阻尼等。
该实例通过建立一系列流程窗口,
帮助使用者快速完成频响分析的边界条件定义。
使用该流程的优点是保证参数定义的规范化及一致性,简化定义方法便于使用。
图2 使用Tk 扩展库定义的界面
图2是已经定义完的分析流程窗口,具体的窗口控件使用说明可以参照HW GUI Toolkit 提供的实例。
HyperMesh提供的函数可以分为3大类,Tcl GUI Commands(界面操纵函数),Tcl Modify Commands(模型修改函数),Tcl Query Commands(查询命令函数)。
模型属性卡片的定义可以使用HyperMesh提供的各类函数,该Tcl文件主要使用到了3个HyperMesh函数,hm_entityinfo(属性查询),cardcreate(卡片创建),attributeupdateint (属性定义)。
RESVEC参数是频响分析中经常会使用到的参数,但在nastran的默认模板下却并没有这个参数,我们可以通过修改HyperMesh中nastran的模板文件(attribs文件及general1文件),使得在HyperMesh可以添加该参数,如图3。
图3 修改模板后增加了参数
最后可以通过修改.Mac文件,将Tcl文件集成在菜单中,也可以直接分发Tcl文件通过调用Tcl Script的方式运行,如图4。
图4 修改菜单
需要注意的是如果希望在HyperMesh的Tcl中使用中文(包括注释和输出)必须将Tcl 文件保存为utf-8的编码方式。
5 实例二通过Comps名自动完成属性定义
在建立整车模型过程中,往往需要同时多人参与建模。
而在后期整合模型的过程中可能因为多人不同的习惯导致给模型赋予属性需要花费大量的时间。
开发这个Tcl脚本的目的是可以通过规范化HyperMesh中Comps的命名达到自动完成各项属性赋值的目的,避免手动赋值可能产生的错误。
公司建模Comps命名规范:零件名_材料名_厚度(无厚度的自动定义为Psolid属性)。
图5 执行Tcl脚本前
通过执行这个Tcl脚本,原模型中所有层属性,材料,及厚度已经全部由Comps名自动完成了定义如图5、图6和图7。
图6 自动生成的属性和材料
图7 自动完成属性卡片的指定
该脚本中主要通过Tcl提供的字符串处理函数切割Comps名得到相关的参数,再建立
MAT及Prop属性卡片,完成赋值过程。
表2 切割字符用到的Tcl命令
Tcl命令说明
string first 返回变量在字符中第一次出现的索引,如果没有返回-1
string range 返回字符串指定范围内的字符
lappend 将一个变量加入到一个列表中去
6 结论
通过学习和使用HyperMesh中的Tcl脚本功能,发现这是一个方便快捷的二次开发工具,以上2个实例开发过程花费的时间都仅有两天,非常适合各类企业按需开发自己的CAE 处理流程。
并且Hypermsh的自定义模板功能也让人留下深刻印象,只需简单的修改模板即可让HyperMesh支持任意的CAE软件最新的参数设置。
HyperMesh软件表现出来强大的可定制性,使它可以作为任何一家创新型企业的CAE创新平台。
7 参考文献
[1] Altair HyperMesh Reference Guide
[2] Tcl/Tk组合教程 Brent B.Welch著 王道义,乔陶鹏 等译 电子工业出版社,2001。