eleFront Beta Update to 5.0.5

Hi everyone,
We’ve completed the next update to the eleFront v5 beta. I believe that many of the reported bugs have been resolved , and we’ve also added a bunch of new features. I am hopeful that this version is rather stable (famous last words), and will be the last beta version before a full release. While you should still be careful before putting this into production, we would be grateful for any testing and feedback.

You can find Version 5.0.5 as a pre-release in the Package Manager, for both R7 and the R8 WIP.

There are some major new features, and some that are still missing, which I will outline below.

New Features

  1. Pass-Through Components

As GH1 in the Rhino 8 WIP is now implementing many similar features to eleFront, we wanted to bring the design of the components a little bit closer to the way the native components will work, so we have implemented Pass Through components for Attributes, and for Layers.

As described, in the post I’ve linked above, you can use this to either create, modify, or deconstruct attributes, simply by choosing which parameters you have as inputs and outputs. If you want to condense the component into the most compact version, you can collapse the component through the context menu.

  1. Per-Object Attributes
    As you may be able to tell from the screenshot, you can now set things like Linetype, Material, Colour, on a per-object basis.

  2. Material Assignment
    You may also notice that there is a Material input, which is a much-requested feature, and one that I would especially appreciate to hear feedback. We are really only implementing the assignment of materials based on the name of the material - not dealing with the Materials directly. The Bake Settings component also includes now an option for how to handle deal with Materials that have the same name:

image

  1. Upgrader Prototype

You will notice that the Define Attributes, Deconstruct Attributes, and Modify Attributes components will be marked Obsolete. I’ve included a prototype Upgrader that should allow you to automatically upgrade these components to the new, Pass-Through version.

To access this, go to Solution > Upgrade Components, and follow the prompts. For the full release, we hope to implement this for upgrading (almost) all components from eleFront v4 as well, including the Data Description components for both eleFront v4 and AutoGraph. This will solve the nuisance some users have experienced where their scripts contain components from both eleFront and AutoGraph, which makes sharing scripts more annoying.

Fixed Bugs:

This is re-enabled, but not optimized, so use carefully.

And a bunch of others!

*Features not yet implemented

  • Baking with groups
  • Exporting to formats other than Rhino
  • Auto-populating of Value lists for User Values on the relevant components
  • More comprehensive auto-upgrader

NB: If you were previously using the Bake to File component, it will fail to deserialize in this new version. That is, it will turn red, and the inputs and outputs will be missing. This is due to some additional features that were added. This is generally bad practice, so I apologize, but that’s why we called it a Beta! You can simply replace the component with a fresh one and it should be smooth sailing.

9 Likes

Thank you, this is looking great.

One question: I’m missing the export objects component. I managed to export geometry to a Rhino file with the export generic component but couldn’t find out how to export to another format. I get this error message:

I tried with all options on and off but had no success yet.

Also, how do you specify the export scheme?

Yeah, that’s one of the last things we need to port over. Right now it only exports rhino…coming soon.

Ok this is extremely annoying @krahimzadeh. The reference block by name component doesn’t have the option to get “All” blocks therefore I can’t reference nested blocks. Can you guys do a quick patch on this one? it’s really important. My whole script relies on referencing all blocks at all levels.

This image is from the latest version of Elefront

While this image is from Elefront 4

Thank you.

Also another thing. The value list component Doesn’t show ALL the items in the list. At the end it just says more than 50 items.


I have a lot more blocks than just 50 items and the value list won’t even show it all. Tsk

Thanks also for improving the layer filter on the Reference by Layer component.

In my tests, it’s a difference between ~500ms for the Beta to 7ms compared to Elefront Legacy. Thanks for the update nonetheless!

Version 5.0.6 has been uploaded to the Package Manager for testing.

These feature have been added:

Other changes:

The option to Get Nested Blocks has been added to the component, and I’ve removed the cap on the Value List.

Thanks Keyan.

It seems some of the old components have been eliminated, this is good.

Regarding the export generic component I just tried to export a simple cube polysurface to a step file. I think I asked this before and never really got it to work as expected. When exporting to a step file with the scheme ‘AP242’ I need to navigate the mouse to the command line and click three times to successfully export the file.

When exporting a dxf with the scheme ‘2007 Solids’, everything runs automatically without the need to confirm anything in the command line.

:man_facepalming: Ok, I just realized I need to use the extension ‘stp’ instead of ‘step’ and the export runs by itself.

Unfortunately I could not figure out the correct inputs to export a Sketchup file without having to click into the command line multiple times. I tried all sorts of things for the scheme name but no success. I always need to confirm in the command line. Maybe this could be improved?

@krahimzadeh What scheme name needs to be set so the export runs by itself?

test_export.gh (11.1 KB)
test_polysurface.3dm (156.7 KB)

Hello, Keyan. The “reference block by name” is still buggy. When “get nested blocks” option is checked it seems to misorient certain blocks as shown below.

Hi, this was indeed an issue in previous releases but I haven’t been able to recreate it since I put in the fixes a version or two ago. Would you be able to send me this file perhaps (can do so privately) so that I can interrogate?

I have come across some issues related to blocks that have mirror operations in their transformation, where the preview is wrong but they bake in the correct place, which has to do with how Rhino and Grasshopper treat Transformations differently. I can’t tell if that’s what is happening here or not, so if you can send me the file (Rhino and GH both), that will help.

Surely, I’ll send a private message. Thank you so much, Keyan. Hope you guys fix all the bugs.

Version 5.0.7 is now on the package manager.

Fixed!

Also fixed - shouldn’t require any additional interaction. I also adapted the component to work with the “.step” extension.

Other upgrades:

  • More components included in the automatic upgrader, particularly the Data Description components from AutoGraph and the legacy eleFront version (v4).
  • Fixed errors when Referencing from external files in a different unit system.
  • Added back the ability for User Values to auto-populate Value Lists, where appropriate
  • Other minor bugs and improvements.
3 Likes

Thank you!

Maybe I’m doing something wrong but is supposed to be this way is that after exporting with the Elefront component, undo is impossible in Rhino?

Hi, Keyan. I’m wondering if it’s possible to extract an object’s material from it’s source layer. As of right now the Elefront attributes show the material source but the material itself is null. It would be quite good to be able to get the proper material of an object through it’s source layer.

Hi there, if the material source is set to Layer, then it should be accessible from the Layer component, like so:

The only caveat is that what is returned is the material name. EleFront has only been designed to work with the name of materials - as text / strings - not the definitions of materials themselves. So if you need to operate on the definition of a material, like changing its color or other settings, unfortunately eleFront isn’t going to be much help there.

Thank you for the guide, Keyan. Material name would be sufficient.

Hi , Keyan. I think I’ve found another bug or two. It seems the Insert Block in version 5 doesn’t work as shown in the uploaded pic. It works fine in Elefront 4.

Also, I noticed another which is when I tried to Get Block Info to get the name of one of my blocks named “Ceiling::Lobby::Extruded”, it failed to output it correctly and gave a wrong name -“Lobby::Extruded”. It seemed to cull the first word. I’m sorry I wasn’t able to get a picture of this. Anyway, I hope you guys are able to fix this.

Hi,
Sorry, I’m going to need your file and script to recreate this, unfortunately. In my testing, it works fine and I cannot recreate the issue.

Regarding the Get Block Info error, I took a look at the example you sent me previously to see if I could recreate the issue. There are two things happening:

  1. eleFront keeps track of when a block belongs to a worksessioned file. When this happens, the block definition has the parent file in its name:

image

So eleFront ignores anything before the ": "

I will change this to look for the “3dm” signature, but in the mean time, the reason it’s causing you problems is:

  1. I suspect you’ve got an extra space in your block name, since I can see that happening in the example file you sent me previously and that exhibits the same behavior: the name with the space after the colon loses the first name.

image

Like I said, I will change this so it only drops it off when there is a “3dm”, but I would also give your blocks a quick look and see if fixing the name solves it for you.

1 Like

Hi @martinsiegrist and @attheeast18 these issues have been fixed in the full release of eleFront v5, which was uploaded to the package manager today!

4 Likes