EvoluteTools Lite for Rhino

 

Designing and optimising panel layouts made easy

 

EvoluteTools Lite is a free Rhino plugin allowing intuitive design of panelizations using multi-resolution mesh modeling and mesh *optimization. Meshes can be optimized for closeness to a reference surface, fairness (smoothness) of its polylines and several other goals. No strings attached: unlimited mesh size, no cost and no patents. When you run the plugin for the first time a registration window will appear asking for your email address, where you will automatically receive your license key.

*Warning: use it with caution, optimizing meshes can become addictive !

Features:
  • multi-resolution mesh modeling
  • global and local subdivision rules
  • specification of vertices as anchor/corner points
  • mesh editing tools
  • mesh optimization for:
    • closeness to reference surfaces
    • fairness
    • sphere packings
  • hybrid meshes (mixtures of triangles, quads, pentagons, hexagons, ...)
  • modeling and optimization of N-gon meshes (PolyMeshes)
  • analysis modes:
    • closeness to a reference object
    • planarity of panels
    • edge length distribution

Support Email: KS.YKHRF1Y@KLFDDHA@
Plug-in rating:
4.22222
Average: 4.2 (9 votes)
Downloads:
Title Release Notes
EvoluteTools Lite 2.2 (64&32bit)
2013-May-15
EvoluteTools Lite is a free Rhino plugin allowing intuitive design of panelizations using multi-resolution mesh modeling and mesh optimization. Rhino4 and Rhino5 @ 64 and 32 bit compatible release.  
4425 downloads
Version: 2.2
Language: English
EvoluteTools Primer
2012-Nov-20
Written by Kris Hammerberg, the Primer is intended to be the ultimate starting point for new users of EvoluteTools, as well as a reference for more experienced users.  
549 downloads
Version: 1.0
Language: English
EvoluteTools 2.1 Documentation
2012-Nov-20
EvoluteTools Documentation in PDF format  
4249 downloads
Version: 0.0.0.0
Language: English
Plug-In videos:
    See video
    
        
Homepage: Evolute

Comments

Mave996's picture

Many documents are use in an workplace. They variety from a letter to sale sheet, from an request to brochures and a lot of others. Almost all of them need to be correctly stored and stack.

http://www.emanprinting.com/folder-printing/Designer-File-Folders.php

Hi, sorry if this has already been discussed but I get an error message when i try to install the Evolute Lite plug in for Rhino 5....."Unable to Load Evolute ToolsForRhino.rhp plug-in: initialisation failed." I'm running the R5 90 day trial and I'm running it from the R5 plug in folder. Thanks!

EvoluteTools's picture

Is it Rhino5@64 bits or 32 bits ? Currently we only support 32 bits.

Same problems here...

EvoluteTools's picture

See above !

ah, i started the 32bit version. now it works :) thank you

its 64 bit

very good...

d.tonelli's picture

Hi, I have some problems using Evolute Tools Pro Scripting interface.
This is the THIRD script that doesn't work:

Sub Triangle_face_vertices_Coordinates()

Dim et, strmesh, i, hedge, face, arrPoints
Set et = Rhino.GetPlugInObject( "EvoluteTools for Rhino" )
strmesh = Rhino.GetObject( "Select a Triangular Mesh ", 32 )
If IsNull(strmesh) Then Exit Sub
i = 20
hedge = et.EmHalfedge (strmesh, i) 'unique halfedge handle
face = et.EmFace (hedge) 'unique face handle - la face dialoga solo con l'halfedge
Call et.EmDeleteFace (face)
arrPoints = et.EmGetFacePoints(face)
Call Rhino.Print ("Point_0-(x,y,z): (" &arrPoints(0)(0) &" . "&arrPoints(0)(1)&" . "&arrPoints(0)(2)&")")
Call Rhino.Print ("Point_1-(x,y,z): (" &arrPoints(1)(0) &" . "&arrPoints(1)(1)&" . "&arrPoints(1)(2)&")")
Call Rhino.Print ("Point_2-(x,y,z): (" &arrPoints(2)(0) &" . "&arrPoints(2)(1)&" . "&arrPoints(2)(2)&")")
End Sub

This script:
- takes a triangular mesh;
- should delete one face (which you identify at the very beginning by manually modifying the value of the i index in the script);
- should return the coordinates of the 3-D point of those face vertices.
Unfortunately:
- it returns an error for some i index values (e.g. 1,7,13..);
- it often deletes the same face even if you change the i index value;
- it nearly always returns the same 3-D point coordinates, even if the index (and we hope the face too) has changed.
What's the matter? Thanks.

Marko Tomicic's picture

Hi d.tonelli

In this case you don't need the halfedge. As far as I understand, you want to use the index "i" to get the mesh face with the same index.
I commented out the line where you find the halfedge and used "i" directly to find the desired face.
_____________________________________
face = et.EmFace (strmesh, i)
_____________________________________
I also switched those two lines...
_____________________________________
Call et.EmDeleteFace (face)
arrPoints = et.EmGetFacePoints(face)
>>>>
arrPoints = et.EmGetFacePoints(face)
Call et.EmDeleteFace (face)
_____________________________________
...so that we get our face points before we delete the actual face.
I hope that your problems are solved now.
If you have any more questions, please don't hesitate to post them.
Regards,
Marko
_____________________________________
Option Explicit
'Script written by Marko Tomicic
'Script copyrighted by Evolute GmbH
'Script version Tuesday, December 18, 2012 21:54:10

Call Triangle_face_vertices_Coordinates()
Sub Triangle_face_vertices_Coordinates()
Dim et, strmesh, i, hedge, face, arrPoints
Set et = Rhino.GetPlugInObject( "EvoluteTools for Rhino" )
strmesh = Rhino.GetObject( "Select a Triangular Mesh ", 32 )
If IsNull(strmesh) Then Exit Sub
i = 20

'hedge = et.EmHalfedge (strmesh, i) 'unique halfedge handle

' Take the face directly
face = et.EmFace (strmesh, i) 'unique face handle - la face dialoga solo con l'halfedge

' Find points, then delete face
arrPoints = et.EmGetFacePoints(face)
Call et.EmDeleteFace (face)

Call Rhino.Print ("Point_0-(x,y,z): (" &arrPoints(0)(0) &" . "&arrPoints(0)(1)&" . "&arrPoints(0)(2)&")")
Call Rhino.Print ("Point_1-(x,y,z): (" &arrPoints(1)(0) &" . "&arrPoints(1)(1)&" . "&arrPoints(1)(2)&")")
Call Rhino.Print ("Point_2-(x,y,z): (" &arrPoints(2)(0) &" . "&arrPoints(2)(1)&" . "&arrPoints(2)(2)&")")
End Sub

d.tonelli's picture

Yes Marko, you solved all my problems in a while...it's quite impressive...I thougth so much about the right answer..now I feel a bit stupid.. :-). So the moral is that I have to think even more about the algorithm!
Thank you Marko

Marko Tomicic's picture

I'm glad if i could help!

d.tonelli's picture

Hi, I have some problems using Evolute Tools Pro Scripting interface.
This is the SECOND script that doesn't work:

Sub Number_of_Double_Boundary_Faces()
Dim et, strmesh, nfaces, hes, arrFacceInterne(), i, j, a, b
Set et = Rhino.GetPlugInObject( "EvoluteTools for Rhino" )
strmesh = Rhino.GetObject( "Select a Triangular Mesh", 32 )
If IsNull(strmesh) Then Exit Sub
nfaces = et.EmNumberOfFaces( strmesh )
b = 0
For i = 0 To nfaces-1
a = 1
hes = et.EmGetFaceEdges( strmesh, i )
For j = 0 To 2
If et.EmIsBoundary( hes( j ) ) Then
a = 0
Exit For
End If
Next
If a = 1 Then
ReDim Preserve arrFacceInterne (b)
arrFacceInterne (b) = i
b = b+1
End If
Next
Call Rhino.Print("Number of (triangular) faces which doesn't hold 2 boundary edges: " &UBound(arrFacceInterne)-1)
End Sub

This script takes a triangular mesh and should return the number of faces (of that triangular mesh) which don't have 2 boundary edges, but it doesn't: it always return a wrong result. Why? Is the algorithm itself wrong? I don't think so. Thanks.

Marko Tomicic's picture

Hi d.tonelli,
This script started assuming that a=1. It then set a=0 every time it found a boundary edge in the current face:
_______________________________________
If et.EmIsBoundary( hes( j ) ) Then
a = 0
Exit For
_______________________________________
It then proceeded only if a=1 which meant that the current face has no boundary edges:
__________________________________________________________
If a = 1 Then
___________________________________________________________

So basically by adding one to b (b=b+1) the script counted all faces which had no boundary edges.
I made a few minor changes, so the script should work fine now.

It now starts with a=0.
When looping through a face's edges we add: a=a+1 every time when we hit on a boundary edge.
Now, if there is one boundary edge "a" will be one, if the face has two boundary edges then a=2. If there are no boundary edges "a" stays zero.

In the next step we check if a=1. If it is, we add one to "b". This way the value which is stored in b increases by one every time we find a face with only one boundary edge. In the end we just have to print out the value which is stored in "b".
I hope this helps,
Marko
_________________________________________________________________

Option Explicit
'Script written by Marko Tomicic
'Script copyrighted by Evolute GmbH
'Script version Tuesday, December 18, 2012 21:45:45

Call Number_of_Double_Boundary_Faces()
Sub Number_of_Double_Boundary_Faces()
Dim et, strmesh, nfaces, hes, arrFacceInterne(), i, j, a, b
Set et = Rhino.GetPlugInObject( "EvoluteTools for Rhino" )
strmesh = Rhino.GetObject( "Select a Triangular Mesh", 32 )
If IsNull(strmesh) Then Exit Sub
nfaces = et.EmNumberOfFaces( strmesh )
b = 0
' Loop through all faces
ReDim arrFacceInterne(-1)
For i = 0 To nfaces-1
a = 0
hes = et.EmGetFaceEdges( strmesh, i )
' Loop through face edges
For j = 0 To 2
If et.EmIsBoundary( hes( j ) ) Then
a = a+1
End If
Next
If a = 1 Then
' Don't need the following two lines unless you want to collect the faces' indices into an array
ReDim Preserve arrFacceInterne(Ubound(arrFacceInterne)+1)
arrFacceInterne(Ubound(arrFacceInterne)) = i
' Add 1 to the number of boundary faces whit one boundary edge
b = b+1
End If
Next
Call Rhino.Print("Number of (triangular) faces which doesn't hold 2 boundary edges: " & CStr (b))
End Sub

d.tonelli's picture

Hi, I have some problems using Evolute Tools Pro Scripting interface.
This is the FIRST script that doesn't work:

Sub DeleteFaces()
Dim et, strmesh, nfaces, i
Set et = Rhino.GetPlugInObject( "EvoluteTools for Rhino" )
strmesh = Rhino.GetObject( "Select the Mesh to Delete ", 32 )
nfaces = et.EmNumberOfFaces( strmesh )
For i=0 To nfaces-1
Call et.EmDeleteFace( strmesh, i )
Next
End Sub

This script takes a mesh and should delete all its faces, but it doesn't! Depending on the connectivity of the mesh, it deletes few or many faces, but never all. At the end the mesh is "still alive", there are still some faces left. What's the matter? Thanks

Marko Tomicic's picture

Hi d.tonelli,
It should work when you replace
Call et.EmDeleteFace( strmesh, i )
with
Call et.EmDeleteFace( strmesh, 0 )

The problem was that in each new loop the script deletes one mesh face, so the total number of faces changes.
If you start with a mesh which consists of 20 faces, after three loops the mesh will have only 17 faces left, and so on.
After the loop repeats ten times and deletes half of the mesh faces, the mesh consists of only 10 faces (0-9). The script continues deleting faces with indices 10 to 19 which do not exist anymore.
By replacing "i" with "0" (zero) you will always delete the face which is currently at the first position (0) and you can be sure to get them all.
Regards, Marko

I've just installed Rhino up to SR9 and yet its working properly in my system. I've not faced any kind of problem so far. Thanks

Ben Smith

EvoluteTools's picture

Excellent, enjoy !

Hi Evolute,
your plug-in looks really amazing but i gave my email address for the lite version and i still haven't recieved any activation code! Should i simply have to wait a little more?
Then how long does it last the license and is it renewable for free?
Thanks a lot,
Stefano

EvoluteTools's picture

Hi Stefano,
please check your spam/bulk folder, upon registration the license should be sent immediately. If you don't find it please send a private message with your email address so we can look it up in the license manager. The Lite version is completely free.

sin chak mign's picture

Hi,
i download the lit version sucessfully, however, when i hit the "et optimize" button, the mesh disappear.......
Here are the steps that i do,
1. build a 3d face (quadsurface), Loopcut into 2
2. subdivide two times, delete the parent, pointson to edit vertice
3. Subdivide two times again
3. weld ( 0.1)
4. Importance ( SurfaceCloseness=1, curve closeness=1, original closeness=0, FairnessSprings=0.1, fairness curvature=0.3, fairness curvaturevariation=0, ballpacking=0)
5, Click etoptimization, the mesh disappear
Any thing or steps wrong? do i hve to do "et set reference" at the very beginning? or is it a bug?

snabela's picture

Hi, when using fairness optimization (FairnessSprings, FairnessCurvature, FairnessCurvatureVariation), it is important to do the following:

1) set a reference surface, and/or
2) set reference curves, and/or
3) fix some vertices.

Otherwise fairness optimization will collapse the mesh to a single point, i.e. the mesh does not disappear, but concentrates on a single point.
Please let me know if this solves your problem.
Regards, Alex

sin chak mign's picture

oh thx, may i ask if "etsetreference" is limited to reference surface? how can i set reference curves in light version?

snabela's picture

You are right, in the Lite version etSetReference is limited to surfaces.
Regards, Alex

akche's picture

Can't make it work with rhino5 32 bit at 64 bit Win 7 OS... Rhino 5 crash with error report window to send it to McNeel...any help will be appreciated...

EvoluteTools's picture

Make sure you have the Microsoft update described in the help file (download link included). Also, since we don't have much information to work with, please sent the error report to McNeel and it will be forwarded to us for analysis. Sorry for the trouble.

I'm having a similar problem. When I try to set a Reference Srf, Rhino crashes. Not sure what Windows update is necessary - the link provided with the download refers to an XP forum which does not seem to apply to Win 7. For me, it does seem to be a Windows issue because the rhino crash report dialog box does not pop up after crash - just the windows warning that the program has stopped working. Running Rhino 5-32 bit (new 90-day eval version which just replaced beta) on a Win 7 64 bit machine, but I also have Rhino 5-64 bit (90 day eval) installed which is what I normally use.

snabela's picture

Hi Josh,
the problem you are experiencing is related to the meshing of the surface which takes place in the background when setting a surface as reference. This meshing is done according to document absolute tolerance settings, which might cause very dense meshes to be created, depending on the value of this tolerance compared to the surface size. Currently the plugin lacks a warning for this, i.e. Rhino memory consumption might eventually become too big. A future release will warn the user in case the tolerance is comparatively low.

Solution possibilities:
1) Increase the absolute tolerance value, or
2) Mesh the surface yourself (using _Mesh), and set the mesh as a reference instead of the surface.

I tries both options - setting the absolute tolerance to 0.1, and meshing the surface myself before setting it as the reference surface, but had the same crash in both instances - and again without triggering a rhino crash report, just a windows warning and program shut-down. The surface I am working with is not particularly large or complex either. Other thoughts / ideas about what might be causing the crash?

snabela's picture

Hi Josh, please try whether welding the mesh (using Rhino's command _weld) helps. Moreover it would be great if you could send the surface for debugging purposes to support@evolute.at

yannleo's picture

Hi, I'm little bit confused about the latest version for Rhino 5.0 @32bit. I tried to load the plug-in into a 32bit Rhino on my 64bit WIN7. It's not working at all. Do I really need to install this EvoluteTools to a 32bit windows system? Thanks!

EvoluteTools's picture

No, it should work on Rhino5@32bit on a 64bit OS install. What error message are you getting ?

mariblack's picture

Hello!
Does a trial version of EvoluteTools Pro exist ?
Thanks

edion86's picture

Hi there,

Command Optimize is not working for me. It does not change the geometry. Nothing at all. I'm running Rhino5 32bits in W7. Any thoughts?

edion86's picture

Nevermind! I found the mistake. You have to delete the parent. Did you mention that in the tutorial?

snabela's picture

Hi, you don't need to delete the parent. If the parent is still linked to the mesh you are optimizing, the parent will be optimized such that the child comes closer to the optimization goals. Maybe you had fixed all vertices of the parent?

hanthangtho73's picture

hi admin
can you help me install EvoluteTools Lite for Rhino?
thanks

EvoluteTools's picture

Hey, what seems to be the problem ? Are you getting a specific error ? What Rhino version are you using ? The help file provided with the plugin has installation instructions. Let us know what the trouble is.

EvoluteTools's picture

Dear All,
we are pleased to let you know that EvoluteTools runs under Rhino5@32 bits again ! 64 bit version in the works.

EvoluteTools's picture

A small note for EvoluteTools Lite users: your system time has to be up to date, if you set your date back for some reason, the license might become invalid, just update the system time and all should be OK.

EvoluteTools's picture

Nappy,
we will post a video of it soon. I just want to remind users that crease support is only available in the PRO version.

nappy123's picture

Dear all,

Does anyone have an example or seen an example of how evolute tools handles kinked/creases surfaces? I have yet to see an example of this anywhere...mostly just all smooth freeform.

Please feel free to see my profile pic to get a better indication of what I am referring to.

Many thanks!
Nappy

EvoluteTools's picture

Nappy,
here is a video that shows how the crease support works. Again - this is only available in the PRO version.
http://youtu.be/XtTG9vSEyww?hd=1

jutjub's picture

Hi, thank you for help with license issue.
I have a question about "ET Optimization Options Improtance".
I dont have four parameters that I saw on tutorial - coplanarity, planarity, conical and circular. I need them to make planarity optimization. Thank you in advance for help.

EvoluteTools's picture

The features you referred to are only available in the PRO version. The Lite feature list is just above the download button. If you are a student you could use the PRO version for free at your school if they become and Evolute.Link member, get them interested:
http://www.evolute.at/software/evolutetools-for-rhino/evolute-link.html

rafaelmar's picture

Hi,

I am unable to download the Evolute Lite plugin. Clicking on the download button always redirects to the main food4Rhino page. Could you please check the link? Thanks!

Rafael

EvoluteTools's picture

Hi Rafael,
thanks for letting us know. We will fix this. Meanwhile I'll send a DropBox link.

zechi's picture

Hi,

I'm having problems with the demo license after installation. I always get "Floating license is valid and has been refreshed. Sorry you don't have any valid licenses. For a detailed overview of your licenses please use etLicenseManager."

I used the license Manager and tried to validate the license but no luck, I also cannot use any of the evolute commands - I always get the dialog box where I'm supposed to enter my email to get the serial number.

EvoluteTools's picture

Hi Zechi,
first of all it is not a DEMO product :-) it is a lightweight version of our PRO plugin, and you can even use it commercially. It has no mesh size restrictions. Secondly - I'll send you an email for your email address so I can identify your license number. We'll sort this out.

Cheers,
Florin

Marko Tomicic's picture

Hi, can you please help me too? i have the same problem. the same message appears and i can't use any of the buttons... I am using RH4 SR9 Win7

Protected by AVG Wildcard SSL Certificates