Grasshopper

algorithmic modeling for Rhino

A minor update to the remeshing component (read about the earlier release here)

This adds the option to also scale the triangle size by distance from the boundaries:

download this new version here:

MeshMachine.gha

(replaces the previous version, no need to change any of the other files)

The 2 new inputs are BoundaryScale and BoundaryDistance

If BoundaryScale is set to 1 (the default) then it has no effect and everything else works as before.

If it is set to (for example) 0.2, then the mesh edges along the boundaries will have a target length of 0.2 multiplied by the Length input value.

The BoundaryDistance input controls the size of the transition zone from this reduced boundary edge length to the standard edge length. For example, in the image below, on the left the BoundaryDistance is 4.0, and on the right 10.0

and here's an example of a circle packing with boundary gradient (generated by using the CPMesh component from Kangaroo on the output of MeshMachine):

Views: 56172

Comment

You need to be a member of Grasshopper to add comments!

Join Grasshopper

Comment by Ben on December 28, 2015 at 1:38pm

Hey Check out this project I worked on for school here

It was a quick semester project but the Meshmachine was defiantly a very helpful; intuitive and very fun. Kudos Daniel!

This was one of my first GH projects, any suggestions or pointers would be greatly appreciated.  

Comment by saraphineshps on May 3, 2015 at 10:09pm

Hi Daniel. Not sure if you'll see this message.

Is it possible that you can make the mesh machine features (scale triangle size by distance from boundary) in a 3D space?

Not really a 3D mesh (not possible), but a distribution of points that are densely distributed near the object surface and loosely distributed when away from the boundary, so it can be used for sphere packing or further processing. Thanks.

Comment by Bradley Bowers on January 31, 2015 at 5:24pm

. . . that explains why I have 2 Mesh Machine features

Comment by Daniel Piker on January 31, 2015 at 11:53am

Bradley - it looks like that error may be caused by not having the latest update of Rhino 5.

Anyway - the version of MeshMachine above is older than the one included with the latest Kangaroo

Comment by Bradley Bowers on January 30, 2015 at 8:52am

Hello, 

What should I do if I have a even more recent version of Kangaroo . . . ? 

This is the Error I receive: 1. Error (CS1705): Assembly 'GH_Kangaroo, Version=0.0.9.9, Culture=neutral, PublicKeyToken=null' uses 'RhinoCommon, Version=5.1.30000.13, Culture=neutral, PublicKeyToken=552281e97c755530' which has a higher version than referenced assembly 'RhinoCommon, Version=5.1.30000.12, Culture=neutral, PublicKeyToken=552281e97c755530'

Comment by Dominik Zausinger on July 2, 2014 at 5:48am

Hy Daniel,

I am having issues with getting MeshMachine to run.

I downloaded the previous files "plankton.gha", "Plankton.dll" and the new "meshmachine.gha", put it all in the gh libraries folder.

Then when starting grasshopper it gives me the following error message:

Object: MeshMachineComponent2 (level 1)
{
  Ein Aufrufziel hat einen Ausnahmefehler verursacht.
  TargetInvocationException
}

Object: MeshMachineComponent2 (level 2)
{
  Die Datei oder Assembly "Plankton, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
  FileNotFoundException
}

Object: MeshMachineComponent (level 1)
{
  Ein Aufrufziel hat einen Ausnahmefehler verursacht.
  TargetInvocationException
}

Object: MeshMachineComponent (level 2)
{
  Die Datei oder Assembly "Plankton, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
  FileNotFoundException
}
 Any ideas...?

Comment by Mathias Gmachl on June 17, 2014 at 8:05am

Thanks, I'll try that now.

Comment by Daniel Piker on June 17, 2014 at 7:55am

Duncan - When using the CurvatureAdaptivity with Adapt set to 1.0, the target edge length can theoretically drop as low as L/(3*π). If Adapt is set to 0.5 this lower limit would be halfway between that and L,

so (L+(L/(3*π)))/2

and so on

I guess I could make theoretically make this value an input parameter.

With all the different features and controls people are asking for though, I'm concerned that if I keeping on adding them to one component it makes it an unwieldy 50 input monster.

I think it will be better to make several components each geared towards particular usage. For this it would be helpful to hear from all of you about what you are using or want to use it for.

Comment by Daniel Piker on June 17, 2014 at 7:39am

Hi Mathias,

I can certainly add that in the next release. In the meantime it is possible though to achieve like this:

Comment by Mathias Gmachl on June 17, 2014 at 6:06am

Daniel, would you be able to also share a non-realtime Mesh Machine that runs through X amount of iterations, so it can be included in a Galapagos/Octopus type setup? Superdanke!!!

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service