mainsail-crew / MainsailOS

This Raspberry Pi distribution for managing Klipper 3D printers with Mainsail provides all you need.
https://docs.mainsail.xyz/setup/mainsail-os
GNU General Public License v3.0
524 stars 250 forks source link

[feature request] Toggle Between Grams and Meters for Measurement Input #257

Closed Tom-Neverwinter closed 8 months ago

Tom-Neverwinter commented 8 months ago

Is your feature request related to a problem? Please describe

Introduce a toggle feature within MainsailOS that allows users to choose between grams and meters for inputting measurements. This could be implemented with a simple switch in the interface settings, enabling a seamless transition between measurement systems.

Describe the solution you'd like

This feature would significantly enhance the user experience for those working with filament weights in 3D printing processes, where precision in grams is essential. It would also cater to international users who commonly use the metric system for small-scale measurements, thus broadening the interface's global applicability.

This mainly solves where rolls of filament have a measurement window in grams not meters.

Describe alternatives you've considered

Without this feature, users may have to use external tools to convert measurements, which introduces inconvenience and potential for error. The absence of this feature could deter users who require quick and accurate measurement conversions, affecting the adoption and efficiency of the MainsailOS interface.

Additional information

In the context of 3D printing, spools of filament are often labeled with weight rather than length. However, not all spools provide information on the length of filament remaining, which can be critical for planning print jobs. By enabling a measurement toggle, MainsailOS can assist users in estimating the remaining length of filament on a spool based on its weight and the density of the material. This would facilitate better resource management, allowing users to make informed decisions about when to replace spools and how to optimize their printing strategy. Moreover, integrating such a feature directly into MainsailOS would streamline the workflow, reducing the need for external tools or manual calculations that can be cumbersome and error-prone. This added functionality would enhance the practicality of the interface for all users, particularly those in educational or professional settings where efficiency and precision are paramount.

To convert between the length of filament and its weight, you need to know the density of the material. Here's the basic formula you would use:

Weight (grams)
=
Length (meters)
×
Cross-sectional area (square meters)
×
Density (grams per cubic meter)
Weight (grams)=Length (meters)×Cross-sectional area (square meters)×Density (grams per cubic meter)

For a typical 1.75mm diameter filament, you would calculate the cross-sectional area using the formula for the area of a circle (
�
=
�
�
2
A=πr 
2
 ), where 
�
r is the radius of the filament. So, if the density of the filament material is known (PLA is approximately 1.24 g/cm³), you could calculate the weight for a given length, or conversely, calculate the length for a given weight.``` It does not like my formatting.... hmm... 

Certainly! Here is the equation in plain text:

Weight in grams = Length in meters Cross-sectional area in square meters Density in grams per cubic meter

For a filament with a diameter of 1.75 mm, you would calculate the cross-sectional area like this:

Cross-sectional area = π * (diameter / 2)^2

Since the diameter is in millimeters, you would convert it to meters before squaring it. After finding the cross-sectional area, you would multiply it by the length in meters and the density of the material (also converted to grams per cubic meter if it's given in grams per cubic centimeter) to get the weight in grams.```

KwadFan commented 8 months ago

Hey there,

I appriciate feature request for the OS (Operating System), but ...

You are at the wrong pace, buddy...

Everything you can see in your GUI is related to https://github.com/mainsail-crew/mainsail. The OS Part does only carry your Klipper/moonraker/mainsail installation and has no ability to turn things on and off in your browser, where your GUI lives.It hosts mainsail via nginx, yes. But there is no direct interaction between them. All communication is handled by moonraker.

Further more I personally dont buy my spools in "meters", hence in Kilogramms or Gramms. WHich already might show you there isnt a real need for counting meters because manufacturers tend to use weights, not lengths, on their spools...

As a hint, take a deep breath and headover to https://github.com/Donkie/Spoolman. This might be the feature you are looking for.

Therefore, I will close this as unplanned.

Regards Kwad

Tom-Neverwinter commented 7 months ago

Further more I personally dont buy my spools in "meters", hence in Kilogramms or Gramms. WHich already might show you there isnt a real need for counting meters because manufacturers tend to use weights, not lengths, on their spools...

yes, which is why I would love to see usage in grams. the interface is in meters.

Capture

I will open a feature request on the appropriate git repo.

thank you

dw-0 commented 7 months ago

Further more I personally dont buy my spools in "meters", hence in Kilogramms or Gramms. WHich already might show you there isnt a real need for counting meters because manufacturers tend to use weights, not lengths, on their spools...

yes, which is why I would love to see usage in grams. the interface is in meters.

Capture

I will open a feature request on the appropriate git repo.

thank you

Honestly, what do you expect this column to show if you would just have configured your slicer correctly so mainsail can fill that column with data? image