Skip to content

3D Printing Canada: add Budget PLA and PETG temperatures from the vendor datasheets, correct PLA density and PETG tolerance - #801

Merged
coffandro merged 3 commits into
OpenFilamentCollective:mainfrom
csmarshall:data/3d_printing_canada-budget-tds
Oct 31, 2026
Merged

coffandro merged 3 commits into
OpenFilamentCollective:mainfrom
csmarshall:data/3d_printing_canada-budget-tds

Conversation

@csmarshall

Copy link
Copy Markdown
Contributor

Tracking csmarshall/ofd-to-spoolman#47.

Updates the two data/3d_printing_canada lines (Budget PLA, Budget PETG), one commit per line, from the vendor's own dated technical datasheets (TDS, Rev 1.0, 2026-10-16). It adds the missing nozzle and bed temperature ranges and a data_sheet_url to both lines, and corrects one value on each (PLA density, PETG diameter tolerance). 3dprintingcanada.com is a retailer that also owns the "3D Printing Canada" house brand, and the TDS PDFs are branded as such, so both are first-party. Each commit quotes its datasheet text and the undated product-page values that differ.

line file field old -> new source (date) page value not used
Budget PLA PLA/budget_pla density 1.24 -> 1.26; nozzle (unset) -> 190-230; bed (unset) -> 55-65; data_sheet_url added 3DPC_Budget_PLA_1.75mm_TDS.pdf, TDS-PLA-BUD-175 (2026-10-16) nozzle 190-220, bed 0-60
Budget PETG PETG/budget_petg diameter_tolerance 0.03 -> 0.05; nozzle (unset) -> 230-260; bed (unset) -> 70-90; data_sheet_url added 3DPC_Budget_PETG_1.75mm_TDS.pdf, TDS-PETG-BUD-175 (2026-10-16) nozzle 230-250 (bed 70-90 agrees), tolerance 0.03

Both datasheets are hosted on the vendor's own Shopify CDN (https://cdn.shopify.com/s/files/1/2719/6506/files/) and return HTTP 200. The PLA datasheet is linked from all 24 Budget PLA product pages. The PETG datasheet URL was located by the PLA file-name pattern; it is correctly branded but is not linked from the PETG product page that was checked. The old values, every datasheet quote and the datasheet revision line were checked against the pdftotext output before editing.

Left unchanged on purpose:

  • max_dry_temperature (PLA 50, PETG 65) and PLA diameter_tolerance 0.05 / PETG density 1.27: already match the datasheets.
  • empty_spool_weight: the vendor publishes no spool weight.
  • Colours, sizes, ean values and purchase links: out of scope for this PR (tracked in a follow-up issue).

uv run -m ofd validate passes before and after (324 warnings in both, none new).

Human-directed, AI-assisted: every value was checked against the vendor datasheet by a human reviewer before submission.

https://claude.ai/code/session_014fHhyroWe51HLFNXtKm6sv

…t density, add data sheet

Budget PLA (PLA/budget_pla): density 1.24 -> 1.26; min_print_temperature (unset) -> 190; max_print_temperature (unset) -> 230; min_bed_temperature (unset) -> 55; max_bed_temperature (unset) -> 65; data_sheet_url (unset) -> https://cdn.shopify.com/s/files/1/2719/6506/files/3DPC_Budget_PLA_1.75mm_TDS.pdf.

Source: the line's own datasheet https://cdn.shopify.com/s/files/1/2719/6506/files/3DPC_Budget_PLA_1.75mm_TDS.pdf (TDS-PLA-BUD-175, Rev 1.0, 2026-10-16). The datasheet says "Nozzle Temperature | 190 – 230 °C", "Bed Temperature | 55 – 65 °C (glue stick recommended)", "Density | 1.26 g/cm³ | ISO 1183".

Unchanged because they already match the datasheet: diameter_tolerance 0.05 ("Diameter Tolerance ± 0.05 mm") and max_dry_temperature 50 (the datasheet says "Drying 47 – 50 °C for 4 – 6 hours if moisture is suspected"). The datasheet is linked from every Budget PLA product page ("Download the Technical Data Sheet (PDF)").

The Budget PLA product pages (for example https://3dprintingcanada.com/products/latte-budget-pla-filament-1-75mm-1kg) are undated and say "Nozzle: typically 190–220°C" and "Bed: optional, typically 0–60°C". Those page values are not used: the dated, versioned, structured datasheet is preferred over undated page prose.

Claude-Session: https://claude.ai/code/session_014fHhyroWe51HLFNXtKm6sv
…ct diameter tolerance, add data sheet

Budget PETG (PETG/budget_petg): diameter_tolerance 0.03 -> 0.05; min_print_temperature (unset) -> 230; max_print_temperature (unset) -> 260; min_bed_temperature (unset) -> 70; max_bed_temperature (unset) -> 90; data_sheet_url (unset) -> https://cdn.shopify.com/s/files/1/2719/6506/files/3DPC_Budget_PETG_1.75mm_TDS.pdf.

Source: the line's own datasheet https://cdn.shopify.com/s/files/1/2719/6506/files/3DPC_Budget_PETG_1.75mm_TDS.pdf (TDS-PETG-BUD-175, Rev 1.0, 2026-10-16). The datasheet says "Nozzle Temperature | 230 – 260 °C", "Bed Temperature | 70 – 90 °C (glue stick recommended)", "Diameter Tolerance | ± 0.05 mm".

Unchanged because they already match the datasheet: density 1.27 ("Density 1.27 g/cm³ ISO 1183") and max_dry_temperature 65 (the datasheet says "Drying 60 – 65 °C for 4 – 8 hours if moisture is suspected"). This PETG datasheet URL was located by the Budget PLA datasheet file-name pattern (3DPC_Budget_PLA_1.75mm_TDS.pdf -> 3DPC_Budget_PETG_1.75mm_TDS.pdf); it returns HTTP 200, is branded "3D Printing Canada Budget PETG Filament" and sits on the vendor's own Shopify CDN, but it is not linked from the Budget PETG product page that was checked.

The pink Budget PETG product page (https://3dprintingcanada.com/products/pink-budget-petg-filament-with-spool-1-75mm-1kg) is undated and says "Nozzle Temperature: 230–250°C", "Heated Bed Temperature: 70–90°C" and "Filament Diameter: 1.75mm ±0.03mm" (the other 1 kg PETG pages give no numbers). The bed range agrees with the datasheet; the page nozzle maximum (250) and tolerance (±0.03, the previous OFD value) differ and are not used, because the dated, versioned datasheet for this very product is preferred over undated page prose.

Claude-Session: https://claude.ai/code/session_014fHhyroWe51HLFNXtKm6sv
@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Automated review

Covers 77aabd7.

Changed values: 0 of 14 proven

Value Source
data/3d_printing_canada/PETG/budget_petg/filament.json /data_sheet_url = "https://cdn.shopify.com/s/files/1/2719/6506/files/3DPC_Budget_PETG_1.75mm_TDS.pdf" ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PETG/budget_petg/filament.json /enclosure = "not_needed" ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PETG/budget_petg/filament.json /max_bed_temperature = 90 ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PETG/budget_petg/filament.json /max_print_temperature = 260 ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PETG/budget_petg/filament.json /min_bed_temperature = 70 ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PETG/budget_petg/filament.json /min_print_temperature = 230 ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PLA/budget_pla/filament.json /data_sheet_url = "https://cdn.shopify.com/s/files/1/2719/6506/files/3DPC_Budget_PLA_1.75mm_TDS.pdf" ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PLA/budget_pla/filament.json /enclosure = "not_needed" ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PLA/budget_pla/filament.json /max_bed_temperature = 65 ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PLA/budget_pla/filament.json /max_print_temperature = 230 ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PLA/budget_pla/filament.json /min_bed_temperature = 55 ❌ cdn.shopify.com is not the brand's own site
data/3d_printing_canada/PLA/budget_pla/filament.json /min_print_temperature = 190 ❌ cdn.shopify.com is not the brand's own site

2 changes (names, colours, new or removed entries, sustainability, density and similar) can't be proven by a script and need a maintainer.

Checks

No issues found by the automated checks.

AI review

Updates two existing 3D Printing Canada filament lines (Budget PLA, Budget PETG) with temperatures, data_sheet_url, enclosure, and a density and tolerance correction. The values match the vendor's TDS PDFs, which I read in full. One issue to fix before merge: the enclosure field is not defined in schemas/filament_schema.json, which sets additionalProperties false at the root, so the claim that validation passes needs checking.

Sources the bot couldn't read (a maintainer should check these by hand): https://cdn.shopify.com/s/files/1/2719/6506/files/ (HTTP 404; no archived copy)

Other findings

  • 🔵 data/3d_printing_canada/PLA/budget_pla/filament.json /dry_temperature: The PLA TDS gives drying as '47 – 50 °C for 4 – 6 hours', and the PETG TDS gives '60 – 65 °C for 4 – 8 hours'. Both are ranges, so the empty dry_temperature and dry_time fields need a single value chosen by a maintainer, or the schema needs to accept ranges. (unverified: AI opinion)

Inline on the diff: 3 findings.

claude-haiku-5-5 · $0.01 · reviewed 77aabd7

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 77aabd7 · workflow run

Maintainers: ✅ LGTM & merge

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review: see the summary comment.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review: see the summary comment.

"max_print_temperature": 230,
"min_bed_temperature": 55,
"max_bed_temperature": 65,
"enclosure": "not_needed",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 enclosure is not defined in schemas/filament_schema.json, and the root object sets additionalProperties to false, so this key should fail validation. No other entry in the repo uses it. Either add the field to the schema in this PR or drop the key from both files (the same applies to the PETG file). (unverified: AI opinion)

"max_print_temperature": 260,
"min_bed_temperature": 70,
"max_bed_temperature": 90,
"enclosure": "not_needed",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 Same as the PLA file: enclosure is not in the filament schema. Add it to the schema or remove it. (unverified: AI opinion)

"min_bed_temperature": 70,
"max_bed_temperature": 90,
"enclosure": "not_needed",
"data_sheet_url": "https://cdn.shopify.com/s/files/1/2719/6506/files/3DPC_Budget_PETG_1.75mm_TDS.pdf"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 The TDS PDF is reachable and branded for this line, which is enough. The PETG product page does not link it, though, so the URL was located by pattern. Confirm the file name against the vendor's PETG listing if you can. (unverified: AI opinion)

@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.

@coffandro
coffandro merged commit 5bd2f4d 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