@DanielPiker Is there any way to create an iteration delay of some goals against other goals in Kangaroo? In my case I want the solid/point collision to start at iteration 10. One solution for this is to create two sequential Kangaroo solvers, however, this introduces new bugs in my solution.
Hi @koramblyum
I think this will require scripting. Here’s an example of something similar:
Hi @wicket
Yes, I think making a goal dependent on the iteration count isn’t really possible without scripting.
Here’s the code from inside the bomb goal. Basically it knows the solver will call its calculate method every iteration, so it increments a counter each time this happens:
public class Bomb : GoalObject
{
int Count;
int DetonationTime;
double Strength;
public Bomb(Point3d Location, List<Point3d> Pts, int DetonationTime, double Strength)
…
which could be combined with
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Rhino.Geometry;
namespace KangarooSolver.Goals
{
public class SolidPoint : GoalObject
{
public double Strength;
public Mesh _m;
public bool Interior;
public SolidPoint(List<Point3d> V, Mesh M,bool interior, double k)
{
int L = V.Count;
PPos = V.ToArray();
Move = new Vector3d[L];
This file has been truncated. show original
Let me know if you need help with this
koramblyum
(Koramblyum)
September 1, 2023, 6:16pm
3
Yes, I would appreciate help with this. I just took a stab at it but my C# is almost non-existent.