Using if statement in analyzing/editing a txt file
이전 댓글 표시
I am trying to develop a code to analyze a text file in MATLAB. The text file was an stl file for 3D printing. It repeats 7 lines about 100000 times to call out each triangle in the stl file. I am trying to develop a code using sscanf, fprintf, and if statements to cut away the bottom portion of the file for printing. I know the code will need to analyze the z values, cut them out if they are below the halfway point, and put the points back into a modified txt/stl file. How can I do this? Here's an example of the first 7 lines. I was thinking to use an if statement that if the line begins with 'vertex' it would analyze the 3rd number value in the row?
facet normal 0.278814 -0.935724 -0.216066
outer loop
vertex -0.596372 -4.060564 5.681240
vertex -0.555372 -4.055394 5.711758
vertex -0.599424 -4.075450 5.741772
endloop
endfacet
댓글 수: 7
Paolo
2018년 7월 21일
Your instructions are not very clear. What is the expected output for the snippet you provided? Is it
5.681240
5.711758
5.741772
?
Taylor Gates
2018년 7월 21일
dpb
2018년 7월 21일
"I attached a text file..."
Not in sight, unfortunately...
Taylor Gates
2018년 7월 21일
Taylor Gates
2018년 7월 21일
편집: Taylor Gates
2018년 7월 21일
Paolo
2018년 7월 21일
Try:
data = fileread('Thinker.txt');
[matches]=regexp(data,'(?=vertex)(.*?)(?=vertex|endloop)','match');
Taylor Gates
2018년 7월 21일
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Text Files에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!