-
-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Validation precision issues with large objects #2227
Comments
Sounds awesome! Looking forward to seeing it!
We can! Here: fornjot/crates/fj-core/src/core.rs Lines 22 to 26 in fb6a21b
This configuration has existed since forever, but it has only recently been exposed through I'm going to close this issue, as I think this has been addressed. If you have suggestions for specific improvements (like better default values, or maybe automatic adjustment of the settings in some way), feel free to open another issue or pull request! (I don't know exactly when the next release, which will include the new API, will be out. I hope that I can get to it very soon, but there are a few other items on my list that I have to address first.) |
Ah perfect! That would explain why I didn't find it, as I've been using the release on crates.io assuming it would be just a smidge more stable. I'll update my scripting language to be able to configure the validation when that feature is ready. |
Good morning. I started implementing a custom scripting language built around Fornjot. I'll showcase it later when it's more complete.
Two of the key features of this scripting language are that it has type safety revolving around the dimensions of measurements and automatic unit conversion.
The following is an example of how the unit conversion can look. Note that the interpreter is currently configured to convert all inputs to Fornjot as millimeters (this is configurable).
This would result in Fornjot being fed something similar to this:
This results in the following validation error:
The statement
1999.9999999999993 != 2000.0
is true, so it makes sense we got this failure. I can probably just setup my scripting language to preset this as a warning rather than a hard error, especially for how unrealistic of a situation this is (imagine that big of a 3D printer). But I do think it would be bad to get engineers into the habit of ignoring warnings, so I think it's best to fix false positives.Could we possibly set an epsilon for comparisons in validation? We can default it to 0.0 and if the engineer is aware that they are making a massive unit conversion like this, they could set the epsilon to be reasonably large.
The text was updated successfully, but these errors were encountered: