idea-statica / ideastatica-public

MIT License
24 stars 8 forks source link

"Plate to plate" operation cuts are not recognized by Grasshopper components and "Deconstruct Cut" flattens data #518

Closed tbyrk closed 4 months ago

tbyrk commented 5 months ago

I'm using 24.0.1.1233 and 0.1.6.

I have three connections here that are fed into the Grasshopper components at the same time.

On the left is N3 with a "cut by work plane" and "End plate" operation. Middle is N4 with a "Plate to plate" operation. On the right is N5 with a "Plate to plate" operation.

PP - 1

This one is the "Plate to plate" operation.

PP - 2

In Grasshopper we see that only the "End plate" operation cut exists. "Plate to plate" operation cuts are missing. "Plate to plate" operation should create two cuts. One for each member.

PP - 3

These connections are going through the following pathway:

  1. Reference Connection
  2. Extract IOM Container
  3. Modify Open Model
  4. Deconstruct Open Model
PP - 4

Connections/SAF/script are attached.

Second issue is that there is some error with the "Deconstruct Cut" component although it does give me the "CM3 is cut by plate EP2" which is actually correct for connection N3. It also appears to force flatten data which means plate cut data trees are not properly generated which means it cannot be used for bulk connection geometry generation for Tekla.

PP - Connections.zip

nathanlukeIDEA commented 5 months ago

Hi @tbyrk,

You are correct. I am transferring this to the development team. I will get back to you.

Cheers Nathan

nathanlukeIDEA commented 4 months ago

@tbyrk, Can you please now try with the latest release? (24.0.2) We have added some additional cut outputs. It is getting flattened incidentally by a grasshopper. The component runs until it hits the null reference error.

tbyrk commented 4 months ago

Thanks! I managed to get all five cuts out of from "Deconstruct Connection Point" and successfully did the bulk cut for three connections in Tekla. Now the question is how to get the cut plane on the surface of the plate instead of on the centerline because right now the members and plates clash by half of the plate thickness. I'll try to somehow use the "Plate View" geometry and extract the surfaces from there.

image image image

Edit.

Managed to get around it by sorting out Tekla plates that cut Tekla members and Tekla members that are being cut by Tekla plates. Then used the Fitting component to match them together. Works for the three connections simultaneously as needed.

image image
tbyrk commented 4 months ago

I'm still having issues with the "Deconstruct Connected Member" cut planes data tree structure. I have three connections in the input. All other components understand that it means three branches of data but cut planes output gives each member a separate branch (two members per connection = six branches in this case).

For example for anything else the script understands that all connection 1 elements should be moved by (6000,0,7000), connection 2 elements by (0,0,5000) and connection 3 elements by (12000,0,5000). But since the cut plane output has a separate branch for each member then the connection 2 ID=1 element (third in the list) gets moved by connection 3 coordinates instead of connection 2 coordinates.

image image
nathanlukeIDEA commented 4 months ago

Hi @tbyrk, I have updated a new version that allows casting the point ref to a Rhino point. Regarding the cuts. This is more of an issue on the IOM data structure rather than a grasshopper issue. We will hopefully improve the way we are storing plane cuts in IOM - I don't want to go away from IOM for the time being. The problem is that a connected member can have multiple cuts (list) which causes appending of branches for each member. See attached and a script below. Regarding the planes for the member cuts. Plate View outputs the front and back planes already I added this to the script aswell. (PP - Script_nl.zip) image

nathanlukeIDEA commented 4 months ago

Closing issue.