Midas GTS NX 的中性FPN文件转为 FLAC3D5.0的模型 c++源码 (FPN to FLAC3D) 您所在的位置:网站首页 迈达斯cdn导入模型无法运行怎么解决 Midas GTS NX 的中性FPN文件转为 FLAC3D5.0的模型 c++源码 (FPN to FLAC3D)

Midas GTS NX 的中性FPN文件转为 FLAC3D5.0的模型 c++源码 (FPN to FLAC3D)

2024-03-10 01:56| 来源: 网络整理| 查看: 265

FPN文件转为 FLAC3D5.0的模型

 

1.使用方法

   新增:依据Midas中的网格组,将FLAC3D的模型进行分组的程序,无需再填写属性,数据导出之前一定要执行步骤(1),

(链接:https://pan.baidu.com/s/1JDsgstUYOtqw_Efcd-jXJg 提取码:6j3h ),2019.4.22, 

    有问题加群:956765008。

(1)数据导出之前:网格->工具->重新编号:单元、节点

 

   

 请剖分的时候给网格组赋属性,这样才能在flac3d中正确分组,或者直接使用新的程序。

                                                                     

(2)打开MIDAS GTS NX 软件,单击界面左上角的NX图标,将模型输出为FPN格式的文件。

 (请查看FPN文件的大小,确认里面是否存有节点和单元等数据,有时候会导出空的FPN文件)

 

(3)双击打开 FPNtoFLAC3D.exe ,输入FPN文件名称,回车,程序将自动开始读取文件,并转换为FLAC3D5.0文件。

 

 

(注意:FPNtoFLAC3D.exe 和 FPN文件放在同一个文件夹)

(保存在当前目录下)

 

2.可以直接运行的程序

 

https://pan.baidu.com/s/1nrCkDTBWkw4XluWV9lpD6Q

 

 

 

 

3.完整程序

 

https://pan.baidu.com/s/1u9Vq1eKkmkan2-gtygdOQA

 

 

4.以下为程序源码

  /************************************************************************/ /* 将Midas的FPN中性文件转为FLAC3D文件 2018.4.7 */ /************************************************************************/ #include #include #include #include #include #include using namespace std; class CVert // 节点 { public: CVert() {}; CVert(int Id, double xx, double yy, double zz) { id = Id; x = xx; y = yy; z = zz; }; ~CVert(){}; double x, y, z; // 点坐标 int id; } ; class CElem // 单元 { public: CElem(){}; CElem(int Id, int teta, int ph, string ele, int *nid) { id = Id; polyhedron = ph; tettattribute = teta; pt012[0] = nid[0] - 1; pt012[1] = nid[1] - 1; pt012[2] = nid[2] - 1; pt012[3] = nid[3] - 1; pt012[4] = nid[4] - 1; pt012[5] = nid[5] - 1; pt012[6] = nid[6] - 1; pt012[7] = nid[7] - 1; }; ~CElem(){}; int pt012[8]; int id; int tettattribute; int polyhedron; string elemname; } ; void printinformation() { cout hex[2] >> scom >> hex[3] >> scom; fin >> hex[4] >> scom >> hex[5] >> scom >> hex[6] >> scom >> hex[7] >> scom; fin >> scom >> scom >> scom >> scom >> scom; } if(lintext == "PRISM") { polyhedron = 6; fin >> scom >> id >> scom >> attribute >> scom; fin >> hex[0] >> scom >> hex[1] >> scom >> hex[2] >> scom >> hex[3] >> scom; fin >> hex[4] >> scom >> hex[5]; } if(lintext == "PYRAM") { polyhedron = 5; fin >> scom >> id >> scom >> attribute >> scom; fin >> hex[0] >> scom >> hex[1] >> scom >> hex[2] >> scom >> hex[3] >> scom >> hex[4] >> scom; } if(lintext == "TETRA") { polyhedron = 4; fin >> scom >> id >> scom >> attribute >> scom; fin >> hex[0] >> scom >> hex[1] >> scom >> hex[2] >> scom >> hex[3] >> scom >> scom; } if (lintext == "TETRA" || lintext == "PYRAM" ||lintext == "PRISM" ||lintext == "HEXA") { eles.push_back(CElem(id, attribute, polyhedron, lintext, hex)); for (int j = 0; j < GroupNum.size(); j++) { if (attribute == GroupNum[j]) { gp = true; break; } } if (!gp) GroupNum.push_back(attribute); } fin >> lintext; } fin.close(); cout> hex[2] >> scom >> hex[3] >> scom >> scom; } if (lintext == "TETRA" || lintext == "PYRAM" ||lintext == "PRISM" ||lintext == "HEXA") { eles.push_back(CElem(id, attribute, polyhedron, lintext, hex)); /*for (int j = 0; j < GroupNum.size(); j++) { if (attribute == GroupNum[j]) { gp = true; break; } } if (!gp) GroupNum.push_back(attribute);*/ } fin >> lintext; } cout scom>> scom>> scom>> scom>> scom>> scom; cout lintext; } fin >> lintext; } fin.close(); //******************************************************************************************************************************************/ //* midas to FLAC3D*/ cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有