CADBIMDeveloper / LMV-QL

Autodesk Platform Services (formerly Forge) viewer model query language and engine
https://www.npmjs.com/package/lmv-ql
MIT License
10 stars 2 forks source link

Units in filter query string #17

Open CADBIMDeveloper opened 1 year ago

CADBIMDeveloper commented 1 year ago

Would be nice to have an ability to provide units directly in the filter query, something like *.propery = 100 mm

Needs #12

Also relates to #2

Tasks:

CADBIMDeveloper commented 1 year ago

Developer note:

Millimeters mm mm² mm³

Centimeters cm cm² cm³

Meters m m² m³

Inches " in² in³

Feet ' ft² ft³

Feet and fractional inches 81' 5" - 414' 0" ² - 577' 2-3/4" ³

Feet and decimal inches 81' 5.2" - 413'² 141.1"² - 577'³ 407.61"³

Decimal Inches = Inches

Decimal Feet = Feet

Fractional inches 775-1/2" - 67108-1/2"² - 497345"³

Meters and centimeters 19 m 70.2 cm - 43 m² 2957.0 cm² - 8 m³ 150024.86 cm³

Points 55848.2 pt - 347890304.4 pt² - 185633038361.71 pt³

// 11' 2-5/16"
const feetsWithInchesWithFractionalPartRegex = /^(?<feets>[\d]+)'[\s]+(?<inch>[\d]+)-(?<fracinchintpart>[\d]+)\/(?<fracinchdenominator>[\d]+)"$/
// 11' 1/2"
const feetsWithFractionalInchesRegex = /^(?<feets>[\d]+)'[\s]+(?<fracinchintpart>[\d]+)\/(?<fracinchdenominator>[\d]+)"$/
// 11' 3"
const feetsWithInchesRegex = /^(?<feets>[\d]+)'[\s]+(?<inch>[\d]+)"$/
// 1"
const inchesOnlyRegex = /^(?<inch>[\d]+)"$/
// 11' or simple 11
const feetsOnlyRegex = /^(?<feets>[\d]+)('|)$/