Skip to content

Added PoundPerSquareFoot and PoundPerThousandSquareFeet#1638

Open
fischero19 wants to merge 5 commits intoangularsen:masterfrom
fischero19:pound-per-1000-square-feet
Open

Added PoundPerSquareFoot and PoundPerThousandSquareFeet#1638
fischero19 wants to merge 5 commits intoangularsen:masterfrom
fischero19:pound-per-1000-square-feet

Conversation

@fischero19
Copy link
Copy Markdown

Standard for paper grammage/base weight in North America is lbs/MSF (pound per 1000 square feet) instead of g/m².
Conversion factor is standardized by TAPPI (free sample of TIP 0800-01 can be found here).

I also added lbs/ft² for completeness.

Copy link
Copy Markdown
Owner

@angularsen angularsen left a comment

Choose a reason for hiding this comment

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

Thanks, looks good, only minor change needed

Comment thread Common/UnitDefinitions/AreaDensity.json Outdated
Comment thread global.json Outdated
@fischero19 fischero19 force-pushed the pound-per-1000-square-feet branch from 7081941 to 6cc4911 Compare December 8, 2025 11:33
@fischero19 fischero19 requested a review from angularsen December 8, 2025 11:35
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 7, 2026

This PR is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@github-actions
Copy link
Copy Markdown
Contributor

This PR was automatically closed due to inactivity.

@github-actions github-actions Bot closed this Feb 14, 2026
@angularsen angularsen reopened this Feb 27, 2026
Copy link
Copy Markdown
Owner

@angularsen angularsen left a comment

Choose a reason for hiding this comment

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

Thanks for adding these — lbs/MSF is widely used in the North American paper industry and a good addition. A few fixes needed:

1. PluralName is identical to SingularName

Both units have the plural name set to the same value as the singular. Should be:

  • "PoundsPerSquareFoot" (not "PoundPerSquareFoot")
  • "PoundsPerThousandSquareFeet" (not "PoundPerThousandSquareFeet")

2. Use exact conversion factor for ft²

0.092903 is a rounded value. The exact value is 0.09290304 (since 1 ft = 0.3048 m exactly, 1 ft² = 0.3048² = 0.09290304 m²). Please update both conversion functions:

"FromUnitToBaseFunc": "{x} * 0.45359237 / 0.09290304",
"FromBaseToUnitFunc": "{x} / (0.45359237 / 0.09290304)",

and similarly for PoundPerThousandSquareFeet:

"FromUnitToBaseFunc": "{x} * (0.45359237 / 0.09290304) / 1000",
"FromBaseToUnitFunc": "{x} / (0.45359237 / 0.09290304) * 1000",

3. Minor: abbreviation convention

lbs is technically the plural abbreviation. The standard singular form is lb/ft² and lb/MSF. Not a blocker, but worth considering.

After fixing the JSON, please regenerate code with generate-code.bat and rebuild.

@github-actions
Copy link
Copy Markdown
Contributor

This PR is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@claude
Copy link
Copy Markdown

claude Bot commented May 2, 2026

Code Review

Adding PoundPerSquareFoot and PoundPerThousandSquareFeet to AreaDensity.

PoundPerSquareFoot (lb/ft²) is a widely-used area density unit in construction, engineering, and paper manufacturing. PoundPerThousandSquareFeet (lbs/MSF) is the North American standard for paper/substrate grammage, standardised by TAPPI. Both are reasonable additions.

Issues

1. Plural names are wrong
The JSON has the same value for SingularName and PluralName:

"SingularName": "PoundPerSquareFoot",
"PluralName": "PoundPerSquareFoot"

The plural should be PoundsPerSquareFoot and PoundsPerThousandSquareFeet (note the leading s). This affects generated property and method names (the existing KilogramPerSquareMeter quantity uses KilogramsPerSquareMeter as the plural).

2. Slightly imprecise foot² conversion constant
The conversion uses 0.092903 m² for one square foot. The exact value is 0.09290304 m² (= 0.3048²). The difference is ~4 × 10⁻⁸, which is within 1e-5 tolerance, but it's better practice to use the exact value. Compare with how Length defines the foot as exactly 0.3048 m.

3. Minor: asymmetric inverse formula
PoundPerSquareFoot:

  • FromUnitToBaseFunc: {x} * 0.45359237 / 0.092903
  • FromBaseToUnitFunc: {x} / (0.45359237 / 0.092903)

The inverse wraps in parentheses which is correct, but a style nit: use {x} * (0.092903 / 0.45359237) to match the convention of other units (multiply in both directions, just swap numerator/denominator).

4. PoundPerThousandSquareFeet — single abbreviation
Only lbs/MSF is listed. Many North American paper weight specs also write it as lb/1000ft². Optionally adding that as a secondary abbreviation would improve parsing coverage, but not required.

Summary

The units are well-justified and widely used. Please fix the plural names and the conversion constant, then this should be good to go.

@fischero19 fischero19 force-pushed the pound-per-1000-square-feet branch from e35efeb to d5d3989 Compare May 4, 2026 06:25
@fischero19 fischero19 requested a review from angularsen May 4, 2026 06:40
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