algorithmic modeling for Rhino


SPM Vector Components

SPM Vector Components is a collection of tools for integrating and manipulating vector fields. 

Open source and MIT Licensed.


Written by Daniel Hambleton and Chris Walsh.

Location: Toronto, Canada
Members: 216
Latest Activity: Sep 30, 2017

Discussion Forum

Conjugate curve network / Conjugate direction fields 5 Replies

Hello,lately I have been investigating on conjugate curve networks and I was surprised to find so little information on it in this forum. The little bit I found was regarding…Continue

Tags: developable strip, PQ mesh, Conjugate direction fields, Conjugate curve network

Started by Jesus Galvez. Last reply by Daniel Piker May 4, 2013.

Dynamic field of points 4 Replies

Hi all, I've been doing a uni project involving points and fields of influence. Basically what I've been trying to achieve is a series of points (A) that have a field of influence on a series of…Continue

Started by Amar. Last reply by Amar May 14, 2012.

Object Collision

Hey Daniel:I am really enjoying SPM so far. I must admit that I am still in the exploratory/getting to know stage of the process. What interested me is your object collision script that you answered…Continue

Started by Monique Apr 22, 2012.

Liquids/Fluids/Reaction-Diffusion 2 Replies

Hello community,I'm looking for references to simulate fluid systems ins Grasshopper. More precisely I want to simulate the behavior of a substance (real or pseudo-physical) which collides with…Continue

Tags: reaction-diffusion, fluids, liquids

Started by Patrick Bedarf. Last reply by Patrick Bedarf Mar 6, 2012.

Comment Wall


You need to be a member of SPM Vector Components to add comments!

Comment by Daniel Hambleton on November 30, 2011 at 7:40am


Have you updated to the latest release?

Comment by hamia Aghaiemeybodi on November 30, 2011 at 7:35am


I did every step to instal the pplug in, but when im opening example files there are components which i dont have!!!! any idea? . . .


Comment by Chris Walsh on November 5, 2011 at 10:40pm

Hi Martin,


Two of the new components we added may be of interest to you, Surface Flow and Surface Attraction. Surface Attraction can also act as repulsion by specifying a negative attraction factor, hopefully that may assist you. Also the output of the integrator is now a tree of lists of points, you can use this to get a full snapshot of the integration and map out all the points simply. We believe this satisfies some of your previous requests, but any feedback is definitely welcome.

Comment by Martin Dembski on November 4, 2011 at 3:26pm

Hi Chris and Daniel,


up to now, I just took a small look inside the new release because I'm a little bit busy at the moment.

I like the new Surface Bounce Component. ;)

Thanks for the greate work. :)




Comment by Chris Walsh on November 4, 2011 at 12:17pm

This was a big release for us, with lots of new features -- 7 new dynamics, mobile dynamic emitters, inter-particle forces, better handling of acceleration and the addition of another form of integration (for a faster, less accurate sampling).


The settings component has been broken into a number of separate components, you simply do not use the settings components you're not interested in. The settings component previously weighed in at 17 options before this split, now almost all normal operation can be handled with the general 7.

Any feedback on the new design is very welcome. The settings component and the integrator itself have changed from previous version and will need to be recreated on any of your saved files. This was unavoidable but it should be simple to hook them back in.


Post any questions or feedback you may have in the discussion forum!


Comment by Daniel Hambleton on November 4, 2011 at 11:36am

This release features a major reworking of the component set. Yes, we managed to break all functionality during the refactoring; No, we couldn't figure out how to fix it for a quite while.....In the end, it all came together, though. The biggest change is that we combined the Static and Dynamic Integrators into one. This means you can toggle between the two modes on the fly. Beware, though, if you leave the timer enabled and switch to the static integration, you'll rebuild the solution at every time step (i.e. crash)!

We have also decided to release our code for the dynamics. This means that if you adhere to structure, you can build your own dynamics.

Other developments:

  • Acceleration component has been removed. By default, the simulation assumes all vectors are forces. This can be toggled in the settings if you simply want to integrate.
  • The settings component has been broken out into three components and a few menu options.
  • Inter-particle forces have been added. This is meant more as a prototype for future developments (flocking has been done many times before...more on this later). These dynamics are SLOW!
  • Dynamic Emitters! These are really fun...


More info here...

Comment by enrique soriano on November 4, 2011 at 3:19am

impressive results! 

With the surface featureit gives a high accurate result

Congratulations Daniel!

Comment by Martin Dembski on October 4, 2011 at 3:36pm

Hi Chris and Daniel,


cool, I'm looking forward to the next release.

The definition Daniel posted is not reale what I'm looking for, but I will have a look on it.

Thanks for your efforts.




Comment by Daniel Hambleton on October 4, 2011 at 8:31am

Hi Martin,


While this may not be exactly what you're looking for, the collision dynamic with a low surface restitution value can simulate some interesting behaviour...


Here are the files:



Comment by Chris Walsh on October 4, 2011 at 8:23am

Hi Martin,


We will be working on both of your feature requests for the next release for sure. We're hoping to release the next version in a few weeks, we will also try and include any further requests up to that time.


Members (213)






  • Add Photos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service