Skip to content

Feature/mod 223 implement geometry notations to mod dlm#7

Merged
Lukasfuh merged 7 commits intodevelopfrom
feature/mod-223-implement-geometry-notations-to-mod-dlm
Mar 4, 2026
Merged

Feature/mod 223 implement geometry notations to mod dlm#7
Lukasfuh merged 7 commits intodevelopfrom
feature/mod-223-implement-geometry-notations-to-mod-dlm

Conversation

@Lukasfuh
Copy link
Contributor

@Lukasfuh Lukasfuh commented Feb 28, 2026

Description

  1. Updated the BoundingBox definition. A Boundingbox is defined by 2 points. for any boundingbox in the mod platform we use local coordinates meaning the first point of the boundingbox is at 0,0,0
  2. Added DImensions to the DimensionalAttributeSchema with thickness, depth and radius.

NOTE: I was debating if we should add compatilbeDimensions to the productCategoryValues, but decided against it. The reason is that if we start doing this with other schemas such as material or fireResistance etc. the language becomes very prescriptive, and i think its better to keep it more descriptive, at least until its used more widely. @maveric1977 I would like your opionion on this. We could definetly add another line to productCategoryValues that would be compatibleDimensions if you prefer.

References

Based on this documentation: https://www.notion.so/Geometry-Notation-Documentation-3117d03e7b9b80a2821eea4fa2a1a127

Testing

Describe how this can be tested by reviewers. Be specific about anything not tested and reasons why. If this library has unit and/or integration testing, tests should be added for new functionality and existing tests should complete without errors.

Please include any manual steps for testing end-to-end or functionality not covered by unit/integration tests.

Also include details of the environment this PR was developed in (language/platform/browser version).

  • This change adds test coverage for new/changed/fixed functionality

Checklist

  • I have added documentation for new/changed functionality in this PR or in README.md
  • All active GitHub checks for tests, formatting, and security are passing
  • The correct base branch is being used, if not main

@linear
Copy link

linear bot commented Feb 28, 2026

@maveric1977
Copy link
Contributor

@Lukasfuh I agree with you—mod-dlm is a language designed specifically for describing a product, so let's stick to that purpose. I'm not entirely clear on what you mean by compatibleDimensions in productCategory, but generally, it's best to keep the dedicated parameters for single use. So, let's avoid including dimensions in productCategory.

@@ -1,12 +1,26 @@
import { z } from "zod";

// Local Bounding Box (element's own coordinate system)
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this always the local bounding box, or is it the Schema that we would use for all bounding box instances?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think mod-dlm only needs a local boundingbox and nothing else. Then we know every element described by mod-dlm will be at 0,0,0 and oriented on the construction plane. I dont think a world boundingbox would add any useful information

width: RangeSchema,
height: RangeSchema,
length: RangeSchema
length: RangeSchema,
Copy link
Contributor

Choose a reason for hiding this comment

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

Please add a description so that we can define what we mean by each DimensionalAttribute. Since we now have 6, it is no longer obvious what we mean by each.

@Lukasfuh
Copy link
Contributor Author

Lukasfuh commented Mar 2, 2026

@Lukasfuh I agree with you—mod-dlm is a language designed specifically for describing a product, so let's stick to that purpose. I'm not entirely clear on what you mean by compatibleDimensions in productCategory, but generally, it's best to keep the dedicated parameters for single use. So, let's avoid including dimensions in productCategory.

@maveric1977 agree with everything you say. Just to elaborate, in the notion geometry notations i describe which dimensions are compatibe for what building system. E.g. length, width depth for a beam. My first thought was to add this information to mod-dlm but as you mention and I also realised that would be too prescriptive. Thanks for your explanation

@Lukasfuh
Copy link
Contributor Author

Lukasfuh commented Mar 2, 2026

@maveric1977 one more question. I saw that in the previous comments of the boundingbox the units were specified as millimeters. Is that a decision that was made that interal units of mod-dlm would be in milimiters?

If so I would add it to the readme and also add comments to the dimensionalAttribtuesSchema about units

@maveric1977
Copy link
Contributor

@maveric1977 one more question. I saw that in the previous comments of the boundingbox the units were specified as millimeters. Is that a decision that was made that interal units of mod-dlm would be in milimiters?

If so I would add it to the readme and also add comments to the dimensionalAttribtuesSchema about units

This was a decision to make everything easier (machine-readable) by avoiding unit conversion at product comparison time and converting only at display time based on the user's locale and regional settings. Any additional description and api-doc to make everything clearer are always highly welcome.

@Lukasfuh Lukasfuh requested a review from maveric1977 March 2, 2026 09:48
@Lukasfuh Lukasfuh merged commit bd5f1d8 into develop Mar 4, 2026
1 check passed
@Lukasfuh Lukasfuh deleted the feature/mod-223-implement-geometry-notations-to-mod-dlm branch March 4, 2026 09:26
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