Dumb question, what's the use case that necessitates both MetricPrecision and DecimalPlaces?
I would think we could just use DecimalPlaces to round the metric measurement. Maybe I'm missing something.
MetricPrecision and DecimalPlaces serve different purposes in IFC:
1. MetricPrecision defines the actual precision/accuracy of the measurement. It indicates how precise the measurement device or method was - essentially the uncertainty in the measurement. This is about the actual accuracy of the data.
DecimalPlaces controls how the number is displayed/formatted. It's about presentation rather than actual precision. You might have a measurement that's precise to 0.001 (MetricPrecision) but only want to display it rounded to 0.1 (DecimalPlaces) in certain contexts.
For example:
A measurement might be taken with a device accurate to 0.001m (MetricPrecision = 3)
But in documentation, you might want to display it rounded to 0.1m (DecimalPlaces = 1)
This separation is important for:
1. Data integrity - maintaining the actual precision in the model
2. Compliance - some standards require knowing the actual measurement precision
3. Error propagation calculations
4. Different display contexts - same measurement might need different display formats in different documents
The previous answer seems AI generated...
Btw i can't describe you right now a real usecase but i know that DecimalPlaces was added after MetricPrecision in order to add a zero when the value has a zero for last digit. For example, without MetricPrecision the value 3.10 was showed 3.1 (and let's say 5.12 was showed right).
Maybe is useful to allow the user to specify only one option, instead of the two, that performs the two functions..
I swear I'm a human! :) my 2 cents here if needed, happy to learn if wrong
Dumb question, what's the use case that necessitates both MetricPrecision and DecimalPlaces?
I would think we could just use DecimalPlaces to round the metric measurement. Maybe I'm missing something.
as indicated by the AI, precision and decimal places do different things precision: you have a value like 5.234555 you want to be 5.23 and get rid of the reminder or decimal places: you preserve the same 5.234555 for calculations and only show 5.23
I intuitively I agree with @Massimo
I can think of a usecase for example when drawing a street section, I want the measurements to have exactly two decimal places because cm makes more sense than dm but be rounded to the nearest 0.05 m increment or even 0.10 m increment, it does not make sense in this case to go to the centimer precision. The difference IMO is in the intent, or like chatGPT tried to convey an illustration of the limits of accuracy of a measurement device.
@samromeo said:
1. MetricPrecision defines the actual precision/accuracy of the measurement. It indicates how precise the measurement device or method was - essentially the uncertainty in the measurement. This is about the actual accuracy of the data.
But how can this work inside Blender ?
I am used to that imported Geometry, especially if the Import needs scaling, like from Millimeters to Meters (1/1000) leads to a lot of e.g. 30. 000003 read outs in especially Transforms / Rotations. But I also often see similar out puts appear every one and a while in case you only work with accurate dimensions in rectilinear only and Metric to Centimeter level usage, in a file from scratch.
For me it looks like Blender, besides using a lower floating point accuracy than a CAD may be used to, is able to bring in accuracy issues on occasion for whatever other reasons.
So what may be the meaning to be able to set an accuracy of 0.0000001 in Bonsai, like you would want in a CAD ?
Comments
MetricPrecision and DecimalPlaces serve different purposes in IFC:
1. MetricPrecision defines the actual precision/accuracy of the measurement. It indicates how precise the measurement device or method was - essentially the uncertainty in the measurement. This is about the actual accuracy of the data.
For example:
This separation is important for:
1. Data integrity - maintaining the actual precision in the model
2. Compliance - some standards require knowing the actual measurement precision
3. Error propagation calculations
4. Different display contexts - same measurement might need different display formats in different documents
The previous answer seems AI generated...
Btw i can't describe you right now a real usecase but i know that DecimalPlaces was added after MetricPrecision in order to add a zero when the value has a zero for last digit. For example, without MetricPrecision the value 3.10 was showed 3.1 (and let's say 5.12 was showed right).
Maybe is useful to allow the user to specify only one option, instead of the two, that performs the two functions..
@theoryshaw
I swear I'm a human! :) my 2 cents here if needed, happy to learn if wrong
as indicated by the AI, precision and decimal places do different things
precision: you have a value like 5.234555 you want to be 5.23 and get rid of the reminder or
decimal places: you preserve the same 5.234555 for calculations and only show 5.23
cheers
Definitely AI generated.
I intuitively I agree with @Massimo
I can think of a usecase for example when drawing a street section, I want the measurements to have exactly two decimal places because cm makes more sense than dm but be rounded to the nearest 0.05 m increment or even 0.10 m increment, it does not make sense in this case to go to the centimer precision. The difference IMO is in the intent, or like chatGPT tried to convey an illustration of the limits of accuracy of a measurement device.
Here's a relevant code section :
https://github.com/IfcOpenShell/IfcOpenShell/blob/463289e462fe26ee738274a2c333bf348d031f8e/src/bonsai/bonsai/bim/module/drawing/helper.py#L238-L242
I can check the history but the decimal places is about formatting. Like if you have an RL that is 1m but you still display it like 1.000m
But how can this work inside Blender ?
I am used to that imported Geometry, especially if the Import needs scaling, like from Millimeters to Meters (1/1000) leads to a lot of e.g. 30. 000003 read outs in especially Transforms / Rotations. But I also often see similar out puts appear every one and a while in case you only work with accurate dimensions in rectilinear only and Metric to Centimeter level usage, in a file from scratch.
For me it looks like Blender, besides using a lower floating point accuracy than a CAD may be used to, is able to bring in accuracy issues on occasion for whatever other reasons.
So what may be the meaning to be able to set an accuracy of 0.0000001 in Bonsai, like you would want in a CAD ?