Abaqus obj inp 文件内部读取点坐标并统计
2017-09-14 16:33
771 查看
任务描述:对一个三维的带网格的模型,生成一个二维平面的图像描述,其中每个空格内部显示这个坐标下在z方向具有多少网格,类似于三维模型的深度图
方法:有两个方法
1.从网格文件OBJ内部读取点坐标,统计(x,y)的个数
2.从Inp文件内部读取点坐标,统计(x,y)的个数
在实验过程中,发现方法1 的obj文件内部的点的信息比较杂,可能包含除了网格以外的其他的点的信息,所以放弃了这种方法。这里主要介绍方法2
然后做一个字典,记录各个点的个数
这样就可以看到各个点的坐标的个数了
方法:有两个方法
1.从网格文件OBJ内部读取点坐标,统计(x,y)的个数
2.从Inp文件内部读取点坐标,统计(x,y)的个数
在实验过程中,发现方法1 的obj文件内部的点的信息比较杂,可能包含除了网格以外的其他的点的信息,所以放弃了这种方法。这里主要介绍方法2
inp文件读取
writenode = [] #writenode 点集 write_flag = False input = open("new_1.inp","r") #读取inp文件 astring = input.readlines() #这里这种读入方式的好处是astring是list类型,其余方式可能是str类型 for i,line in enumerate(astring): if line =="*Node\n": #找到inp文件内部开始记录点信息的地方 write_flag = True #写入文件标志位开始 continue #跳出当前循环,执行下一次循环,这样*Node就不会写入文件内部 print(i) if line =="*Element, type=C3D8R\n": break #点描述信息结束后是描述单元信息,正好这里截止,挑出for循环 if write_flag ==True: writenode.append(line.replace(",",""))
点集写出
接下来可以将我们的点信息输出另一个文件:f=open('point.txt','w') for i in writenode: f.write(i) f.close()
重新读入生成numpy array
a = np.loadtxt('zz.txt') a = np.around(a) #四舍五入,可能出现一些不准的点,防止出问题
删除无关信息
c= np.delete(a,0,axis=1) #删除第一列:各个点的标号[1,2,3,4,5...] c= np.delete(c,2,axis=1) #删除Z坐标,只需要统计xy坐标
统计xy相同的点的个数
e = [] for (x,y) in (c): #这里如果直接统计列表是会报错的,无法生成hash表所以要先生成这样的数组的类型,后面才好统计 e.append((x,y))
然后做一个字典,记录各个点的个数
h = {} for i in e: h[i] = e.count(i) print()
这样就可以看到各个点的坐标的个数了
{(-139.0, -18.0): 23, (199.0, -96.0): 23, (-199.0, -60.0): 23, (-182.0, -150.0): 23, (251.0, -60.0): 23, (-243.0, -102.0): 23, (208.0, 66.0): 23,...
相关文章推荐
- XCode数据类型转换代码 文件读取,写入,XY坐标获取,ASCII转换等
- 通过读取CallRoll文件统计学生考勤情况
- C++ 读取文件字符,统计字符频率
- vtk基础编程(2)-读取数据文件中的坐标点
- C下学生管理系统:从文件中读取30位学生的信息(含邮箱),并实现简单的增、删、查找、统计(邮箱使用人数)。---附程序哦!
- Android开发学习笔记(12):Android读取内部以及外部资源文件(更新中...)
- C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组
- C++ 读取txt文件中,n行两点坐标值
- jar包中读取文件系统绝对路径,相对路径,以及jar包内部路径的写法
- jar读取内部文件
- js+html空间数据编码问题--以姓名为例(代码设涉及文件读取,文本数字提取,特别是文本x,y坐标的提取)
- Linux下的C++程序:统计一个目录及其内部文件总共占据的空间大小
- C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组
- Jar包读取内部和外部的文件
- 编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出
- 读取磁盘中的文件,并统计行数
- Java 文件写入读取统计字符
- android 内部文件读取
- python读取文件数据绘直角坐标图
- C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组