资源简介
文件夹内包含两个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个文件信息
相关资源
- InTheHand.Net.Personal.dll173488
- C#实现双态按钮
- C#/.NET 学生管理系统控制台版含数据库
- c#实现id3决策树--MyId3.rar
- 酒店管理系统c#源码
- PuyoPuyo游戏
- C#读取SD卡中采集摄像头数据
- C# winform sidebar控件
- 利用C#语言开发K-Means聚类算法
- C#将SQL Server备份bak文件恢复
- 用c#写的多线程求PI
- 矩阵常用算法C#程序
- 网页设计,c#,ico小图标,共851个!
- 用C#写的小程序
- WinForm验证码源码
- C#模仿Win7标准计算器
- Galil C#通讯链接范例
- C#制作一个简易画图工具
- 飞行棋代码
- 禁止商业用途RPG游戏C#(登陆注册,背
- Huffman树练习
- C# 数字键盘实现
- C# mysql、sqlserver连接demo源码
- winform自绘波形,鼠标滚轮滚动缩放波
- C#仿真飞行仪表盘
- C#动态添加数据到折线图
- C# winform 宿舍管理系统 ,vs2010开发,
- 基于C#邮件客户端
- C#酒店管理系统(报告+代码+讲义)
- 打砖块小游戏,C#源码
评论
共有 条评论