algorithmic modeling for Rhino
Hi,
How can I correctly add Volume Goal in Kangaroo2 using C#?
I tried this function:
public IGoal volume(Mesh M){
double v = Rhino.Geometry.VolumeMassProperties.Compute(M).Volume;
return new Volume(M, v, 1.01);
}
error after this line in Runscript: One or more errors occurred. (line: 0)
GoalList.Add(volume(m)); // Mesh Volume Goal
Full C# script is attached below.
Thank you,
Petras
Tags:
Hello again Petras
Seems like you forgot to call AssignPIndex for the volume goal :)
IGoal volumeGoal = volume(m);
PS.AssignPIndex(volumeGoal, 0.01);
GoalList.Add(volumeGoal);
Hi Long Nguyen,
Thanks, it works.
But I would like to ask several questions about Kangaroo2:
1. When defining simple Goals like Springs, Anchors I can work with indexing:
GoalList.Add(new Spring(particle_index1, particle_index2, 1.1, 1));
But when working with more complicated goals I have to use PS.AssignPIndex :
PS.AssignPIndex(volumeGoal, 0.01);
GoalList.Add(volumeGoal);
It just how it works? One goal can use particle indexes (Anchors, Springs, etc.) others PS.AssignPIndex? Otherwise If I want to use particle indexes, I would need to make my own custom goal ?
2. I compared c# script with Kangaroo definition. The geometry in c# script moves in Z axis, the geometry in Kangaroo2 definition stays in the same positions and is inflated gradually.
How to make c# geometry stable?
I attached printscreen and definition.
Here's the recommended way to play with the Volume IGoal and K2 on meshes.
Notify if you want a full translation to C#
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by