Operation Node Question

Hi All,

Just trying out some of the new features in Update 7.

I might be doing something wrong but I was trying out the operation node and working with a polygon from an array of points.

Then trying to just do some random operations. One question I have is with the order of operations.

So for example if I take the polygons into the Operation node and set it to IsPlanar then flatten all works, but if I flatten first then try to do a IsPlanar it fails?

This might be a bit clearer:

Maybe it is just a different approach to the same outcome.

Anyway just thought I would ask.

Thanks

Wayne

transaction 1 stateChange 'Add baseCS'
{
    gcModel
    {
        node User.Objects.baseCS Bentley.GC.NodeTypes.CoordinateSystem
        {
            Technique                 = 'AtDGNModelOrigin';
            DGNModelName              = 'Design Model';
            SymbolSize                = 1.0;
            GCModelPropertyDirection  = PropertyDirection.None;
            GraphLocation             = {42.667, 40.0};
        }
    }
}

transaction 2 stateChange 'Add point1'
{
    gcModel
    {
        node User.Objects.point1 Bentley.GC.NodeTypes.Point
        {
            Technique                 = 'ByCartesianCoordinates';
            CoordinateSystem          = baseCS;
            XTranslation              = Series(0,10000,1000);
            YTranslation              = Series(0,10000,2000);
            ZTranslation              = 0;
            Replication               = ReplicationOption.AllCombinations;
            GraphLocation             = {330.787, 26.142, 0.0, 156.43};
        }
    }
}

transaction 3 stateChange 'Add polygon2'
{
    gcModel
    {
        node User.Objects.polygon2 Bentley.GC.NodeTypes.Polygon
        {
            Technique                 = 'ByPointGrid';
            Points                    = point1;
            FacetOption               = FacetOption.Quads;
            PlaneIndex                = 1;
            UClosed                   = false;
            VClosed                   = false;
            GraphLocation             = {589.13, 88.774, 0.0, 117.37};
        }
    }
}

transaction 4 stateChange 'Add operation1, operation2, operation3, operation4'
{
    gcModel
    {
        node User.Objects.operation1 Bentley.GC.NodeTypes.Operation
        {
            Technique                 = 'Default';
            Subject                   = polygon2;
            OperatorKey               = 'CurveGeometry.IsPlanar';
            GraphLocation             = {868.269, 219.342, 174.0, 125.83};
        }
        node User.Objects.operation3 Bentley.GC.NodeTypes.Operation
        {
            Technique                 = 'Default';
            Subject                   = polygon2.Flatten();
            OperatorKey               = 'object[].Flatten';
            GraphLocation             = {866.139, 63.525, 0.0, 125.83};
        }
        node User.Objects.operation4 Bentley.GC.NodeTypes.Operation
        {
            Technique                 = 'Default';
            Subject                   = operation3;
            OperatorKey               = 'CurveGeometry.IsPlanar';
            GraphLocation             = {1094.694, 50.858, 0.0, 138.608};
        }
        node User.Objects.operation2 Bentley.GC.NodeTypes.Operation
        {
            Technique                 = 'Default';
            Subject                   = operation1;
            OperatorKey               = 'object[].Flatten';
            GraphLocation             = {1102.002, 217.075, 0.0, 125.83};
        }
    }
}

transaction 5 stateChange 'Add value3'
{
    gcModel
    {
        node User.Objects.value3 Bentley.GC.NodeTypes.Value
        {
            Technique                 = 'Default';
            Value                     = polygon2.Flatten();
            GraphLocation             = {862.26, -82.913, 0.0, 123.83};
        }
    }
}

transaction 6 stateChange 'Add value4'
{
    gcModel
    {
        node User.Objects.value4 Bentley.GC.NodeTypes.Value
        {
            Technique                 = 'Default';
            Value                     = value3.Value.IsPlanar;
            GraphLocation             = {1097.022, -82.521, 0.0, 123.83};
        }
    }
}