Save geometry after transaction or run multiple transactions


Coming from Revit- Dynamo( Building Design) background, i am new to Bentley generative Components & exploring it currently. In revit dynamo, once we run a script & close dynamo , the geometry/process still is saved or present in model. we can run another script post that without worrying about the geometry or any element in revit being affected with respect to the task being automated .
when i try the same in generative components say create points from excel or place cell based on coordinates, only one transaction is available at a time , how can i save the placed geometry/cell or points? So that i can run another transaction or scripts do further automation later on as & when the team needs to modify anything.  i tried switching to modeling or aecosim from dropdown after i ran transaction , it did save geometry the next time i opened generative components, but it seems to crash most of the time. any help would be appreciated.

Parents Reply
  • if i add in new transaction say from another gct file or script, the cells from earlier transaction go off.

    This should be possible, using the various tools:

    Include File (.gct) Transaction

    Import Node

    Function Call Node

    Packager Node


    Which are you using?

    You can use the same file(the one used by the design team) again in GC or you can reference it in GC. We can further discuss a standardised workflow once we have more information about your project requirement.

    As Anik mentioned earlier there are various ways to incorporate GC objects into the general OBD .dgn models... so, it would be good to get the GC team to review. The old paradigmn was based on keeping the GC script and processing in separate models that are referenced or inserted as Cells in the general OBD models. This federated 'divide and conqure' approach leverages Mstn's very good Ref attachment functionality and has a lot of advantages... but will probably feel alien and clumsy to Dynamo users.

    GC users tend to use GC as a front-end form finding tool that generates a model that is handed off to the general team using OBD. In contrast, Dynamo seems to be very popular as a general visual programming tool that has in-depth access to the R*vit database... so more parallel / embeded working. I think that GC is also moving slowly in this direction...

    Let's take a common task that Dynamo would be used for: automated labeling of geometry inside a model. In GC, the GC generated text elements would typically be generated in a separate model. Using Mstn's Ref attach tools, the annotation would simply be 'Xref'd' in where / when needed. Multiple annotation models can be processed using the same .gct etc. The smart text elements would remain part of the GC graph, which prevents editing by Mstn/OBD tools. No need to get into a heavy centralised model.

    OTOH, Dynamo users would expect the smart text generated by GC to be inside the OBD model. This is possible, but currently, the resultant smart text elements would not be editable by the non-GC user.

    What happens when the smart text inside the model needs to be updated?

    The simple way around this would be use GC Export Node in combination with a Mstn Delete Element command function call..? The GC script would delete the existing smart text elements and add the new elements at the end of the script run?

    This way, the smart text would be editable by the general team. Moving text around as the non-GC users add more stuff is inevitable and there would be no need to manage the GC scripts etc in the dgn.

    Basically after i save the DGN say with some cells placed using the script/transaction. i then save the transaction( save current doc to transaction as GCT file option)

    Not sure, but you may have better luck saving as dgn?

    i don't want to rewind or continue the same transaction.

    Also, there is a tick box to always play the transactions...