Testing Help - 3d Dimension References

Discussions about the development of the TechDraw workbench
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
User avatar
wandererfan
Veteran
Posts: 6267
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Testing Help - 3d Dimension References

Post by wandererfan »

Once again, I need your help, There is a version of FC here: https://github.com/WandererFan/FreeCAD/ ... References that addresses issue #7830. There are a lot of changes involved and I have certainly missed things.

Any testing feedback would be much appreciated.

- user facing change summary
- can make dimensions linked to 3d geometry by selecting the 3d geometry (similar to 2d case) instead of using LinkDimension function.
- you need to select the view as well as the 3d geometry when created a dimension
- you can still make dimensions linked to 2d geometry as before
- 3d references are still subject to TNP, but are much more stable than 2d references
- new dimension reference repair dialog to adjust 3d or 2d references
- LandmarkDimension no longer required for stable references
- a 3d point object is a valid dimension reference
- linear, radial and angular functions grouped in toolbar

On the technical side, maintainability of the dimension code should be improved.
- duplicate code in CommandCreateDims removed
- DrawViewDimension split into DrawViewDimension, DimensionGeometry, DimensionReferences and DimensionFormatter
- 3d and 2d validation shares code in DimensionValidators
ChemicalCoal
Posts: 24
Joined: Sun May 09, 2021 3:38 am

Re: Testing Help - 3d Dimension References

Post by ChemicalCoal »

This is great, even with the TNP this completely fixes the "multi body part" use case, where even moving bodies could destroy dimensions.

Using the dimension repair tool on a dimension between edge and center line has some odd behavior (Techdraw only, no 3D reference):

Clicking cancel outputs error:

Code: Select all

Unhandled Base::Exception caught in GUIApplication::notify.
The error message is: PropertyLinkSubList: invalid document object
And did fully crash on me once, but I couldn't reproduce it.

Clicking OK without fixing the dimension, breaks it.
Reselecting references and replacing them, then clicking ok is as expected, but still breaks next time the tool is used.

Image

The 3D angles act odd:
3D angular dimension is off (see photo), and 2D 3Point angle shows popup (Techdraw only, no 3D reference):

Code: Select all

Can not make 2d angle dimension from selection
Image

Slightly off topic, the 3D referenced dimensions for me default to MeasurementType:True instead of MeasurementType:Projected as expected, could just be some setting I've messed with though.

Image
Attachments
DimTest.FCStd
(29.86 KiB) Downloaded 28 times
User avatar
wandererfan
Veteran
Posts: 6267
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: Testing Help - 3d Dimension References

Post by wandererfan »

ChemicalCoal wrote: Sat Nov 26, 2022 10:42 pm
Terrific feedback, thank you! I've pushed a new version.

- edge edge 2d dim has zero length **** fixed
- edge edge 2d horizontal dim rejected *** fixed

- cancel fails *** fixed
- OK with no changes fails *** fixed

- Reselecting references and replacing them, then clicking ok is as expected, but still breaks next time the tool is used. ?????
*** this one is either fixed, or I can't follow directions.

- 3d Angle (2 edge)
*** getting the supplementary angle depending on the direction of the line segments
*** changed to take the smaller of angle & supplement

- 2d Angle (3 Point) pop up error *** fixed

- the 3D referenced dimensions for me default to MeasurementType:True instead of MeasurementType:Projected
*** 2d references => MeasurementType:Projected
*** 3d references => MeasurementType:True
*** is there a case for having a dimension with 3d references use the projected measurement instead of the
true measurement?
ChemicalCoal
Posts: 24
Joined: Sun May 09, 2021 3:38 am

Re: Testing Help - 3d Dimension References

Post by ChemicalCoal »

wandererfan wrote: Mon Nov 28, 2022 12:38 am Is there a case for having a dimension with 3d references use the projected measurement instead of the true measurement?
I've only ever seen true dimensions used on things with really funky geometry. Seems like if you want a true dimension you should need to explicitly set it, that way someone doesn't get caught off guard having true dimensions when they didn't realize it.

Example where this causes issues:
Image


Use case from ASME Y14.5:
Image
wandererfan wrote: Mon Nov 28, 2022 12:38 am - Reselecting references and replacing them, then clicking ok is as expected, but still breaks next time the tool is used. ?????
*** this one is either fixed, or I can't follow directions.
Seems fixed, couldn't reproduce it.
User avatar
wandererfan
Veteran
Posts: 6267
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: Testing Help - 3d Dimension References

Post by wandererfan »

ChemicalCoal wrote: Tue Nov 29, 2022 2:27 am I've only ever seen true dimensions used on things with really funky geometry. Seems like if you want a true dimension you should need to explicitly set it, that way someone doesn't get caught off guard having true dimensions when they didn't realize it.
So my detailed specification would be something like:
Dimensions are always created with MeasureType = Projected.

if reference geometry is 2d, and MeasureType is Projected, we use 2d geometry to calculate values.
if reference geometry is 2d, and MeasureType is True, this is a warning and value is garbage (likely zero).
if reference geometry is 3d, and MeasureType is Projected, we use projection of 3d reference geometry to calculate values.
if reference geometry is 3d, and MeasureType is True, we use actual 3d reference geometry to calculate values.
Post Reply