Comments on How to calculate remaining volume of a wire spool
Parent
How to calculate remaining volume of a wire spool
There are a bunch of rolls of 3d filament at my library in various degrees of emptiness/fullness. When I pick one I need to know that it likely has enough remaining for my print job.
How can I calculate the (approximate) volume remaining of a spooled wire, given the diameter of the core/center of the spool (nonusable area) the original diameter of the spool when it was full, and the diameter of the material currently remaining on the spool?
If I'm looking for a percentile answer then I doubt the width of the spool comes into play, but they're aboue 2.5 inches wide.
If the core is 4 inches and there's currently 6 of material where there were originally 8, I know that it's not 50% empty, because each layer is larger than the next.
The filament is 1.75mm, but it might be easier to assume that its infinitely thin, or a liquid somehow evenly attracted to the spool core.
I do imagine the diameter of the filament and the way it's packed (square, or hexagonal/staggered) might impact a little do if I was trying to calculate length, but I'm hoping not for volume.
I found this answer: https://3dprinting.stackexchange.com/a/19038 but I put it into a spreadsheet and it doesn't look right at all:
PctRemaining=(100*((CurrentDiameter-EmptyDiameter)/(FullDiameter-EmptyDiameter)))^2
So what's the right way to solve this?
Post
The relative volumes of cylinders with the same height are proportional to the square of their diameter. Hopefully you can see this is true without further explanation.
The relative volume of wire on a full spool is therefore
D2 - Dempty2
Now take the ratio of the current to the full wire volume using the above formula:
Fullness = (Dcurr2 - Dempty2) / (Dfull2 - Dempty2)
Note that Dfull and Dempty are constants for your purposes. To get remaining length of wire from the fullness fraction only requires another constant. During use, you therefore only need to perform the calculation:
WireLength = (D2 - K1)K2
You can write K1 and K2 on each spool when you receive it full.
0 comment threads