GregValiant 1,410
There are a couple of difficulties beyond the fact that Cura can't do an export like that. The gcode moves are all lines with no relation between them. A circle is comprised of a lot of very short lines and has no center point. You can read the gcode into Excel with a streamreader, or open the gcode in Excel as a delimited text file, but either way the data still needs to be parsed to pull the X Y Z numbers out.
I have a couple of macros for analyzing gcode data but the main analysis tool I have is a macro for reading a gcode into AutoCad. Each layer is then a collection of lines that describe the geometry of the layer. All outside dimensions are 1/2 line width off from the actual model outer wall. That isn't a problem with something regular like a cube. If you were to slice 25mm cube with a .4 line width then the periphery of the lines would measure 24.6 x 24.6. (That's one of the reasons when re-creating a model from a gcode file is so time intensive.)
Within a Cura gcode file there are "comments" that describe what the upcoming commands are for. If you were to limit yourself to "TYPE:OUTER-WALL" and within the Outer-Wall further limit yourself to G1 commands then that would be a start but an inside cavity would also have outer walls and would need to be subtracted from the area of the slice.
Anyway, I don't see this happening with just Excel.
Here is a gcode read into AutoCad (which by the way will start out reading and re-creating the file at around 1200lines of code/second but as the screen populates with more and more items then the data rate will fall to around 300 lines/second. It sounds like a lot until you realize the file is 1.7million lines long.
Here is layer 161 of that file on the left, and on the right I copied over the Outer-Walls and the orange lines at an offset of .2mm to emulate the actual periphery of the model. Querying AutoCad for the area of the orange polygon returns the 147.142 I stuck in on the right.
Recommended Posts
curatori 7
Are you sure you mean surface area?
Surface area is a two-dimensional quantity (length x width)
What exactly do you want to achieve?
Link to post
Share on other sites