hypermesh二次开发tcl脚本

hypermesh二次开发tcl脚本

  • 1、tcl读csv文件,得到list,再转成二维数组
  • 2、tcl写csv文件
  • 3、hypermesh tcl根据读入的节点坐标建节点, 再显示节点号
  • 4、hypermesh tcl根据节点号建节点set
  • 5、hypermesh tcl根据节点set读取节点号,再根据节点号读取节点坐标,再将节点坐标、节点号保存到csv文件中
  • 6、修改csv文件,增加修改后的节点号,读csv文件,再根据修改前后的节点号,设置新的节点号

1、tcl读csv文件,得到list,再转成二维数组

在这里插入图片描述

#source read_csv.tcl
#for {set i 0} {$i<3} {incr i} {
#	puts $i
#}#read_csv::
set csvFile C:/Users/li/Documents/nodes.csv
set csv [open $csvFile]
set data [split [read $csv] '\n']
close $csv#data 2 array aData::
set dataNum [llength $data]
incr dataNum -1
for {set i 0} {$i<$dataNum} {incr i} {set datai [split [lindex $data $i] ',']set dataiNum [llength $datai]for {set j 0} {$j<$dataiNum} {incr j} {set aData($i,$j) [lindex $datai $j]#puts $aData($i,$j)}
}
#parray aData #print array

2、tcl写csv文件

在这里插入图片描述

#write_csv::
set wrFile [open nodes2.csv w]
puts $wrFile $aData(0,3),[expr $aData(0,3)+10000]
puts $wrFile $aData(1,3),[expr $aData(1,3)+10000]
puts $wrFile 4,5
close $wrFile

3、hypermesh tcl根据读入的节点坐标建节点, 再显示节点号

*createnode $aData(0,0) $aData(0,1) $aData(0,2) 0 0 0
*createnode $aData(1,0) $aData(1,1) $aData(1,2) 0 0 0
*createmark nodes 1 "all"
*numbersmark nodes 1 1 #show nodes number
*numbersmark nodes 1 0 #hide nodes number

4、hypermesh tcl根据节点号建节点set

*createmark nodes 1 2 1
*entitysetcreate "boy_R_nodes" nodes 1

5、hypermesh tcl根据节点set读取节点号,再根据节点号读取节点坐标,再将节点坐标、节点号保存到csv文件中

在这里插入图片描述

set nodeId [hm_getvalue sets name=boy_R_nodes dataname=ids]
set nodeNum [llength $nodeId]
set wrFile [open nodes3.csv w]
for {set i 0} {$i<$nodeNum} {incr i} {set nodeIdi [lindex $nodeId $i]set x [hm_getvalue nodes id=$nodeIdi dataname=x]set y [hm_getvalue nodes id=$nodeIdi dataname=y]set z [hm_getvalue nodes id=$nodeIdi dataname=z]puts $wrFile $x,$y,$z,$nodeIdi
}
close $wrFile

6、修改csv文件,增加修改后的节点号,读csv文件,再根据修改前后的节点号,设置新的节点号

在这里插入图片描述
读csv文件得到二维数组的代码同前

for {set i 0} {$i<2} {incr i} {*createmark nodes 1 $aData($i,3)*renumbersolverid nodes 1 $aData($i,4) 1 0 0 0 0 0
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/13544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么别人写的SCI文章,容易接收?有技巧?

这篇文章是写给想发期刊文章的&#xff0c;但是导师没有时间去指导的人看的&#xff0c;无论是SCI还是EI、核心这类的,都适用。 想发文章&#xff0c;首先你得有文章&#xff01;以下从写论文的新手内心历程来解答。 paper怎么来呢&#xff1f;那肯定是找创新点&#xff0c;找…

Vue 父组件向子组件传递数据

1、在子组件中&#xff0c;你需要声明你期望从父组件接收哪些props。这可以通过props选项完成&#xff0c;可以是一个数组或对象形式&#xff1a; export default {props: [message]&#xff0c;props:{message:String }props: {message: String, // 类型检查count: {type: Nu…

vue3第三十三节(TS 之 computed watch)

vue3 组合是API 中我们经常使用的 监听函数 computed 和 watch使用 1、computed 里面添加类型 <script setup lang"ts"> import { ref, computed } from vue const age ref(18) // 定义一个Person 接口 interface Person {age: numbername: string } const…

深度学习之Pytorch框架垃圾分类智能识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着城市化进程的加快和人们环保意识的提高&#xff0c;垃圾分类已成为城市管理的重要一环。然而&am…

成本管控:如何利用 SOLIDWORKS Costing 高效估算成本?

现在全球材料短缺、生活成本上升以及能源价格上涨而导致的成本上升问题突显。 生产产品需要的成本以及如何让产品的成本下降就成为很多的企业越来越关注的问题。 SOLIDWORKS Costing是集成到 SOLIDWORKS Professional 和 Premium 中的一款允许用户和制造商估算产品生产成本的工…

判定字符是否唯一

题目链接 判定字符是否唯一 题目描述 注意点 0 < len(s) < 100s[i]仅包含小写字母 解答思路 首先想到的是使用数组存储字母是否出现过&#xff0c;如果多次出现则直接返回false为了不适用额外的数据结构&#xff0c;可以使用位运算判定字符是否唯一&#xff0c;思路…

第8章 原生MVC服务框架一

1 组件化重构 1.1 分而治之 分而治之(Divide and Conquer)是一种软件设计原则,它的核心思想是将大问题分解成小问题,以便更容易地解决。 具体而言,该原则建议将复杂的软件系统分解成更小、更易于管理的模块。每个模块都应该具有清晰的目标和职责,以便更容易理解、测试和…

Wpf 使用 Prism 实战开发Day22

客户端添加IDialogService 弹窗服务 在首页点击添加备忘录或待办事项按钮的时候&#xff0c;希望有一个弹窗&#xff0c;进行相对应的内容添加操作。 一.在Views文件夹中&#xff0c;再创建一个Dialog 文件夹&#xff0c;用于放置备忘录和待办事项的弹窗界面。 1.1 备忘录&…

Python 全栈体系【四阶】(五十二)

第五章 深度学习 十二、光学字符识别&#xff08;OCR&#xff09; 2. 文字检测技术 2.1 CTPN&#xff08;2016&#xff09; 2.1.1 概述 CTPN全称Detecting Text in Natural Image with Connectionist Text Proposal Network&#xff08;基于连接文本提议网络的自然图像文本…

是德科技 DSOS104A MSOS104A示波器

产品 带宽 通道数 最大存储器深度 DSOS104A 高清晰度示波器 1 GHz 4 个模拟通道 800 Mpts MSOS104A 高清晰度示波器 1 GHz 4 个模拟通道和 16 个数字通道 800 Mpts 商品介绍 …

JavaEE-文件IO1

文章目录 一、什么是文件IO?1.1 IO1.2 文件1.2.1 路径1.2.2 文件分类 二、使用Java针对文件系统进行操作 一、什么是文件IO? 1.1 IO IO分别代表Input和Output即输入和输出。比如我的电脑可以从网络上下载文件&#xff0c;也可以通过网络上传文件或者我把我的内存中的数据保…

Vue 离线地图实现

效果图&#xff1a; 一、获取市的地图数据 DataV.geoAtlas 获取市地图数据 点击地图缩放至想要的市区域&#xff0c;通过右侧的链接打开网址&#xff0c;复制json数据。 二、获取镇地图数据 选择你想要的镇数据&#xff0c;点击下载 选择级别&#xff08;清晰度&#xff09…

Plotly数据可视化宝典

一、引言 在数据驱动的时代,数据可视化已成为不可或缺的一部分。通过图形化的方式展示数据,我们能更直观地理解数据的内在规律和趋势。Plotly,作为一款强大的数据可视化工具,以其丰富的图表类型、交互性和灵活性,赢得了广大数据科学家的青睐。本宝典将深入解析Plotly的各…

mysql存储比特位

一、介绍 二、SQL CREATE TABLE bits_table (id INT PRIMARY KEY AUTO_INCREMENT,bit_value BIGINT UNSIGNED );-- 插入一个 8 位的 BIT 值 INSERT INTO bits_table (bit_value) VALUES (B10101010);-- 查询并格式化输出 SELECT id,bit_value,CONCAT(b, LPAD(BIN(bit_value),…

Midjourney绘画关键词参数汇总(二)

本文将继续介绍Midjourney绘画关键词参数的汇总&#xff0c;探索其在数字绘画中的应用和潜力。本文主要是提供与主题相关的关键词供大家参考学习。 大家感兴趣的话&#xff0c;可以在下列Midjourney中文版系统中体验&#xff1a;https://ai.easyaigx.com 一、日本漫画主题关键…

MGRE实验——路由配置

对134环回 ping一下发现都可以通 配置3&#xff0c;4同3 再注册 然后内网要互通&#xff0c;起rip 宣告1的左边和右边 对3 对4 当3&#xff0c;4之间要互通时&#xff0c;首先在1上 关闭之后&#xff0c;3就能学到4上的用户网段&#xff0c;4也能学到3 局域网要访问广域网一定…

大数据学习之 Hadoop部署

Hadoop部署 Linux桌面模式关闭 # 设置 systemctl set-default multi-user.target # 重启 reboot防火墙关闭 systemctl status firewalld systemctl stop firewalld # 关闭开机自启 systemctl disable firewalld配置Java环境 echo $JAVA_HOME java -version # Java配置 # 上传ja…

【贪心算法题目】

1. 柠檬水找零 这一个题目是一个比较简单的模拟算法&#xff0c;只需要根据手里的钱进行找零即可&#xff0c;对于贪心的这一点&#xff0c;主要是在20元钱找零的情况下&#xff0c;此时会出现两种情况&#xff1a;10 5 的组合 和 5 5 5 的组合&#xff0c;根据找零的特点&a…

容器监控方案

1、docker部署prometheus Prometheus是一套开源的系统监控报警框架&#xff0c;它基于时序数据库&#xff0c;并通过HTTP协议周期性地从被监控的组件中抓取指标数据。以下是一些关于Prometheus的详细介绍&#xff1a; 基本概念&#xff1a;Prometheus所有采集的监控数据均以指…

VUE3注册指令的方法

指令注册只能全局指令和选项式页面指令,composition api没有页面指令 选项式页面指令 <template><div class"home"><h3>自定义指令</h3><div class"from"><el-input type"text" v-focus v-model"name&q…