搜档网
当前位置:搜档网 › STL文件的读取显示

STL文件的读取显示

STL文件的读取显示
STL文件的读取显示

基于VC++和OpenGL的STL文件读取

显示

基于VC++和OpenGL的STL文件读取显示摘要:STL是三维模型常用的文件格式。对STL文件进行读取和显示,是对模型进行后续操作的前提。在对STL文件格式进行详细分析的基础上,以VC+-I-作为开发平台;利用C++标准lO库的ifstream类型定义对象并绑定STL文件;再用标准库string类型中的getline逐行读取绑定的STL文件;最后,应用OpenGL中绘制三角面片编程技术实现对STL文件格式的直观显示。通过试验验证了读取和显示效果。

关键词: STL 文件 ASCII 三维模型三角面片 OpenGL

1 引言

STL(Stereo lithographic)文件格式是美国3DSYSTEMS公司提出的三维实体造型系统的一个接口标准,其接口格式规范。目前已被工业界认为是快速成形(rapid prototypi ng)领域的标准描述文件格式。在逆向工程、有限元分析、医学成像系统、文物保护等方面有广泛的应用川。对STL文件的读取与显示是其应用的基础与前提,本文对STL文件特点进行了详细的分析并在VC++平台上。利用C++标准库中提供的文件流读取及字符操作等功能结合OpenGL中三角面片绘制的编程技术实现了对STL文件的读取与显示。

2 STL文件格式的结构

为了正确地读取三维模型原始数据。更好地利用三维图形的知识重现三维模型原型,首先必须充分了解三维模型原始数据文件的格式,理解三维数据内部的组织结构。STL文件是一种用许多空间小三角形面片逼近三维实体表面的数据模型,STL模型的数据通过给出组成三角形法向量的3个分量(用于确定三角面片的正反方向)及三角形的3个顶点坐标来实现,一个完整的STL文件记载了组成实体模型的所有三角形面片的法向量数据和顶点坐标数据信息。目前的STL文件格式包括二进制文件(BINARY)和文本文件(ASCIi)两种。

2.1 TL的二进制格式

二进制STL文件用固定的字节数来给出三角面片的几何信息。文件起始的80个字节是文件头,用于存贮零件名;紧接着用4个字节的整数来描述模型的三角

面片个数,后面逐个给出每个三角面片的几何信息。每个三角面片占用固定的50个字节,依次是3个4字节浮点数(角面片的法矢量)3个4字节浮点数(1个顶点的坐标)3个4字节浮点数(2个顶点的坐标)3个4字节浮点数(3个顶点的坐标)个三角面片的最后2个字节用来描述三角面片的属性信息。一个完整二进制STL文件的大小为三角形面片数乘以50再加上84个字节,总共1 34个字节。

2.2 TL的ASCII文件格式

ASCII码格式的STL文件逐行给出三角面片的几何信息,每一行以1个或2个关键字开头。在STL文件中的三角面片的信息单元facet是一个带矢量方向的三角面片,STL三维模型就是由一系列这样的三角面片构成。整个STL文件的首行给出了文件路径及文件名。在一个STL文件中,每一个facet由7行数据组成,facetnormal 是三角面片指向实体外部的法矢量坐标,outer loop说明随后的3行数据分别是三角面片的3个顶点坐标,3顶点沿指向实体外部的法矢量方向逆时针排列。ASCII格式的STL文件结构如下:

solid filename stl //文件路径及文件名

facet normal X Y z//三角面片法向量的3个分量值

outer loop

vertex X Y z //三角面片第一个顶点坐标

vertex X Y Z //三角面片第二个顶点坐标

vertex X Y Z //三角面片第三个顶点坐标

end loop

end facet //完成一个三角面片定义

end solid filename stl//整个STL文件定义结束一个具体STL文件如下:solid C:\Temp\NOEL Parts\HMJ—PRT.STL

created by Ctrl View V2.70

facet normal 0 1 0

outer loop

vertex 67.4752 34.7981 31.693

vertex 68.4358 34.7981 30.3941

vertex 69.1 631 34.7981 28.951 6

end facet

通过对STL两种文件格式的分析可知,二进制格式文件较小(通常是ASC¨码格式的1/5),节省文件存储空间,而ASCII码格式的文件可读性更强,更容易进行进一步的数据处理。

3 STL文件的读取与显示

本文以STL三维模型文件为数据源,根据对文件格式和内部数据结构的分析,采用OpenGL作为三维图形接口,并以VC++6.O为开发平台。利用C++标准IO库的if stream类型定义对象并绑定STL文件:再用标准库string类型中的getline逐行读取绑定的STL文件:然后对读入的数据进行是否为顶点信息的判断,存储其中的顶点数据。再应用OpenGL编程技术实现对STL三维模型文件的显示。

读取STL文件时,只需要读取STL文件中表示向量和三角形顶点的相应数据,不需要读文件中的其它信息。依次按逆时针方向读入各个三角形面片的3顶点坐标值。由于三角面片外法矢量可以通过右手螺旋法则由3顶点坐标值计算出来,因此可不对其进行存储,以节省存储空间。如果后续处理需用到法矢量,

可利用以下的外法矢量计算公式:

(1)

3.1 定义顶点。

STL三维模型文件由一系列的三角面片组成,每一个三角面片由三维空间中对应的三个顶点组成。STL文件的读取与显示实质就是对STL文件中的顶点信息进行读取并直观显示,因此,读取显示STL文件首先要解决的就是顶点的定义问题,本文通过类Vertex定义三角面片顶点,Vertex类定义的部分代码如下:

class Vertex

{

public:

Verte×(double—x=0,double—y=O,double

:×_(_×),y.(_y),z_(_z)//--坐标变量赋初值

{}

private://定义顶点三坐标

double X_:

double,y_:

double z_:

}:

3.2 定义读取功能

由前面的分析我们知道,STL文件以行为标准存储不同信息。根据文件格式的该特点,本文首先应用C++标准IO库的ifstream类型定义对象绑定待读取的STL 文件:再采用逐行读取的方式用标准库string类型中的getline函数从ifstream 对象绑定的STL文件中读入数据。由于只需用到其中的顶点信息,因此,通过判断字符Vertex,然后读取其后的数据即可。本文在类Vertex Reader中定义了读取STL文件的相关操作函数,Vertex Reader类定义的部分代码如下:

class Verte×Reader

{

public:

bool Read(VertexArray&vertices);//顶点信息读取函数

private:

void ReadL.ne(string&line);//读取行信息函数

void Push Line(Verte×Array&vertices);//读取顶点函数

在函数Read(Vene×Array&vertices)中通过ifstream定义对象绑定并打开STL 文件,为进行数据信息的读取、保存做准备。

bool Vertex Reader::Read(Vertex Array & vertices)

{

Ifstream infile(File Name.C—strO,

ifstream::in);//打开要读取的STL文件

Read Line(Jjne):

Push Line(Vert jces):

}

Read Line(string&line)函数不对Read(Vertex Array & vertices)函数中读入的行字符串信息进行是否为三角形顶点字符串信息的判断,而只对读入的字符串进行存储,并通过strtok(buff,Del)函数对读入的每行字符串信息进行分隔,以区别读入的每个字符,为下一步对三角形顶点字符串信息的判断做准备。部分实现程序如下:

void Vertex Reader::Read Line(string&line)

{ 一一一

char★token = strtok(buff。Del);//分解字符串为一组标记串

while(token){

Tken.push..back(token);

token=strtok(NULL。Del);

}

}

通过前面对STL文件的结构分析可知,STL文件由文件路径及文件名、三角面片法向量、三角形面片的顶点、三角形顶点定义开始标识符(outer Ioop)及结束标识符(endIoop)和三角形面片定义结束标识符(endfacet)等字符串信息构成。在本文中只需要其中的三角形顶点信息,因此要对读入的字符串进行是否为三角形顶点信息的判断,这里通过Push Line(Verte×Array&vertices)函数来实现判断。

文中我们具体用函数stricmp0来判断读入信息是否为顶点;由于读入的顶点信息为字符类型而在显示时要用到的是浮点类型的顶点信息,因此要通过函数atof0进行类型的转化。部分实现程序如下:

void Vertex Reader::Push Line(Vertex Array&

vertices)

{

if(stricrnp(Tken[0].C—str0,”vertex”)==O)

{//判断读取的是否为顶点信息

double x=atof(Tken[1].c—strO);//把字符串转化成浮点数

double Y=atof(Tken[2].C—str0);

double Z=atof(Tken[3].C—str0);

vertices.push—back(Vertex(x, Y,z))://对点进行读入保存

}

}

3.3 STL文件的显示

在OpenGL函数库中,提供了直接渲染三角面片的方法glBegin(GLTRIANGLES)和glEnd(),因而利用OpenGL来实现STL三维模型的真实感图形显示,更加具有优势。部分实现程序如下:

void CWelcomeView::myplane()

{?

for(int i_0:i

{glBegin(GLTRIANGLES);//绘制三角面片

glVerte×3f(Vertices[i].xo,vertices[i].Y0,vertices[i].Z()):gIVertex3f(Vertices[i+1].XO。vertices[i+1】.YO,vertices[i+1].Z0,):

g|Verte×3f(Vertices[i+2].X0。vertices[i+2].YO,vertices[i+2].Z() ):

glEnd0;

)

}

注意,在OpenGL中投影是进行模型显示的关键技术,主要有两种类型,一种是正投影(orthograghic projection)另一种是透视投影(perspective projection)。由于透视投影更符合人类视觉,使模型显示更具有真实感,因此本文采用了该种

投影方式。透视投影通过函数void gIuPerspectiVe(GIdouble fovy,Gldouble aspect,Gldouble zNear,Gldouble zFar)其中的参数分别表示垂直方向的视野角度、高度到宽度的纵横比,以及近端和远端裁剪平面之间的距离。恰当的参数设置可以得到更好的显示效果。

3.4 试验

本文在对STL文件特点进行详细分析的基础上,利用Visual C++6.0平台和OpenGL编程技术实现了对STL文件的读取与显示功能。为了验证系统显示三维模型的实际效果,以purdue大学提供的3D模型库作为数据源,进行了读取显示试验。图1和图2是其中齿轮和弯管零件三维模型的显示效果图。

图1 齿轮图2 弯管

4 结束语

对STL三维模型文件的读取与显示是对模型一切后续操作的前提和基础。本文通过对STL文件的研究;以VC++作为开发平台;利用C++标准IO库的ifstream 类型定义对象并绑定STL文件;再用标准库string类型中的getline逐行读取绑定的STL文件并对其中的三角面片顶点数据进行存储:再结合OpenGL编程技术实现了对STL文件读取与显示的功能。为进一步对STL文件进行冗余数据处理以及其它相关领域如基于内容的三维模型检索的研究做了必要的准备。今后,在STL文件快速读取显示方面还有待于进一步的研究。

参考文献

[1]卫炜,周来水,张丽艳.海量STL文件的快速读取与显示.机械科学与技术,2006,25(8):935—938.

[2]郎兴华,郭阳,林亨,张伟.STL模型的立体显示及其多屏拼接.系统仿真学报,2004,1 6(4):740—744.

[3]杨晟院,舒适.基于STL文件的三角形表面网格的特征线提取.计算机工程与应用,2008,44(4):14-19.

[4]纪峰,陈荔,李占利.基于STL文件的模型及应用.长安大学学报,2006,26(1):104—107.

[5]马安鹏.Visual C++6.O程序设计导学.北京:清华大学出版社.2002.

[6]郭兆荣.Visual C++OpenGL应用程序开发.北京:人民邮电出版社,2006.

[7]Richard S.OpenGL超级宝典.徐渡,译.3版.北京:人民邮电出版社,2005.

[8]黄长标,林俊义,江开勇.快速形成中STL拓扑信息中的快速建立[J].现代制造工程,2004,(8):16-18

[9]崔树标,张宜生,粱书云等.S11L面片中冗余顶点的快速滤除算法及其应用m.中国机械工程。200l,12(2):173-175

[10]成学问,李德群。周华民,崔树标等.基于哈希表的STL面片冗余顶点快速滤除算法[J].华中科技大学学报,2004,32(6):69—72

[11]郭兆荣,李菁,王彦.Visual C++OPenGL应用程序开发[M].北京:人民邮电出版社,20016

如何导入导出3D打印机可打印的stl文件以及模型尺寸的调整方法

如何导入导出3D打印机可打印的stl文件以及模型尺寸的调整方法如果想要让3D打印机进行工作还需要3D三维模型的配合才能完成。如果您从网上下载了一个stl格式的可打印三维模型,就可以放入3D打印机配套软件中进行打印操作了。如果您对下载好的stl格式的三维模型还不甚满意,而且恰好您稍微懂些3D软件的操作,就可以对下载的模型进行更改让其满足您的设计要求,今天乐彩科技就来说一下具体的操作步骤。 首先打开3D max软件,然后点击“文件”——“导入”——“导入外部文件到3D max 中”,就可以将stl格式的文件成功导入到三维模型制作设计软件中了,这个过程会比较长一些,如果stl文件过于大或者stl模型过于复杂化可能会出现打不开的情况。接下来爱玩3D max的你可以自由发挥你的想象力了,设计出好看的三维物体在3D打印机中进行打印操作。 关于导出3D打印机可打印的stl文件格式,只需要我们在三维设计软件如3D max中设计好三维模型,然后执行“文件”——“导出”——“从当前3D max场景导出外部文件格式”——在弹出的提示框中设置文件保存位置,然后为文件进行命名,并设置保存类型为:STL(*.STL)即可。 3d打印机打印的文件格式为.STL,图像模型文件用replicatorG打开。打开后可以看到模型的视图和相应信息。如果想要改变打印的模型尺寸,可以在软件右边的“Scale”按钮边的输入框内输入相应的参数,比如,输入2就放大一倍,写0.5就缩小一倍。当然你也可点击“Scale”按钮,点过之后再将鼠标箭头移动到模型视图区域,按着鼠标左键不放,往右拖动可以放大模型尺寸,往左拖动可以缩小模型。

CAD系统输出STL文件方法大全

CAD系统输出STL文件方法大全 Alibre File (文件) -> Export (输出) -> Save As (另存为,选择 .STL) -> 输入文件名 -> Save (保存) AutoCAD 输出模型必须为三维实体,且 XYZ 坐标都为正值。在命令行输入命令 "Faceters" -> 设定 FACETRES 为 1 到 10 之间的一个值 (1 为低精度, 10 为高精度 ) -> 然后在命令行输入命令“STLOUT” -> 选择实体-> 选择 “Y” ,输出二进制文件 -> 选择文件名 CADKey 从 Export (输出)中选择 Stereolithography (立体光刻) I-DEAS File (文件) -> Export (输出) -> Rapid Prototype File (快速成 形文件) -> 选择输出的模型 -> Select Prototype Device (选择原 型设备) -> SLA500.dat -> 设定 absolute facet deviation (面片精度) 为 0.000395 -> 选择 Binary (二进制) Inventor Save Copy As (另存复件为) -> 选择 STL 类型 -> 选择 Options (选 项),设定为 High(高) IronCAD 右键单击要输出的模型 -> Part Properties (零件属性) -> Rendering (渲染) -> 设定 Facet Surface Smoothing (三角面片平滑)为 150 -> File (文件) -> Export (输出) -> 选择 .STL Mechanical Desktop 使用 AMSTLOUT 命令输出 STL 文件。 下面的命令行选项影响 STL 文件的质量,应设定为适当的值,以输出 需要的文件。 1. Angular Tolerance (角度差) ―― 设定相邻面片间的最大角度差 值,默认 15 度,减小可以提高 STL 文件的精度。 2. Aspect Ratio (形状比例) ―― 该参数控制三角面片的高 / 宽比。 1 标志三角面片的高度不超过宽度。默认值为 0 ,忽略。 3. Surface Tolerance (表面精度) ―― 控制三角面片的边与实际模 型的最大误差。设定为 0.0000 ,将忽略该参数。 4. Vertex Spacing (顶点间距) ―― 控制三角面片边的长度。默认 值为 0.0000, 忽略。 ProE 1. File (文件) -> Export (输出) -> Model (模型) 2. 或者选择 File (文件) -> Save a Copy (另存一个复件) -> 选 择 .STL 3. 设定弦高为 0 。然后该值会被系统自动设定为可接受的最小值。 4. 设定 Angle Control (角度控制)为 1 ProE Wildfire 1. File (文件) -> Save a Copy(另存一个复件)-> Model(模型)-> 选 择文件类型为 STL (*.stl) 2.设定弦高为0。然后该值会被系统自动设定为可接受的最小值。 3.设定 Angle Control (角度控制)为 1 Rhino File (文件)-> Save As(另存为 .STL )

MATLAB文件各种操作方法(全)

1.1 文件的打开和关闭 1.1.1 文件的打开 fopen ('filename', 'mode') mode格式有: ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。 ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。 ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。 ‘a’:在打开的文件末端添加数据。文件不存在则创建。 ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 如果rt表示该文件以文本方式打开,如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。 Fopen函数两个返回值: 1、一个是返回一个文件标识(file Identifier),它会作为参数被传入其他对文件进 行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。 (如果返回的文件标识是–1,则代表fopen无法打开文件,其原因可能是文件不 存在,或是用户无法打开此文件权限); 2、另一个返回值就是message,用于返回无法打开文件的原因; 例:1-1 [f,message]=fopen('fileexam1', 'r') if f==-1 disp(message); %显示错误信息 end (若文件fileexam1不存在,则显示如下信息。 Cannot open file.existence?permissions?memory?) 例:1-2 [f,message]=fopen('fileexam2', 'r'); if f==-1 disp (message); %显示错误信息 else disp(f); end 若文件fileexam2存在,则返回f值。 1.1.2文件的关闭 Fclose(f) F为打开文件的标志,若若fclose函数返回值为0,则表示成功关闭f标志的文件;若返回值为–1,则表示无法成功关闭该文件。(打开和关闭文件比较耗时,最好不要在循环体内使用文件) 若要一次关闭打开的所有文件,可以使用下面的命令:fclose all

Matlab文件读取和写函数总结

Matlab读取文件函数总结 1.load读取方式 a.基本说明: 只能读取数值数据,不能读取含文本的数据;日期按数值读取。 b.调用方式: a=load(filename); c.有无分隔符限制: 无需输入分隔符,可自动识别空格、逗号、分号、制表符。 d.能否自定义读取范围: 不能。 e.适用文件类型: txt、csv。 2.importdata读取方式 a.基本说明: 可读取数值数据和含文本的数据,但是要求文本在数据的第一行或第一列。返回值分为数值部分(data)和文本部分(textdata) b.调用方式: a=importdata(filename,delm,nheaderlines); filename:文件名(如果文件在其他路径下,文件名前需加所在路径。) delm:分隔符 nheaderlines:从第nheaderlines+1行开始读取数值数据。 c.有无分隔符限制: 多列数据时需输入分隔符。若不输入分隔符,整行会被作为字符串放入一列。 d.能否自定义读取范围: 可从某一行开始读取数值数据。若使用importdata按钮,则可自定义读取范围和设置数据类型。 f.适用文件类型 txt、xls、xlsx、csv。 3.textscan读取方式 a.基本说明: 可对列按照自定义格式读取数据,必须输入每列的读取格式,可跳过某个列或几列。 按数值读取时,缺少值以NaN填补;按字符读取时,缺少值以空格填补。返回值按列放入元胞数组。 b.调用方式: c = textscan(fid,'format',n,'param',value) fid:文件指针。使用textscan函数时需先使用fopen函数打开数据文件,返回给fid 文件若不再使用,则需用fclose(fid)关闭文件。 ‘format’:定义每列的读取格式。例如%s表示按字符串读取、%d表示按整数读取、%D 按日期读取、%*表示跳过该列。level%u8表示将level1读取成1,去掉level。 ‘param’,value:这两个参数成对出现。例如’Delimiter’,’s’表示按分隔符为’,’进行读取。 c.有无分隔符限制 可自定义分隔符,不是必须的。 d.能否自定义读取范围:

各种3D软件如何导出STL文件

一、软件:Alibre 1. 文件-File 2. 导出-Export 3. 保存为-Save As > STL 4. 输入文件名-Enter File Name 5. 保存-Save 二、软件:Ashlar-Vellum 1. 文件-导出File > Export… 2. 选择STL导出格式-Select STL Export Type 3. 选择二进制选项并点 OK - Set Export Options to Binary > OK 4. 输入文件名Enter Filename 5. 保存Save 三、软件:AutoCAD 您的设计必须是三维实物,并且坐标值都为正 1. 保证目标是正空间(坐标值为正) 2. 在命令行输入“FACETRES” 3. 输入1到10之间一个数,1表示低分辨率,10表示高分辨率 4. 在命令行输入“STLOUT” 5. 选择目标模型 6. 输入"Y"表示输出二进制 7. 输入文件名-保存 四、软件:Autodesk Inventor 1. 保存为Save Copy As 2. 选STL Select STL 3. 选项选择高Choose Options > Set to High 4. 输入文件名Enter Filename 5. 保存Save 五、软件:CADKey 1. 从Export(输出)中选择Stereolithography(立体光刻) 2. 输入文件名 3. 点OK 六、软件:Catia 1.选择STL命令 2. 最大Sag=0.0125 mm 3. 选择要转化为STL的零件

4. 点击YES, 选择输出(export) 5. 输入文件名输出stl文件 七、软件:I-DEAS 1. 文件File > 输出Export > 快速成型文 件Rapid Prototype File > OK 2. 选择要导出的模型Select the Part to be Prototyped 3. 选择成型设 备Select Prototype Device > SLA500.dat > OK 4. 设置绝对面片精度到 0.000395 Set absolute facet deviation to 0.000395 5. 选择二进制Select Binary > OK 八、软件:IronCAD 1. 右键点击要输出的零件Right Click on the part 2. 零件性质Part Properties > 生成Rendering 3. 设置面片表面光滑到 150 Set Facet Surface Smoothing to 150 4. 文件File > 输出Export 5. 选择STL文件Choose .STL 九、Mechanical Desktop 使用AMSTLOUT命令输出STL文件 1.Angular Tolerance(角度差)-- 设定相邻面片间的最大角度差值,默认15度,减少可以提供STL文件的精度 2.Aspect Ratio(形状比例)--该参数控制三角面片的高度比。1标志三角面片的高度不超过宽度。默认值为0,忽略。 3.Surface Tolerance(表面精度)--控制三角面片的边与实际模型的最大误差。设定为0.0000,将忽略该参数。 4.Vertex Spacing(顶点间距)--控制三角面片边的长度。默认为 0.0000,忽略。 十、软件:ProE / ProEngineer 1. 文件File > 输出Export > 模型(或文件) Model (or File > Save a Copy) 2. 选择STL格式Set type to STL 3. 设置弦高(chord height)为0。然后该值会被系统自动设定为可接受的最小值。 4. 设置角度控制为1 5. 选择文件名 6. OK

matlab基本操作,读取csv文件

1、用csvread函数 注意:csvread函数只试用与用逗号分隔的纯数字文件 第一种:M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M 第二种:M = CSVREAD('FILENAME',R,C) ,读取csv文件中从第R-1行,第C-1列的数据开始的数据,这对带有头文件说明的csv文件(如示波器等采集的文件)的读取是很重要的。 第三种:M = CSVREAD('FILENAME',R,C,RNG),其中RNG = [R1 C1 R2 C2],读取左上角为索引为(R1,C1) ,右下角索引为(R2,C2)的矩阵中的数据。 注意:matlab认为CSV第1行第1列的单元格坐标为(0,0) 给定一个csvlist.csv文件,其内容如下 02, 04, 06, 08, 10, 12 03, 06, 09, 12, 15, 18 05, 10, 15, 20, 25, 30 07, 14, 21, 28, 35, 42 11, 22, 33, 44, 55, 66 例1.1读取整个文件 csvread('csvlist.csv') ans = 2 4 6 8 10 12 3 6 9 12 15 18 5 10 15 20 25 30 7 14 21 28 35 42 11 22 33 44 55 66 例1.2读取第2行以下,第0列以右区域的数据 m = csvread('csvlist.dat', 2, 0) m = 5 10 15 20 25 30 7 14 21 28 35 42 11 22 33 44 55 66 例1.3读取第2行以下,第0列以右,第3行以上,第3列以左区域的数据 m = csvread('csvlist.dat', 2, 0, [2,0,3,3])

Matlab文件操作及读txt文件(fopen,fseek,fread,fclose)

Matlab文件操作及读txt文件(fopen,fseek,fread,fclose) matlab文件操作 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。 1、文件的打开与关闭 1)打开文件 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为: fid=fopen(文件名,…打开方式?) 说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下: λ…r?:只读方式打开文件(默认的方式),该文件必须已存在。 …r+?:读写方式打开文件,打开后先读后写。该文件必须已存在。λλ…w?:打开后写入数据。该文件已存在则更新;不存在则创建。 …w+?:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。λ λ…a?:在打开的文件末端添加数据。文件不存在则创建。

…a+?:打开文件后,先读入数据再添加数据。文件不存在则创建。 另外,在这些字符串后添加一个“t”,如…rt?或…wt+?,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen 函数默认的打开方式。 2)关闭文件 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose函数,调用格式为: sta=fclose(fid) 说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(…all?)。 2、二进制文件的读写操作 1)写二进制文件 fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为: COUNT=fwrite(fid,A,precision) 说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据

点云格式转换

点云格式转换: 在日常工作中,我们所用到的点云一般都为三角化后输出的网格面数据,其格式为标准格式STL格式。另一种为输出的点数据ASCII 格式. ⑴.STL是以一个文件的方式输出.输出的时候有ASCII和 binary两种方法,一般采用二进制(binary)的方法输出, 可以节省空间. ⑵.ASCII是把文件分成许多小的文件包输出的.一般是用输 出的点数来限制文件包的.

其中,STL是最常用的格式,因为它所包含的信息最全面,而且可以被大多数的软件所接受. 但有时因为不同的应用,测量后输出的数据有可能为VTX(顶点文件)、WRL和IV格式,而常用软件CATIA在导入点云时不支持以上两种格式.这时我们可以利用以下方法将VTX、WRL和IV转化为ASC 格式: 以上图中的foot模型为例. ⑴.用写字板将WRL格式文件打开.原文件大小为444KB.

⑵.将文件另存为TXT或DAT格式.此时文件大小为454KB.

⑶.将另存后的DAT文件的后缀名改为ASC格式.但此时文件大 小没有改变.(此时,如遇大型文件不方便存储和拷贝.) ⑷.用Imageware将文件打开,再重新另存为ASCII文件,此时文件 大小为293KB.

2 IV格式的转化同上. VTX格式的转化与上面方法基本相似,只是在写字板中将VTX 文件打开后会同时显示每个点的坐标和I,J,K变量值.需在坐标值与I,J,K变量值之间的空格处用逗号替换后再与以上方法同步即可. 以上方法的优点:1.在没有专用的三维扫描软件的情况下可以进行转换.2.可将大型的VTX、WRL、IV格式文件转换为ASCII文件,以方便存储和拷贝. 缺点:步骤烦硕,不能一步到位.特别是在大型文件的转换时,尽量避免采用VTX格式进行转换. 由于经验有限,以上方法难免有疏漏不正之处,敬请不吝指正.

matlab文件操作及读txt文件(fopen,fseek,fread,fclose

matlab文件操作及读txt文件(fopen,fseek,fread,fclose) matlab文件操作 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。 1、文件的打开与关闭 1)打开文件 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为: fid=fopen(文件名,‘打开方式’) 说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下:λ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。 ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。λ λ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。λ λ‘a’:在打开的文件末端添加数据。文件不存在则创建。 λ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。

2)关闭文件 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose 函数,调用格式为: sta=fclose(fid) 说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(‘all’)。 2、二进制文件的读写操作 1)写二进制文件 fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为:COUNT=fwrite(fid,A,precision) 说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。缺省数据精度为uchar,即无符号字符格式。 例6.8 将一个二进制矩阵存入磁盘文件中。 >> a=[1 2 3 4 5 6 7 8 9]; >> fid=fopen('d:\test.bin','wb') %以二进制数据写入方式打开文件 fid =3 %其值大于0,表示打开成功 >> fwrite(fid,a,'double') ans = 9 %表示写入了9个数据 >> fclose(fid)

Matlab的各种数据读取、文件读写等操作汇总

Matlab 的各种数据读取、文件读写等操作汇总 MATLAB 提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。至于选择哪种机制,则根据下面两个因素决定:?用户所执行的 操作是导入数据还是导出数据;?数据的格式为文本格式、 二进制格式还是如HDF 之类的标准格式。将数据导入MATLAB 中最容易的方法就是使用导入数据模板(Import Wizard) ,使用该模板时不需要知道数据的格式,只需指定包含这些数据的文件,然后导入模板会自动处理文件内容。本章重点内容如下:? 文件的打开和关闭? 文本文件的读取?存写ASCII数据?二进制数据的读取? 二进制数据的存写? 使用I/O文件函数进行数据读写?MAT 文件的读写 2.1 文件的打开和关闭2.1.1 文件的打开无论是要读写ASCII 码文件还是二进制文件,都必须先用fopen 函数将其打开,在默认情况下,fopen 以二进制格式打开文件,它的使用语法如下:fopen ('filename', 'mode') 其中filename 表示要读写的文件名称,mode 则表示要对文件进行的处理方式,如下:rt :以只读方式(Reading)打开文件wt:以只写方式(Writing)打开文件at:以追加方式(Appending)打开文件,新内容将从原文件后面续写r+t:以同时读写方式打开文件w+t :以同时读写创建文件,原文件内容被清除

a+t :以同时读和追加(Reading and Appdending) 方式,原文件内容被保留,新内容将从原文件的后面开始At :以读写方式打开或创建文件,适用于对磁带介质文件的操作Wt :以写入方式打 开或创建文件,原文件内容被清除,适用于磁带介质文件的操作fopen 函数有两个返回值,一个是返回一个文件标志(file Identifier) ,它会作为参数被传入其他对文件进行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。如果返回的文件标识是-1,则代表fopen无法打开文件,其原因可能是文件不存在,或是用户无法打开此文件权限。另一个返回值就是message ,用于返回无法打开文件的原因。为了安全起见,最好在每次使用fopen 函数时,都测试其返回值是否为有效值。下面以脚本m 文件为例来声明文件的打开。例 2-1 %exam1.m[f,message]=fopen('fileexam1', 'r')if f==-1disp (message); % 显示错误信息end 若文件fileexam1 不存在,则显示如下信息。Cannot open file.existence?permissions?memory?... 例2-2 %exam2.m[f,message]=fopen('fileexam2', 'r');if f==-1disp (message); % 显示错误信息else disp(f);end 若文件fileexam2 存在,则返回f值。 2.1.2 文件的关闭一旦完成文件的读写,最好关闭文件,以便对其进行其他操作。这时就可以使用fclose 函数来关闭文件,其适用语法如下:fclose(f) 。其中 f 为打开文件的标志,若fclose 函数返回值为0 ,则表示成功关闭 f 标志的文件;若返回值为-1,

matlab文件操作及读txt文件

matlab文件操作及读txt文件 matlab文件操作 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。 1、文件的打开与关闭 1)打开文件 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为: fid=fopen(文件名,‘打开方式’) 说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下: λ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。 ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。λλ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。λ λ‘a’:在打开的文件末端添加数据。文件不存在则创建。 λ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。

另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。 2)关闭文件 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose函数,调用格式为: sta=fclose(fid) 说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(‘all’)。 2、二进制文件的读写操作 1)写二进制文件 fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为: COUNT=fwrite(fid,A,precision) 说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。缺省数据精度为uchar,即无符号字符格式。 例6.8 将一个二进制矩阵存入磁盘文件中。 >> a=[1 2 3 4 5 6 7 8 9]; >> fid=fopen('d:test.bin','wb') %以二进制数据写入方式打开文件

STL格式简介

是(立体印刷)的简写,是标准三角片语言。以为后缀的3D模型文件成为3D打印的标准文件,几乎所有的快速成型机都可以接收STL文件格式进行打印。当您保存STL文件之后,您设计的所有表面和曲线都会被转换成网格,网格一般由一系列的三角形组成,代表着您设计原型中的精确几何含义。很多三角形的面可以表现流畅的曲线,这就需要导出高分辨率的STL文件,但如此一来有些三角形会变得相当的小以至于机器无法察觉。这就需要我们将STL文件保存为合适的分辨率。 水密性-3D打印要求STL文件必须是水密的。水密最好的解释就是无漏洞的有体积固体。正如上面所说的原因,即使你的设计的固体已经创建完成了,很有可能在模型中仍存在没有被留意的小孔。 STL错误-有时您要导出STL文件格式时,软件会报告“错误”。这些错误并非发生在浏览阶段,而是真实存在于该文件的对象中。有些软件能帮我们修复STL错误,请留言魔猴网的知识堂,我们会再近期公布一些软件修改STL的办法。 切片-STL文件一旦创建,3d打印软件就会将模型切“片”,存为一系列横截面的文件,并计算出3D打印机的路径和打印量,后面的工作就是3D打印机不断地将横截面层层打印、累积,直到模型完成。 层厚度-3D打印工艺一个重要的指标就是层厚度,一般来讲,层越薄,精度越高,但消耗时间越长。层越厚,切片就越粗糙,有些小于层厚的细节,就有可能被忽略。这是个需要精心调整的一个参数。 3D打印材料-不同的3D打印技术使用不同的打印材料,常见的有:塑料、光敏树脂、石膏粉、蜡等,都可以选择。 支撑材料-每种3D打印技术都需要使用支撑材料来支撑模型的表皮。简单说就是任何打印出来的几何形体,都是一层层累积而来,一层建造再另外一层以上,有些形状,比方说正方体,四周表面都自支撑,上面一面要打印成功,就需要使用支撑材料。

STL文件上有限元网格的生成

STL文件上有限元网格的生成摘要: 这些被提议的方法的是为了展示一个适合有限元方法的且关于物体近似边界表示的直接由CAD软件生成的曲面网格产生的可能性。首先,我们将描述由一个简单的物体表面三角剖分组成的边界表示法。接着我们将展示如何获得一个相容的形状适应网格。形状适应是考虑到几何逼近和由一个误差估计量的各向同性的尺寸映射做出的。网格可以被用来用于有限元计算(通过壳体元素),或者可以用来作为一个启动体积网格算法(Delaunay 或advancing front)曲面的网格。这个用来产生网格的原则是基于与求精算法相关的Delaunay 方法和光滑化原则。最后,我们将展示不用用于克服常规的基于一个几何特定表示法的网格化软件的限制的几何模型的参数表示法。 关键字:网格产生;STL文件格式Bisection算法;Delaunay 三角剖分。 1.CAD接口 1.1基于CAD的数据集 市面上的大多数CAD软件可以产生STL文件,且这些大体上用作实现样机研究和绘制图形的目的。这些文件表现了立体的三角剖分的边界。STL三角剖分的生产算法都是高效的,而且如果可以接受大规模数据集的话平面可以被精确地逼近。但是,这不是一个真正几何模型是因为STL文件格式仅由一个扩展的三角平面列组成。这些小平面除了一般立体外部定向的座标外,还由三个三角顶点座标组成。这种三角剖分法是建立用来最小化一个关于立体(图1)真实边界的几何逼近准则的。(见图1) 1.2 STL三角剖分的特性 STL三角剖分不能直接用在有限元方法(FEM)中,主要是因为它要求在计算域的几何描述上的特殊性。在FEM中,几何和函数支持由元(三角形或其他)提供,且它们必须有一特殊形状,也就是就计算误差估算量的固有大小和固有品质因子应该越低越好。在这项工作中,我们利用如下三角形的品质因子,在此di,i=0…2代表三角形每边的长度。我们假定: 品质因子就是: 这个品质因子在0(对于所有退化三角形而言)和1(对等边三角形而言)之间。 当然,这些要求是和应用相关的。比如,在流体力学中很普遍地应用在边界层的各向异性元和冲激波当中。很显然一个由最小化几何准则得到的网格不能适合FEM的要求,因为它依赖于表面的的曲率和拓扑,且生成的三角形在某方向上会大大伸长(见图2-4)。但是,得到的网格一般都是一致的。 1.3 STL网格中的几何恢复 STL文件内容包含每个三角形顶角座标和相应法线。为了达到曲面的完全网格化,我们需要获得关于被网格化曲面的拓扑和曲率的有关数据。三角形间的拓扑和连通度可以通过避免在STL文件间的顶角冗余得到。这可以通过利用一个利用字典法排序和储存了的顶角的二叉树做出的。在这个过程结束时,我们得到了一物体表面的网格及所有类型的可被重新网格化所需的连通度,特别是用来作邻接查找的连通度(见小节三)。

Matlab数据文件的读写

Matlab数据文件的读写 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MATLAB使用多种格式打开和保存数据。本章将要介绍MATLAB中文件的读写和数据的导入导出。 了解MATLAB的基本数据操作 掌握MATLAB中文本文件的读写方式 掌握MATLAB通过界面导入导出数据 了解MATLAB中的基本输入输出函数 13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。 13.1.1 文件的存储 MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。 1. 保存整个工作区 选择File菜单中的Save Workspace As…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。 2. 保存工作区中的变量 在工作区浏览器中,右击需要保存的变量名,选择Save

As…,将该变量保存为MAT文件。 3. 利用save命令保存 该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式如下: ● save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。 ● save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。 ● save('filename', 'var1', 'var2', ...):保存指定的变量在filename 指定的文件中。 ● save('filename', '-struct', 's'):保存结构体s中全部域作为单独的变量。 ● save('filename', '-struct', 's', 'f1', 'f2', ...):保存结构体s中的指定变量。 ● save('-regexp', expr1, expr2, ...):通过正则表达式指定待保存的变量需满足的条件。 ● save('..., 'format'),指定保存文件的格式,格式可以为MAT 文件、ASCII文件等。 13.1.2 数据导入

STL格式简介

STL格式简介 STL是最多快速原型系统所应用的标准文件类型。STL是用三角网格来表现3D CAD 模型。单一三角网格的数码表现如下所示: solid test facet normal 0 1 0 outer loop vertex 0 4 0 vertex 0.517638 3.93185 0 vertex 0.5 3.93185 -0.133975 endloop endfacet endsolid test 表面的三角剖分之后造成3D模型呈现多面体状。输出STL档案的参数选用会影响到成型质量的良窳。所以如果STL档案属于粗糙的或是呈现多面体状,您将会在模型上看到真实的反应。 在CAD软件包中,当您输出STL档案时,您可能会看到的参数设定名称,如弦高(chord height)、误差(deviation)、角度公差(angle tolerance)、或是某些相似的名称。建议储存值为0.01或是0.02。 STP 文件 一种产品模型数据文件。 产品模型数据交换标准STEP是国际标准化组织(ISO)所属技术委员会TC184(工业自动化系统技术委员会)下的“产品模型数据外部表 示”(ExternalRepresentationofProductModelData)分委员会SC4所制订的国际统一CAD数据交换标准。所谓产品模型数据是指为在覆盖产品整个生命周期中的应用而全面定义的产品所有数据元素,它包括为进行设计、分析、制造、测试、检验和产品支持而全面定义的零部件或构件所需的几何、拓扑、公差、关系、属性和性能等数据,另外,还可能包含一些和处理有关的数据。产品模型对于下达生产任务、直接质量控制、测试和进行产品支持功能可以提供全面的信息。 STEP为产品在它的生命周期内规定了惟一的描述和计算机可处理的信息表达形式。这种形式独立于任何特定的计算机系统,并能保证在多种应用和不同系统中的一致性。这一标准还允许采用不同的实现技术,便于产品数据的存取、传输和归档。STEP标准是为CAD/CAM系统提供中性产品数据而开发的公共资源和应用模型,它涉及到了建筑、工程、结构、机械、电气、电子工程及船体结构等无所不包的所有产品领域。在产品数据共享方面,STEP标准提供四个层次的实现方法:ASCII码中性文件;访问内存结构数据的应用程序界面;共享数据库以及共享知识库。无疑,这将会给商业和制造业带来一场大变革,而且STEP标准在下述几个方面有着明显的

如何在matlab中读取TXT数据文件

如何在matlab中读取TXT数据文件 文章来源:不详作者:佚名 -------------------------------------------------------------------------------- 该文章讲述了如何在matlab中读取TXT数据文件. 今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家(包括me)使用: 下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要稍微修改一下就可以。 function dataout=dataread(filein,fileout,line) fidin=fopen(filein,'r'); fidout=fopen(fileout,'w'); nline=0; while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行

nline=nline+1; if nline==line fprintf(fidout,'%s\n',tline); dataout=tline; end end fclose(fidin); fclose(fidout); %%%%%%%%%%%%%%%%%%%%%%%%%% 调用格式:dataout=dataread(filein,fileout,line) 如果你的txt文件数据是矩阵形式的,而没有其它的文字,用下面的程序就可以读任意行任意列的数据

a=textread('ll.txt'); t=a(1:43,4:10); 1:43是1到43行,4:10是4到10列的数据,当然也可以只读一个数据,如果你的matlab没有textread函数,直接从mathworks网站下载就行。 根据txt文档不同种类介绍不同的读取数据方法 转自:https://www.sodocs.net/doc/cf18830456.html,/youngbrave/blog/item/878db31fcd4f220f304e15bb.html 一、纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为“17.901 -1.1111 33.045 17.891 -1.1286 33.045 17.884 -1.1345 33.045” 可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。 二、中英文和数据如test1.txt “你好 欢迎来到

CAD造型软件输出STL文件方法

Alibre File(文件)-> Export(输出)-> Save As(另存为,选择.STL)-> 输入文件名-> Save(保存) AutoCAD 输出模型必须为三维实体,且XYZ坐标都为正值。在命令行输入命令“Faceters” -> 设定FACETRES为1 到10 之间的一个值(1为低精度,10为高精度) -> 然后在命令行输入命令“STLOUT” -> 选择实体-> 选择“Y”,输出二进制文件-> 选择文件名 CADKey从Export(输出)中选择Stereolithography(立体光刻) I-DEAS File(文件)-> Export(输出)-> Rapid Prototype File(快速成形文件)-> 选择输出的模型->Select Prototype Device(选择原型设备)> SLA500.dat -> 设定absolute facet deviation(面片精度)为0.000395 -> 选择Binary(二进制) Inventor Save Copy As(另存复件为)-> 选择STL类型-> 选择Options(选项),设定为High(高) IronCAD 右键单击要输出的模型-> Part Properties(零件属性)> Rendering(渲染)-> 设定Facet Surface Smoothing(三角面片平滑)为150 -> File(文件)> Export(输出)-> 选择.STL Mechanical Desktop 使用AMSTLOUT命令输出STL文件。 下面的命令行选项影响STL文件的质量,应设定为适当的值,以输出需要的文件。 1.Angular Tolerance(角度差)―― 设定相邻面片间的最大角度差值,默认15度,减小可以提高STL文件的精度。 2.Aspect Ratio(形状比例)―― 该参数控制三角面片的高/宽比。1标志三角面片的高度不超过宽度。默认值为0,忽略。 3.Surface Tolerance(表面精度)―― 控制三角面片的边与实际模型的最大误差。设定为0.0000 ,将忽略该参数。 4.Vertex Spacing(顶点间距)―― 控制三角面片边的长度。默认值为0.0000, 忽略。 ProE 1. File(文件)-> Export(输出)-> Model(模型) 2. 或者选择File(文件)-> Save a Copy(另存一个复件)-> 选择.STL 3.设定弦高为0。然后该值会被系统自动设定为可接受的最小值。 4.设定Angle Control(角度控制)为1 ProE Wildfire 1.File(文件)-> Save a Copy(另存一个复件)-> Model(模型)-> 选择文件类型为STL (*.stl) 2.设定弦高为0。然后该值会被系统自动设定为可接受的最小值。 3.设定Angle Control(角度控制)为1 Rhino File(文件)-> Save As(另存为.STL)SolidDesigner (Version 8.x) File(文件)-> Save(保存)-> 选择文件类型为STL SolidDesigner (not sure of version)File(文件)-> External(外部)-> Save STL (保存STL)-> 选择Binary(二进制)模式->选择零件-> 输入0.001mm作为Max Deviation Distance(最大误差) SolidEdge 1.File(文件)-> Save As(另存为)-> 选择文件类型为STL 2.Options(选项) 设定Conversion Tolerance(转换误差)为0.001in 或0.0254mm 设定Surface Plane Angle(平面角度)为45.00 SolidWorks 1.File(文件)-> Save As(另存为)-> 选择文件类型为STL 2.Options(选项)-> Resolution(品质)-> Fine(良好)-> OK(确定)

相关主题