如何读取ascii stl文件并将其打印到文件中



如何读取ASCII STL文件cubea.STL并将其打印到文件output.dat?

我写了程序的一部分,但这个main.cpp不起作用。

我可能错过了main.cpp.中的一些程序

main.cpp

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cubea.stl"
#include "output.dat"
#define MAXLINE 128
#define PSLD "SOLID"
#define PNML "FACET NORMAL"
#define POUT "OUTER LOOP"
#define PVTX "VERTEX"
#define PELP "ENDLOOP"
#define PEFC "ENDFACET"
#define PESL "ENDSOLID"
#define FINAME "cubea.stl"
#define FONAME "output.dat"
#include "cubea.stl"
#include "output.dat"
int main();
int main() {
char *cp;
float n[3], v[3][3];
FILE *fin, *fout;
char txtline[MAXLINE];
if ((fin = fopen(FINAME, "r")) == NULL) exit(1);
if ((fout = fopen(FONAME, "w")) == NULL) exit(2);
while ((cp = fgets(txtline, MAXLINE, fin)) != NULL);
{
if (strstr(cp, PSLD) == cp)
fprintf(fout, "%s", cp);
else if (strstr(cp, PNML) == cp) 
{
cp += strlen(PNML);
sscanf(cp, "%f %f %f", &n[0], &n[1], &n[2]);
fprintf(fout, "%s %f %f %fn", PNML, n[0], n[1], n[2]);
}
}
fclose(fin);
fclose(fout);
}

不能包含.stl或.dat文件。

你需要删除它们的include(你做了两次(。只要确保cubea.stl存在于运行可执行文件的路径中,它就可以工作并创建output.dat

最新更新