Skip to content

extrudr: fan speed, max volumetric speed and enclosure for 20 filaments (new #767 fields) - #817

Merged
coffandro merged 1 commit into
OpenFilamentCollective:mainfrom
Makemo07:print-params-extrudr
Oct 31, 2026
Merged

coffandro merged 1 commit into
OpenFilamentCollective:mainfrom
Makemo07:print-params-extrudr

Conversation

@Makemo07

Copy link
Copy Markdown
Contributor

Summary

  • Updating existing data

Follow-up to #735 / #767: fills the new print-parameter fields for 20 extrudr filaments: min_fan_speed 20, max_fan_speed 20, enclosure 18, max_volumetric_speed 16. Source: extrudr's technical data sheets (TDS, German edition, s3.extrudr.com) — "Kühlung" (fan), "max. volumetrische Geschwindigkeit", "Geschlossener Bauraum" (closed build space: ja → required, nein → not_needed).

Filament fan min % fan max % enclosure max vol. mm³/s Source
extrudr/ABS/durapro_abs 0 50 required 16 datasheet
extrudr/ASA/durapro_asa 0 30 required 15 datasheet
extrudr/ASA/durapro_asa_gf 0 30 required 12 datasheet
extrudr/PA12/durapro_cf_pa12 0 50 required 8 datasheet
extrudr/PA12/durapro_pa12 0 50 required 8 datasheet
extrudr/PC/durapro_pbt_pc 0 30 required 18 datasheet
extrudr/PCTG/pctg 20 50 9 datasheet
extrudr/PETG/petg 20 50 12 datasheet
extrudr/PLA/basic_pla 30 100 not_needed 21 datasheet
extrudr/PLA/biofusion_pla 10 30 not_needed 6 datasheet
extrudr/PLA/flax_pla 30 100 not_needed datasheet
extrudr/PLA/greentec_pla 30 80 not_needed 16 datasheet
extrudr/PLA/greentec_pro 30 80 not_needed 16 datasheet
extrudr/PLA/nx2_matt 30 100 not_needed 21 datasheet
extrudr/PLA/pearl_pla 30 100 not_needed datasheet
extrudr/PLA/wood_pla 50 80 not_needed datasheet
extrudr/TPU/flex_hard_cf_tpu 0 30 not_needed datasheet
extrudr/TPU/flex_hard_tpu 0 30 not_needed 4.6 datasheet
extrudr/TPU/flex_medium_tpu 0 30 not_needed 3.2 datasheet
extrudr/TPU/flex_semisoft_tpu 0 30 not_needed 2.8 datasheet

How source values were mapped (same rules for every brand in this series):

  • Drying given as a range ("60–70 °C, 4–6 h"): dry_temperature = the lower temperature, max_dry_temperature =
    the upper one (only where the field was empty), dry_time = the upper number of hours.
  • Fan: only unambiguous values — "0–10 %" → 0 / 10, "OFF" → 0 / 0, "up to 100 %" → max_fan_speed 100 only;
    "ON" and similar left out.
  • Enclosure: "not necessary" → not_needed, "recommended…" → recommended, "yes / needed / heated chamber" →
    required.
  • A field where the sources for one filament disagree is left out; existing values are never changed; a
    dry_temperature above an existing max_dry_temperature is left out.

python -m ofd validate: all validations passed (no new warnings). Indentation of each file kept as it was.

🤖 Generated with Claude Code

https://claude.ai/code/session_01B8a6Te45fbpikDxHXroeG8

…ts (new OpenFilamentCollective#767 fields)

Values from the manufacturers' product pages / technical data sheets, mapped as described in the PR.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8a6Te45fbpikDxHXroeG8
@github-actions

Copy link
Copy Markdown
Contributor

Automated review

Covers 645e241.

Changed values: 17 of 74 proven

Value Source
data/extrudr/ABS/durapro_abs/filament.json /enclosure = "required" ❌ the quote doesn't say an enclosure is required
data/extrudr/ABS/durapro_abs/filament.json /max_fan_speed = 50 ✅ brand page
data/extrudr/ABS/durapro_abs/filament.json /max_volumetric_speed = 16 ✅ brand page
data/extrudr/ABS/durapro_abs/filament.json /min_fan_speed = 0 ✅ brand page
data/extrudr/ASA/durapro_asa/filament.json /enclosure = "required" ❌ the quote doesn't say an enclosure is required
data/extrudr/ASA/durapro_asa/filament.json /max_fan_speed = 30 ✅ brand page
data/extrudr/ASA/durapro_asa/filament.json /max_volumetric_speed = 15 ✅ brand page
data/extrudr/ASA/durapro_asa/filament.json /min_fan_speed = 0 ✅ brand page
data/extrudr/ASA/durapro_asa_gf/filament.json /enclosure = "required" ❌ the quote doesn't say an enclosure is required
data/extrudr/ASA/durapro_asa_gf/filament.json /max_fan_speed = 30 ✅ brand page
data/extrudr/ASA/durapro_asa_gf/filament.json /max_volumetric_speed = 12 ✅ brand page
data/extrudr/ASA/durapro_asa_gf/filament.json /min_fan_speed = 0 ✅ brand page
data/extrudr/PA12/durapro_cf_pa12/filament.json /enclosure = "required" ❌ the quote doesn't say an enclosure is required
data/extrudr/PA12/durapro_cf_pa12/filament.json /max_fan_speed = 50 ❌ the page never names 'DuraPro CF PA12'
data/extrudr/PA12/durapro_cf_pa12/filament.json /max_volumetric_speed = 8 ❌ the page never names 'DuraPro CF PA12'
data/extrudr/PA12/durapro_cf_pa12/filament.json /min_fan_speed = 0 ❌ the page never names 'DuraPro CF PA12'
data/extrudr/PA12/durapro_pa12/filament.json /enclosure = "required" ❌ the quote doesn't say an enclosure is required
data/extrudr/PA12/durapro_pa12/filament.json /max_fan_speed = 50 ✅ brand page
data/extrudr/PA12/durapro_pa12/filament.json /max_volumetric_speed = 8 ✅ brand page
data/extrudr/PA12/durapro_pa12/filament.json /min_fan_speed = 0 ✅ brand page
data/extrudr/PC/durapro_pbt_pc/filament.json /enclosure = "required" ❌ the quote doesn't say an enclosure is required
data/extrudr/PC/durapro_pbt_pc/filament.json /max_fan_speed = 30 ❌ the page never names 'DuraPro PBT PC'
data/extrudr/PC/durapro_pbt_pc/filament.json /max_volumetric_speed = 18 ❌ the page never names 'DuraPro PBT PC'
data/extrudr/PC/durapro_pbt_pc/filament.json /min_fan_speed = 0 ❌ the page never names 'DuraPro PBT PC'
data/extrudr/PCTG/pctg/filament.json /max_fan_speed = 50 ✅ brand page
data/extrudr/PCTG/pctg/filament.json /max_volumetric_speed = 9 ❌ no proof was found
data/extrudr/PCTG/pctg/filament.json /min_fan_speed = 20 ✅ brand page
data/extrudr/PETG/petg/filament.json /max_fan_speed = 50 ✅ brand page
data/extrudr/PETG/petg/filament.json /max_volumetric_speed = 12 ✅ brand page
data/extrudr/PETG/petg/filament.json /min_fan_speed = 20 ✅ brand page
data/extrudr/PLA/basic_pla/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/PLA/basic_pla/filament.json /max_fan_speed = 100 ❌ no proof was found
data/extrudr/PLA/basic_pla/filament.json /max_volumetric_speed = 21 ❌ no proof was found
data/extrudr/PLA/basic_pla/filament.json /min_fan_speed = 30 ❌ no proof was found
data/extrudr/PLA/biofusion_pla/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/PLA/biofusion_pla/filament.json /max_fan_speed = 30 ❌ no proof was found
data/extrudr/PLA/biofusion_pla/filament.json /max_volumetric_speed = 6 ❌ no proof was found
data/extrudr/PLA/biofusion_pla/filament.json /min_fan_speed = 10 ❌ no proof was found
data/extrudr/PLA/flax_pla/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/PLA/flax_pla/filament.json /max_fan_speed = 100 ❌ no proof was found
data/extrudr/PLA/flax_pla/filament.json /min_fan_speed = 30 ❌ no proof was found
data/extrudr/PLA/greentec_pla/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/PLA/greentec_pla/filament.json /max_fan_speed = 80 ❌ no proof was found
data/extrudr/PLA/greentec_pla/filament.json /max_volumetric_speed = 16 ❌ no proof was found
data/extrudr/PLA/greentec_pla/filament.json /min_fan_speed = 30 ❌ no proof was found
data/extrudr/PLA/greentec_pro/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/PLA/greentec_pro/filament.json /max_fan_speed = 80 ❌ no proof was found
data/extrudr/PLA/greentec_pro/filament.json /max_volumetric_speed = 16 ❌ no proof was found
data/extrudr/PLA/greentec_pro/filament.json /min_fan_speed = 30 ❌ no proof was found
data/extrudr/PLA/nx2_matt/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/PLA/nx2_matt/filament.json /max_fan_speed = 100 ❌ no proof was found
data/extrudr/PLA/nx2_matt/filament.json /max_volumetric_speed = 21 ❌ no proof was found
data/extrudr/PLA/nx2_matt/filament.json /min_fan_speed = 30 ❌ no proof was found
data/extrudr/PLA/pearl_pla/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/PLA/pearl_pla/filament.json /max_fan_speed = 100 ❌ no proof was found
data/extrudr/PLA/pearl_pla/filament.json /min_fan_speed = 30 ❌ no proof was found
data/extrudr/PLA/wood_pla/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/PLA/wood_pla/filament.json /max_fan_speed = 80 ❌ no proof was found
data/extrudr/PLA/wood_pla/filament.json /min_fan_speed = 50 ❌ no proof was found
data/extrudr/TPU/flex_hard_cf_tpu/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/TPU/flex_hard_cf_tpu/filament.json /max_fan_speed = 30 ❌ no proof was found
data/extrudr/TPU/flex_hard_cf_tpu/filament.json /min_fan_speed = 0 ❌ no proof was found
data/extrudr/TPU/flex_hard_tpu/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/TPU/flex_hard_tpu/filament.json /max_fan_speed = 30 ❌ no proof was found
data/extrudr/TPU/flex_hard_tpu/filament.json /max_volumetric_speed = 4.6 ❌ no proof was found
data/extrudr/TPU/flex_hard_tpu/filament.json /min_fan_speed = 0 ❌ no proof was found
data/extrudr/TPU/flex_medium_tpu/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/TPU/flex_medium_tpu/filament.json /max_fan_speed = 30 ❌ no proof was found
data/extrudr/TPU/flex_medium_tpu/filament.json /max_volumetric_speed = 3.2 ❌ no proof was found
data/extrudr/TPU/flex_medium_tpu/filament.json /min_fan_speed = 0 ❌ no proof was found
data/extrudr/TPU/flex_semisoft_tpu/filament.json /enclosure = "not_needed" ❌ no proof was found
data/extrudr/TPU/flex_semisoft_tpu/filament.json /max_fan_speed = 30 ❌ no proof was found
data/extrudr/TPU/flex_semisoft_tpu/filament.json /max_volumetric_speed = 2.8 ❌ no proof was found
data/extrudr/TPU/flex_semisoft_tpu/filament.json /min_fan_speed = 0 ❌ no proof was found

Checks

No issues found by the automated checks.

AI review

Adds fan speed, max volumetric speed and enclosure fields to 20 extrudr filaments, with no changes to existing values. For the eight filaments whose English datasheet text I could read (ABS, ASA, ASA GF, PA12, PA12 CF, PC-PBT, PCTG, PETG), every new value I checked matches the datasheet, and the existing nozzle, bed and density values match too. No problems found in what I checked, so it looks ready to merge.

Other findings

  • 🔵 data/extrudr/PCTG/pctg/filament.json /enclosure: The PCTG datasheet says 'Enclosed Space for larger components', the same wording as PETG, so leaving enclosure unset is reasonable. (unverified: AI opinion)
  • 🔵 data/extrudr/PETG/petg/filament.json /enclosure: The PETG datasheet says 'Enclosed Space for larger components', so leaving enclosure unset is a reasonable call. If you want the field filled, the sheet doesn't support 'required' or 'not_needed' outright. (unverified: AI opinion)

claude-haiku-5-5 · $0.03 · reviewed 645e241

Auto-merge

The Auto-merge check decides, not this comment. A PR auto-merges after an hour (add the hold label to stop it) only if every changed value is proven above, nothing contradicts the brand, the brand isn't claimed, no sustainability data is touched and every check is green. Anything else waits for a maintainer.

Checks ran on 645e241 · workflow run

Maintainers: ✅ LGTM & merge

@coffandro

Copy link
Copy Markdown
Collaborator

LGTM! Thanks for the contribution, it'll be up on SP and the dataset at about 00:00 Danish time.
Also sorry for the "radio chatter", we're working out the kinks on a new system :D

@coffandro
coffandro merged commit 2749279 into OpenFilamentCollective:main Oct 31, 2026
12 checks passed
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

Successfully merging this pull request may close these issues.

2 participants