Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More data (optional) #21

Open
pciavald opened this issue May 5, 2024 · 0 comments
Open

More data (optional) #21

pciavald opened this issue May 5, 2024 · 0 comments

Comments

@pciavald
Copy link

pciavald commented May 5, 2024

Part of what I'm trying to achieve is to be able to send a manufacturing job to a printer in a fleet of printers that has the right material currently loaded for the job.

In order to achieve this, I need to know as much as possible of the mechanical properties of the currently loaded material, given the fact that there are thousands of commercial names for materials and it will be near-impossible, if even desirable, to classify them in a centralized reference database.

My proposition is not to change the required fields, but add many more optional fields. Using a serialization format to store the data should allow still using 1K NFC chips, but if at some point optional data become too powerful, 2K/4K support should be possible while still supporting 1K for required and some optional data.

In this proposition I've also included a section to track the usage of the spool dynamically, and an abrasiveness level that will be discussed in another issue. This is only an initial draft, but it could look something like this:

filament_data = {
  # meta
  'tag_version':           '2',                         # required

  # product
  'manufacturer':          'Francofil',                 # required
  'name':                  'Blue PLA Filament A 110',   # required
  'sku':                   'PLA-110',
  'color_name':            'Blue A 110 Metalized',      # required
  'color_hex':             0x0000FF,
  'manufacturing_method':  'fused_filament_fabrication',
  'certifications':        'rohs,ue:10/2011,reach,fda',
  'additional_data':       None,

  # characteristics
  'diameter_nominal':        1750,                        # required
  'diameter_tolerance':      20,
  'weight_nominal':          1000,                        # required
  'min_extrusion_diameter':  10, # 0.10mm

  # manufacturing data
  'batch':                 '2021-01-01-1234',
  'id':                    '3abe4ae4',
  'manufacture_time':      1612147, # unix timestamp
  'manufacture_location':  '4C5P+JR', # open location code
  'weight_measured':       1003,
  'length_measured':       336,
  'standard_deviation':    3677, # x/1000 um
  'ovality':               180, # x/100 %

  # properties
  'type':                    'polylactic_acid',           # required
  'additional_components':   'thermoplastic_polyurethane:3',
  'properties':              'food_contact_materials,biodegradation',
  'abrasiveness':            1,
  'density':                 1240,                        # required
  'shore':                   75,
  'water_absorption':        5,    # x/10 %
  'surface_resistance':      6,    # 10^x ohm
  'tensile_modulus':         2612, # MPa
  'tensile_stress_yield':    53,   # MPa
  'tensile_stress_break':    51,   # MPa
  'elongation_yield':        21,   # x/10 %
  'elongation_break':        25,   # x/10 %
  'flexural_strength':       100,  # MPa
  'flexural_modulus':        4960, # MPa
  'compressive_strength':    60,   # MPa
  'compressive_modulus':     5000, # MPa
  'compressive_break':       60,   # x/10 %
  'charpy_impact_strength':  26,   # kJ/m^2
  'melt_flow_rate':          720,  # g/10min
  'glass_transition':        575,  # x/10 °C
  'melting_point':           1390, # x/10 °C

  # spool
  'spool_diameter_core':   52,
  'spool_diameter_flange': 200,
  'spool_width':           55,
  'spool_empty_weight':    246,

  # print settings
  'extrusion_temp_min':    190,                         # required
  'extrusion_temp_max':    230,
  'bed_temp_min':          40,                          # required
  'bed_temp_max':          60,

  # properties
  'transmission_distance': 2540,
  'max_dry_temp':          55,
  'humidity_storage':      25,
  'humidity_print':        20,
  'temperature_print':     45,

  # usage
  'remaining_weight':      -1, # grams
  'seen_first':            -1, # unix timestamp
  'seen_last':             -1, # unix timestamp
  'max_humidity':          -1,
  'max_temperature':       -1,
  'computed_density':      -1,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant