The Global Archicad Community

Stay informed. Get help. Share your knowledge.

Topics related to the Grasshopper-Archicad Connection and the various tasks that can be achieved with it.

Moderators: Karl Ottenstein, LaszloNagy, ejrolon, Barry Kelly, gkmethy

By mawadhi
#306632
Hello,

I noticed in Grasshopper that when I disable inserted DESIGN components or set Synchronize to FALSE, ARCHICAD still displays the inserted components even when they are no longer displayed in Rhino. I tested this with WALL, WINDOW POINT, and OBJECT components. The only way to delete them in ARCHICAD is if I completely remove the Grasshopper components. It seems ARCHICAD is still using these Grasshopper components even when they are disabled.

I want anything that I disable or de-synhronize in Grasshopper to be deleted in ARCHICAD (just as in Rhino), without needing to delete Grasshopper components. Is this possible? I wonder if this is a bug.

Thanks!
User avatar
By LaszloNagy
#306681
I don't think this is a bug. If you disable a Grasshopper Component, it will not be displayed in Rhino, true. But that does not affect the ARCHICAD side.
The first (uppermost) Input of ARCHICAD Design Components in Grasshopper is the 'Synchronize" Input. Place a "Boolean Toggle" Component, set it to "False" and connect that to this Input. This way you can control whether changes in Grasshopper are sent to ARCHICAD or not. (You do not have to Break Connection to Grasshopper in ARCHICAD.) An example for the "Boolean Toggle" Component can be seen in this clip:



Then, in ARCHICAD, you can Unlock Grasshopper-created Elements and delete them.
The Elements will not be regenerated until you turn Synchronization ON again in Grasshopper for the ARCHICAD Design Component.
By JSN
#306794
True. I think this not a bug, but a feature, that your created components are just "paused" and still persist in Archicad until you turn Sync on again.

However, it is also true, that this can be very annoying and painful when you want to get rid of maaany generated elements and therefore I sent the following advice to the developers:

By the way it would be maybe also interesting to have a built in possibility to “reset” all your generated components in AC to get rid of them faster – right now afaik this can only be achieved if you overwrite your input with a null value – any concept thoughts on that?

So, the good news now for all who want to have such a "Reset" function is that you can built it on your own as a workaround in Grasshopper. You just need a Stream Filter with a Boolean Toggle which has two Inputs, the first one is you referenced Geometry and the second one is empty ... so you don't have to delete your GH Components to get rid of the generated elements because they will be "overwritten" with null and vanish automatically. It is not the most elegant solution but it works faster than manually deleting you stuff all the time.
User avatar
By LaszloNagy
#306826
Could you post a screenshot of a simple Grasshopper Network example to show how this Stream Filter would work?
By JSN
#306905
The principle is very simple, but it does the job - especially useful if you have created countless geometries.

True - AC Data is up to date

True_SendData.PNG
Send Data


False - AC Data will be removed

False_Reset.PNG
Reset
By mawadhi
#307414
JSN wrote:True. I think this not a bug, but a feature, that your created components are just "paused" and still persist in Archicad until you turn Sync on again.

However, it is also true, that this can be very annoying and painful when you want to get rid of maaany generated elements and therefore I sent the following advice to the developers:

By the way it would be maybe also interesting to have a built in possibility to “reset” all your generated components in AC to get rid of them faster – right now afaik this can only be achieved if you overwrite your input with a null value – any concept thoughts on that?

So, the good news now for all who want to have such a "Reset" function is that you can built it on your own as a workaround in Grasshopper. You just need a Stream Filter with a Boolean Toggle which has two Inputs, the first one is you referenced Geometry and the second one is empty ... so you don't have to delete your GH Components to get rid of the generated elements because they will be "overwritten" with null and vanish automatically. It is not the most elegant solution but it works faster than manually deleting you stuff all the time.

Thank you JSN! Your Stream Filter idea did exactly what I wanted.

Best regards.
By 0scar
#307421
I think the stream filter is a good one, JSN. Ultimately I think it would be great to have more control over the data that is loaded into AC from GH. So yes, the snyc pause is good as it allows to filter the snycing process more precisely other than breaking the connection all together (meaning that all the elements are 'frozen' to the last state). For certain use cases it is sensible to make objects permanent in AC, so that they are no longer altered by GH at all. No accidental deleting or modification, and yes no parametric change either (but sometimes it would be good to have just that). ('Baking' as in the GH -> Rhino pipeline) Also the 'locking' process of the Live-Connection is a bit buggy. Meaning that GH locks elements even though I have made them editable in AC, so that they turn up grey, and I have to recalculate the whole GH definition.
Maybe the optimizing the transfer of objects would make for a more seamless integration of the GH workflow into AC, what do you think?