文章目录

  • 一、一键运行Ansys命令流
    • (一)问题描述
    • (二)实现效果
    • (三)配置方法
      • 1.首先需确保电脑上需安装有python并将其添加至环境变量。
      • 2.创建.py文件
      • 3.在Ultra Edit中进行配置
      • 4.功能测试
      • 5.配置快捷键​
  • 二、代码高亮
  • 三、注释 反注释
  • 附录
  • 结尾

Ultra Edit是一款功能强大的文本编辑器。在使用UE编辑Ansys的Apdl命令流时,通过一定的配置即可让你的使用体验提升数倍。

一、一键运行Ansys命令流

(一)问题描述

通过Ultra Edit可以更方便地对Ansys命令流.mac文件进行编辑。但在编辑完成后,需将.mac拷贝至Ansys工作路径,或在最初就讲需保.mac文件存放在Ansys工作路径。之后需在Ansys对话框输入该文件名,对mac文件进行调用。

整个过程操作繁琐,因此通过结合python与UE运行DOS的方法,实现了在编辑好mac文件之后,一键调用mac文件的方法。并且被运行的.mac文件可在电脑中任意位置

(二)实现效果

在此演示中,笔者将运行的快捷键设为了F5,按下F5即可保存并运行当前正在编辑的.mac文件

实现原理:通过UE运行Dos命令。在Dos命令中运行.py脚本,读取正在编辑的.mac文件,并将其输入到已打开的Ansys程序中。

(三)配置方法

1.首先需确保电脑上需安装有python并将其添加至环境变量。

将Python添加至环境变量后,即可在电脑的任意位置通过cmd来执行py脚本。

具体配置可参考(相关教程)

2.创建.py文件

在C盘ProgramData目录下新建RunMac文件夹并将RunMac1.0.py保存至该目录下。
RunMac1.0.py代码位于本文附录部分。

3.在Ultra Edit中进行配置

在菜单栏-高级-用户工具-配置工具。

在工具配置界面:

输入菜单项名称,该项名称可以自定义。

命令行输入以下文字,

python C:\ProgramData\RunMac\RunMac1.0.py %f

工作目录可任意选择,建议直接选择桌面。

选项窗口,勾选Dos程序,保存活动文件,先保存所有文件。

输出截面,控制命令行所运行的内容的输出方式。

选择捕获输出则会对输出内容进行记录。也可不勾选。该部分设置不会影响运行效果,仅用于设置dos输出效果。

4.功能测试

完成以上设置后,在打开Ansys程序的情况下,即可通过点击 用户工具中的运行mac,或通过快捷键Ctrl+Shift+1,运行当前正在编辑的mac文件。

5.配置快捷键​

此外,可自定义用户工具1的快捷键,如下图,为用户工具1分配快捷键 F5。即可通过按键F5,运行当前mac文件。

二、代码高亮

APDL使用到Ansys中的一种参数化的计算语言。通过代码的高亮可以让命令流具有更高的可读性。

在Ultra Edit中,你可以在编码栏,语言类型查看方式中设置代码高亮的格式,并选择"APDL (ANSYS Parametric Design Language)"。

如果你的Ultra Edit中没有APDL高亮格式,可以通过下部加号“添加其他语言”,找到APDL并确定。

三、注释 反注释

通过编码菜单下的“外部注释”与“删除注释”按钮,可以快速的对多行文本进行注释与反注释。对于不同格式的文本,根据其语法进行不同的注释。

但每次点击菜单栏的操作比较繁琐,因此可以定义快捷键:

推荐设置为:
添加注释: Ctrl+1
删除注释: Ctrl+2

修改快捷键的方法,打开设置-键映射-按下新(多个)热键-分配。设置快捷键。可定义任意快捷键。

附录

RunMac1.0.py代码如下,将其拷贝,并保存为RunMac1.0.py即可。
该代码主要功能为,根据窗口名称找到正在运行的ANSYS窗口句柄,并将命令流输入。实现对Mac文件的调用。

特别注意!!!!
考虑到ansys版本不同,大家需要将代码中第26行的 indent1 变量 修改成ansys命令流软件的窗口名称。

# -*- coding: utf-8 -*-import win32gui
import win32con
import time
import os
import pickle
import sys# 获取输入参数
paras = sys.argv# 文件目录
path = 'C:\\ProgramData\\RunMac'# 复制文件到默认位置
file1 = paras[1]
directory, name2 = os.path.split(file1)name2 = 'temp.mac'
file2 = os.path.join(path,name2)
os.system('copy '+file1+' '+file2)# 寻找窗口
filename = os.path.join(path,'hwnd.data')
indent1 = 'ANSYS Multi'
# 注意!!!!!需将indent1变量改成ansys命令流软件的 窗口名称,可写前两个单词
indent2 = 'Output Window'try:with open(filename,'rb') as f:hwnd = pickle.load(f)hwnd1 = hwnd[0]hwnd2 = hwnd[1]title = win32gui.GetWindowText(hwnd1)if indent1  not in title:raise ValueError('提示:未找到已开启的Ansys程序 或 需添加新的窗口名')except:hwnd_title = dict()def get_all_hwnd(hwnd,mouse):if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):hwnd_title.update({hwnd:win32gui.GetWindowText(hwnd)})win32gui.EnumWindows(get_all_hwnd, 0)for h,t in hwnd_title.items():if indent1 in t:hwnd1 = hbreakfor h,t in hwnd_title.items():if indent2 in t:hwnd2 = hbreakhwnd = [hwnd1,hwnd2]with open(filename,'wb') as f:pickle.dump(hwnd,f)title = win32gui.GetWindowText(hwnd1)
if indent1  not in title:print('---------------------------------------------------------')print('提示:未找到已开启的Ansys程序 或 需添加新的窗口名')print('---------------------------------------------------------')# 运行文件
location = file2
try:win32gui.ShowWindow(hwnd1, win32con.SW_MAXIMIZE)win32gui.ShowWindow(hwnd1,win32con.SW_SHOW)time.sleep(0.1)win32gui.ShowWindow(hwnd2, win32con.SW_MINIMIZE)temp = win32gui.SetForegroundWindow(hwnd1)
except:pass
finally:time.sleep(0.1)WM_CHAR = 0x0102for char in location:win32gui.SendMessage(hwnd1, WM_CHAR, ord(char), None)time.sleep(0.1)    win32gui.SendMessage(hwnd1, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)win32gui.SendMessage(hwnd1, win32con.WM_KEYUP, win32con.VK_RETURN, 0)

结尾

目前可方法可基本实现实际的功能。若在配置过程中遇到问题或发现代码bug,可进一步交流探讨。

Ultra Edit中编辑并一键运行Ansys命令流相关推荐

  1. ANSYS——命令流学习(材料属性设置、建模的命令流)

    目录 ANSYS基本关键字 命令流的整体结构.每个模块的标识 !文件说明段/BATCH !进入前处理模块标识/PREP7 !进入求解模块标识/SOLU /POST1                   ...

  2. vi执行Linux命令,如何从Vim中访问shell或运行外部命令

    您可能已经知道,Vim是功能强大且功能强大的编辑器. 在Howtoing中,我们在Vim上编写了几个教程,涵盖了其基本用法 , 插件以及其他一些有用的功能. 但是鉴于Vim提供的功能,我们总是找到一些 ...

  3. 在WINCE5.0中应用CMD(比如运行PING命令)

    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...

  4. 介绍一款优秀的Ansys命令流编辑器PSPad

    特色:语法高亮,自动完成,自定义语法定义文件 使用时,按crtl+J可以自动完成. 在输入的命令后按鼠标中键可以显示该命令的解释.在空白处按鼠标中键可 以显示ansys的命令,双击其中的命令就可以自动 ...

  5. 【ANSYS命令流】加载与求解技术(五):面载荷(单元、线、面、转换)的施加

    目录 面载荷的施加 单元荷载 在单元上施加面荷载 举个栗子 再举个栗子 在梁单元施加面荷载 在线上施加面荷载 举个栗子 在面上施加面荷载值 面荷载梯度及其加载 举个栗子 再举个栗子 表面效应单元施加面 ...

  6. 【ANSYS命令流】加载与求解技术(三):集中载荷的施加相关命令(节点、关键点)

    目录 施加 集中载荷 节点集中载荷 关键点集中载荷 举个栗子 施加 集中载荷 ANSYS结构分析中的集中载荷的标识符为力FX.FY,FZ及力矩MX,MY,MZ,其相关命令如下表所示 节点集中载荷 F, ...

  7. 【ANSYS命令流】加载与求解技术(六):载荷步的设置选项命令

    目录 载荷步选项 输出与求解控制 荷载步及相关概念 荷载步的其他选项 静态分析的求解控制选项 分析选项 时间 子步数与时间步长 自动时间步 求解器选择 非线性选项 定义H法选项 载荷步选项 在ANSY ...

  8. ansys命令流_ANSYS命令流建模3之划分单元+施加弹簧

    以马蹄形隧道为例,本文介绍如何添加荷载等 隧道如上图所示 !设置线单元材料属性,划分单元(二衬单元) lsel,s,,,1,6     !LSEL,Type,Item,Comp,VMIN, VMAX, ...

  9. 【ANSYS命令流】加载与求解技术(二):关键点、线、面及其他自由度约束相关命令

    目录 关键点自由度约束 举个栗子 对线施加自由度约束 举个栗子 对面施加自由度约束 约束转换命令 自由度约束命令冲突 关键点自由度约束 文中涉及的其他命令请参照上一篇博客节点自由度约束 在关键点.线. ...

  10. ultra edit ftp帐号管理导入导出方法

    在更换电脑或ultra edit新安装时往往需要将原来使用的ftp帐号导入过来,可以在高级-备份/恢复用户定制-选中其他保存备份,拷贝出来然后再导入. 也可以在配置-ftp/sftp中保存,拷贝出来然 ...

最新文章

  1. 织梦添加幻灯片的方法
  2. 无线网络实体图生成工具airgraph-ng
  3. 编译器的普遍翻译步骤
  4. Spring 整合Struts2
  5. php 单元测试分享,今日分享:代码整洁之道- 单元测试
  6. 玩英雄联盟手游,谁才是新手最喜欢的英雄?无极剑圣还是吗?
  7. SpringBoot在项目中基本配置设置
  8. Arm发布移动端v9体系新架构,CPU、GPU、IP全囊括了!
  9. [转]引用 VC 对话框设置位图背景并透明控件
  10. 代写python assignment经常用到的代码语法分享!
  11. Java常用框架简介
  12. 安装Google play 服务等四件套
  13. _stdcall的作用
  14. SpringBoot打通微信公众号模板消息通知
  15. 网站被黑客攻击怎么办?
  16. Python学习笔记(5)-集成开发环境IDLE的使用与调试
  17. 《Spring Boot极简教程》附录1 计算机简史
  18. shell脚本编写简易教程
  19. Kafka 的 Lag 计算误区及正确实现
  20. 【Redis源码剖析】 - Redis IO操作之rio

热门文章

  1. 一键导出微信读书的书籍和笔记
  2. M1芯片安装PR(Premiere)2021已激活解决教程
  3. 51单片机系列封装库
  4. 802.11无线WIFI协议学习笔记(一)
  5. 如何用matlab编辑热方程,MATLAB编辑一维热传导方程的模拟程序
  6. 方形16QAM的C语言仿真
  7. 元胞自动机在交通系统中的应用之二【单车道NaSch元胞自动机模型】
  8. git小乌龟版本回退
  9. 先锋意识dota人生
  10. 如何用文件对比工具进行文件内容比较