Pancake 2.0 Release

Hy @gankeyu,

I would like to import a .obj model (containing materials) using the pancake importer. When I use the “import to document” I the materials are added, but when I use the “import from” node I can not read the attributes using Human or Elefront.

the model imported with “import to document” looks like this.

I will upload a newer version of Pancake later today or tomorrow to address your issue while fixing many bugs. Will notify you once I publish the new version.

I apologize I have been too busy with projects and hasn’t got the chance to update Pancake for quite a long time.

2 Likes

Imgur

you may use the latest 2.5 version on food4rhino.

Right-click the component and enable “Output Rhino attributes”.
Human’s component is directly supported. Some work needs to be done to support Elefront.

2 Likes

Hi @gankeyu

That was quick! Thanks a lot! It works.

Hi @Czaja Very interesting workflows! We have a similar typology of projects and now we are also struggling with exporting directly from Grasshopper to UE5 or Datasmith, having to export manually many times… especially when working on those urban scale projects filled with blocks. Have you had any success automating those exports?
Thanks!

Hi, a lot depends on how you structured your Rhino file. What I try to do is to separate unchangeable objects in the project (like existing buildings and other surroundings) and keep them in the separate Rhino file and use Worksessions. I would import surroundings by Datasmith and put it on a separate UE Level so I can toggle it on/off or lock, so it will not get into the way and make each export smaller.

Everything that changes often during the design stage is more tricky.
You always have to bake things before export.
I don’t know if you re-generate the whole project with one Bake or you successively Bake and add new geometries to the file?
Do you use Elefront for baking? You could benefit from Elefront’s BakeName to replace old baked objects or you could automatically export objects by Elefront to some external files, or select them by some key-value.
Are you familiar with Unreal’s Dataprep?

If you can show something more about your workflow or share a tiny bit of the file.it would make it easier for me to think about it,


On a side note, maybe you already know, that for some time now, there is an easy to set up Rhino-UE5 Direct Link and it’s working in Editor mode, not only Runtime. Right now it has some limitations but I was told, they might add Dataprep operations for the Live Link. With live-link Dataprep you could just Bake what you need and Dataprep should filter things out and prepare new objects for the scene.

2 Likes

Hi Jakub,

Thank you for your reply and apologies for the delayed response. I have been kinda “offline” on my paternity leave.

We use elefront extensively (in fact one of my fav plugins) but we currently don’t use Unreal really in the office. We have just done a couple of test projects but we are still building the capacity. We use Twinmotion instead. We have used Dataprep in those projects (it is indeed very powerful)

I am looking to create a seamless workflow with Unreal in the future that can benefit from some grasshopper capabilities. Still not too sure about the details but now I’m inclined to find a way around Speckle as we use Rhino-GH and Archicad as design workflow.

Thanks again for the reply and happy to chat more sometime!

This is a really useful plugin, it’s a shame I didn’t know about all its features earlier.
One thing that would be useful for the automatic refreshing of names under the cluster operations is to also check the clusters you put into the canvas. I saved a user-object in which I renamed the inputs (so they are not generic data/ list names), but when I insert it into the canvas, Pancake doesn’t refresh the names. I have to do this with its operator (which is already a godsend!).

Hey! I’ve doing a lot of testing and research on this, but I can’t get a DWG file exported with different geometry in different layers, am I missing something? All my attempts end up with the last branch of layer and geometry, no way to have different layers exported into the same file :confused:

For one same DWG file, you need to flatten geometry and attribute input. Export As with multiple branches are designed for exporting to multiple files. It’s also the reason why only the last branch is exported.

If the attribute input doesn’t match with the geometry input, data needs to be prepared by components like Duplicate Data Match from Elefront.

Thanks for the quick response! So, the conclusion is that it is not possible to export a multilayer file, at least if it has more than one geometry associated with every layer. I have found a workaround using elefront to bake it first (with the attributes following the tree structure) and then export those objects, but I’d love to be able to do it with Pancake at some point.

You can export a multi-layer file. Just put multiple geometry and attributes inside one branch. Let me give you an example later.

Bests,
Keyu Gan

I would appreciate the example, thanks! And what about multiple files with multiple layers each?

@gankeyu

Hi, I’m learning the Assoc part of your fantastic plugin.

I have a question.
Could you point the easier / shorter way to replace one value for one specific key?
In my example it’s a list of fruits with some attributes and I want to replace Bananas Value (greenyellow) for the key (Color).

I think my 2 solutions are unecessary long they take too much space in the definition, and too much time to wire up for such basic task. I could prepare the User Object for me but I avioid Clusters.

Assoc modification test.gh (17.2 KB)

Assoc modification test-modified.gh (14.9 KB)

For the first unordered solution, you may also sort the results.

1 Like

Thank you, it’s much better and more clear for me now.
Do you know if Wrap/Unwrap List into Atom List should work with Revit elements? I got errors when trying to Unwrap.

It should. Let me check.

It might be my fault. Here is how it looks on my end.
I managed to unwrap Atom List at the bottom, but I thought top part of the script should work too.

Assoc atom list.gh (16.7 KB)

Hi, @gankeyu , although I often use your plugin and it is useful for me, I have to admit that even when I think I understand how something works, after some time I lose this certainty…
This time I am facing something that seems like a simple problem, but I do not know if it is possible to achieve.

I have two Assocs of different lengths. In each, in a random place I can have the same Path (in our case “B”). In both Assocs I have a list of values. I would like to Merge these two Assocs in such a way that both lists of values ​​for B are combined into one.

In our case, after combining [1, 2, 3] and [4, 5, 6] it gives for B one list [1, 2, 3, 4, 5, 6].
Is it possible using your plugin? I would like to avoid large deconstructions and manual path assignments using native Grasshopper components.

assoc merge problem.gh (9.1 KB)

So you want other keys duplicated while B is combined?

assoc merge problem 2.gh (16.1 KB)