• 大小: 48KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: C#
  • 标签: STL  C#  

资源简介

文件夹内包含两个STL格式文件的模型,用于尝试读取。在C#控制台下完成,含有详细注释。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string path1 = @“zhengfangti500.STL“;//加“@”的字符串为原义字符串,取消转义
            //string path2 = @“圆柱体100-30.STL“;//加“@”的字符串为原义字符串,取消转义
            Triangle[] prt1 = new Triangle[5000000];//5000个类数组,还需对其中每一个类进行实例化
            int Triangle_num = 0;//三角形面片的数量
            if (File.Exists(path1))//如果文件存在,则进行读取
            {
                using (StreamReader file = new StreamReader(File.Open(path1 FileMode.Open)))
                {
                    char[] separator = { ‘ ‘ };//用于分割字符串的标示符号,即空格
                    string normal = “normal“;
                    while (file.ReadLine() != null)//当读取的一行不为空时,则进入循环
                    {
                        string line_normal = file.ReadLine();//读取包含“normal”的一行
                        if (line_normal.Contains(normal))//如果读取的一行确实存在“normal”则进行处理
                        {
                            string subString_1 = line_normal.Substring(16);//存储这一行索引为16以后的字符串注:索引从0开始
                            string[] str_normal = new string[3];//定义三个字符串数组,分别存储向量的X、Y、Z
                            str_normal = subString_1.Split(separator);//分割此字符串为三个字符串
                            prt1[Triangle_num] = new Triangle();//类数组必须要对使用的每一个类进行实例化
                            prt1[Triangle_num].Normal_x = Convert.ToDouble(str_normal[0]);
                            prt1[Triangle_num].Normal_y = Convert.ToDouble(str_normal[1]);
                            prt1[Triangle_num].Normal_z = Convert.ToDouble(str_normal[2]);
                            Console.WriteLine(prt1[Triangle_num].Normal_x + “ “ + prt1[Triangle_num].Normal_y + “ “ + prt1[Triangle_num].Normal_z);
                            file.ReadLine();//读取包含“outer loop”这一行,并不存储
                            string vertex_1 = file.ReadLine();//读取包含vertex的第一行即第1个点的信息
                            string sub_string_2 = vertex_1.Substring(16);//存储这一行索引为16以后的字符串
                            string[] str_vertex_1 = new string[3];//定义3个字符串数组分别存储第1个点3个分向量
                            str_vertex_1 = sub_string_2.Split(separator);//分割此字符串为三个字符串
                            prt1[Triangle_num].v1_x = Convert.ToDouble(str_vertex_1[0]);
                            prt1[Triangle_num].v1_y = Convert.ToDouble(str_vertex_1[1]);
                            prt1[Triangle_num].v1_z = Convert.ToDouble(str_vertex_1[2]);
                            Console.WriteLine(prt1[Triangle_num].v1_x + “ “ + prt1[Triangle_num].v1_y + “ “ + prt1[Triangle_num].v1_z);
                            string vertex_2 = file.ReadLine();//读取包含vertex的第二行即第2个点的信息
                            string sub_string_3 = vertex_2.Substring(16);//存储这一行索引为16以后的字符串
                            string[] str_vertex_2 = new string[3];//定义3个字符串数组分别存储第2个点

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-09-21 20:39  20160924C#控制台读取STL文件\
     目录           0  2016-09-24 15:40  20160924C#控制台读取STL文件\ConsoleApplication1\
     文件         947  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1.sln
     文件       44544  2016-09-24 20:01  20160924C#控制台读取STL文件\ConsoleApplication1.v11.suo
     文件         187  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\App.config
     目录           0  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\bin\
     目录           0  2016-09-24 20:02  20160924C#控制台读取STL文件\ConsoleApplication1\bin\Debug\
     文件        6656  2016-09-24 20:02  20160924C#控制台读取STL文件\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe
     文件         187  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe.config
     文件       19968  2016-09-24 20:02  20160924C#控制台读取STL文件\ConsoleApplication1\bin\Debug\ConsoleApplication1.pdb
     文件       22984  2016-09-24 20:02  20160924C#控制台读取STL文件\ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe
     文件         187  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe.config
     文件         490  2015-07-10 19:01  20160924C#控制台读取STL文件\ConsoleApplication1\bin\Debug\ConsoleApplication1.vshost.exe.manifest
     文件        3422  2016-01-09 19:37  20160924C#控制台读取STL文件\ConsoleApplication1\bin\Debug\zhengfangti500.STL
     文件       66758  2016-05-03 15:37  20160924C#控制台读取STL文件\ConsoleApplication1\bin\Debug\圆柱体100-30.STL
     文件        2618  2016-09-24 15:41  20160924C#控制台读取STL文件\ConsoleApplication1\ConsoleApplication1.csproj
     目录           0  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\obj\
     目录           0  2016-09-24 20:02  20160924C#控制台读取STL文件\ConsoleApplication1\obj\Debug\
     文件        1466  2016-09-24 20:02  20160924C#控制台读取STL文件\ConsoleApplication1\obj\Debug\ConsoleApplication1.csproj.FileListAbsolute.txt
     文件        1753  2016-09-24 19:25  20160924C#控制台读取STL文件\ConsoleApplication1\obj\Debug\ConsoleApplication1.csprojResolveAssemblyReference.cache
     文件        6656  2016-09-24 20:02  20160924C#控制台读取STL文件\ConsoleApplication1\obj\Debug\ConsoleApplication1.exe
     文件       19968  2016-09-24 20:02  20160924C#控制台读取STL文件\ConsoleApplication1\obj\Debug\ConsoleApplication1.pdb
     文件        6704  2016-09-24 19:58  20160924C#控制台读取STL文件\ConsoleApplication1\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件           0  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
     文件           0  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
     文件           0  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
     目录           0  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\obj\Debug\TempPE\
     文件        5480  2016-09-24 20:02  20160924C#控制台读取STL文件\ConsoleApplication1\Program.cs
     目录           0  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\Properties\
     文件        1358  2016-09-21 20:39  20160924C#控制台读取STL文件\ConsoleApplication1\Properties\AssemblyInfo.cs
     文件         831  2016-09-24 20:01  20160924C#控制台读取STL文件\ConsoleApplication1\Triangle.cs
............此处省略0个文件信息

评论

共有 条评论