idea-statica / iom-examples

Examples of using IDEA StatiCa IOM API
MIT License
8 stars 4 forks source link

ConcreteBlock changes in 21.0.0.3277 #86

Closed jorgebslu closed 3 years ago

jorgebslu commented 3 years ago

Hi, I would like to ask you what has changed in concrete block definition in version 21.0.0.3277 respect to previous versions 20.1.5544.1 and 20.0.104.57553. In the following screenshots I compare the concrete block position of the same iom in these 3 versions, and in the latest version (21.0.0.3277) the side of the concrete block and anchor bolts seem to be changed from previous versions:

  1. In version 20.0.104.57553

image

  1. In version 20.1.5544.1

image

  1. In version 21.0.0.3277

image

I would also like to request you to improve IOM about the definition of the concrete block where the anchor bolt are embedded. Currently there is a property AnchorGrid.ConcreteBlockwith few properties that has "no relation" with ConnectionData.ConcreteBlockswhere concrete blocks have a comprehensive definition.

BTW, could you provide help about what is the difference between ConcreteBlockData.Origin and ConcreteBlockData.Center ?

image

I would like also to inform you that the OriginalModelId property is not fetched when I get the connection data from the current/active connection in Code Check Manager.

image

And also the name is lost.

Best regards Jorge

mpospisil commented 3 years ago

Anchors are related to the coordinate system of the baseplate not to the concrete block.

jorgebslu commented 3 years ago

Anchors are related to the coordinate system of the baseplate not to the concrete block.

Is that a change of version 21.0 respect to old versions (20.1 & 20.0)? AnchorGrid has its own local coordinate system (LCS), so ... shouldn't be taken into account to set the position of anchors ?

And concerning the concrete block itself and the other questions? Thanks Jorge

vojtech-chalupa commented 3 years ago

Hello, let me clarify this for you, sorry for the previous incomplete answer. 1) The reason for the change is that in version 21.0, the AnchorGrids and BoltGrids now have their own coordinate systems. When deciding the position of the concrete block, we take both coordinate systems (Plate and AnchorGrid) into account in the following manner: var dotNormals = WM.Vector3D.DotProduct(boltGridNormal, basePlateNormal); if (dotNormals > 0) { connectorGridData.PlateSide = PlateSideCode.UpperSide; } else { connectorGridData.PlateSide = PlateSideCode.LowerSide; } The best bet is to have them both in accordance with each other.

2) The whole ConcreteBlockData class is expendable for the purpose of import. It has been mostly used internally for the purpose of exporting the concrete block geometry itself (to .dwg for example). For your purpose, you only need to fill the AnchorGrid.ConcreteBlock data.

3) As for the missing properties, thank you for bringing that up, we'll look into it.

vojtech-chalupa commented 3 years ago

Closing this question, it is considered to be resolved. Feel free to reopen.