Generated Node Type - AECOsim

Hi All,

I am currently creating some office typical panels we can use for testing façade designs. I have generated a façade panel we like with the functionality we would like for testing options etc.

I generated a new node type and selected the Polygon that the geomentry is based on and all looked good. (made that replicable) and then saved out the node.

the issue I am having is the node doesn't error but also doesn't produce any geometry as expected. It just doesn't appear to do anything. I select the node and there are no object selected so maybe I have something wrong. The only thing I can think of is a configuration error somewhere?

I have attached the dgn file where I created the façade.

GC_3PS_FT1.dgn

Thanks

Wayne

Parents
  • Hi All,

    just another update,

    I thought it might be with my façade panel so I created a simple solid based on an offset of a polygon and I am experiencing the same issue.

    attached are the base dgn files and some gnt files

    forgot to mention: Version 10.02.00.37 (update2 of AECOsim Connect)

    Thanks

    Wayne

    panel place.zip

  • Hi Wayne,

    Started looking at it and don't see at first glance what would be causing this problem.

    I'll continue tomorrow...

    Regards,

         Volker

       

  • Hi Wayne,

    Sorry for the long delay in my response. It took me a while to discover what happened. The fundamental problem seems to be that you are referencing the polygon's "VertexPoints" when constructing the Generated Node Type. However, the output property to use is "Vertices". "VertexPoints" is the pass-through output property of the technique input property "VertexPoints" to Polygon.ByVertices. The "Technique Inputs" output property "VertexPoints" does not exist on polygons that were created using other techniques, e.g. Polygon.ByPointGrid. Therefore, your GNT should work when using it on polygons that were created with the ByVertices technique, and only then. 

    The quickest way to rectify this problem is to open the entire script in the Editor and use Navigate > Replace to replace "VertexPoints" with "Vertices" only where "VertexPoints" appears on the right hand side of the property assignment. (Best to work in a copy of the script.)

    Another, minor point, is that your panel assumes a specific order of point1 through point4 for creation of polygon1 (which is the basis for your GNT). Other techniques (e.g. Polygon.ByPointGrid), generate the polygons' vertices in a different order. This may affect how the panel is generated, especially what's the top or bottom position, left/right, facing in or out. 

    There are two potential approaches: design the GNT so that it could be applied in any situation and sorts itself out to create the desired result; or design the GNT with the target application in mind and carefully test iteratively whether the assumptions about the target application hold true in the set up based on which the GNT is constructed. Of course, any type of mix between those two approaches may be appropriate given how much is known about the target application.

    HTH,

         Volker

       

    Answer Verified By: Wayne Dickerson 

  • Thanks Volker,

    I can now see what you found. Thank you for finding it.

    I guess the best approach for targeted application is to create the gnt bases of a polygon that is created in the same way as the you intend to place it. I was using a different approach to create the panel than I was when populating the model.

    Could I ask how you would approach generating a GNT that could be applied to any situation for a façade panel? Given I am going to be trying to replace polygons. On one the of the current projects we have ended up with about 3 or 4 different panels mainly due to the order of the points or orientation.

    Thanks
    Wayne

  • Hi Wayne,

    Several times I started writing a response to your question. This is a proverbial "can of worms" or "rabbit hole"...

    It depends on how much a user can safely assume about the conditions under which the panel GNT will be placed. In general, there is not much that one can safely assume about a polygon. In the worst case, it could be a degenerate or otherwise invalid polygon, with duplicate or collinear vertices, self-intersections, or other conditions not suitable for building design or construction. It can have three or more vertices. When it has more than three, it can be non-planar. It can also be convex, even to the extent that its centroid is not contained in its boundaries, and in the case of a non-planar polygon, its centroid is most likely not lying "on" the polygon. It is not known a priori about the orientation in which the vertices construct the polygon, whether it is facing "in" or "out" in relation to any enclosed volume, whether the first vertex on the polygon's list of vertices is at its top, or bottom, or whether the polygon is on the design file's XY-plane or somewhere else in space...

    My preferred approach of dealing with these uncertainties is by constructing the polygons in some way that eliminates as many of these uncertainties as possible. This distributes the complexity across the model rather than accumulating all of it in the GNT, and overall lowers the maximum level of scripting complexity required for the overall scheme. Often the "Placeholder" polygons that will be used for placement of the GNT are a given. Then, when constructing the polygon that will be the basis for the construction of the GNT, it should mirror the conditions of the placement polygons as closely and as flexibly as possible and avoid any implicit limitations that may not be warranted given the placement polygons, e.g. planarity, number of vertices, horizontal/vertical edges, etc. This applies analogously to any other placement devices that might be used for placement of a GNT.

    That brings us to the other end of the equation: nowadays, "façade" is also fraught with uncertainties. "Building envelope" is most likely a better term. The more creative freedom has been unleashed on the building's form, the more challenging it will be to design an envelope that meets both criteria, being constructible AND fulfilling the "envelope" requirements of protecting occupants from weather impact plus all other requirements including aesthetic ones --if we were to reach that far. Aesthetic clean details would for example prohibit use of goop to achieve the necessary weather proofing. Etc.

    So, for example one could compare vertices and eliminate duplicates within a tolerance, usually much smaller than any permissible construction tolerance. One might want to eliminate collinear vertices --unless they are intended to align with corners of adjacent polygons. A comparison of the polygon vertices' Z-values may establish clarity of top/bottom and help identify any horizontal edges as those edges that span between points with equal Z-values under consideration of the numeric imprecision of double numbers. Comparison of the (average) normal direction of the polygon to the building volume's centroid (or a point given by the intersection of a plane parallel to the XY-plane and through the polygon's centroid with the building's central axis) may establish in/out facing polygon orientation. The polygon's OutOfPlane value, if zero or close enough within some established tolerance, quickly establishes planarity for polygons with more than three vertices. For planar polygons there are various established techniques to determine concave/convex corners. Etc. All this "intelligence" and more could be built into a very versatile GNT.

    HTH,

         Volker

       

    Answer Verified By: Wayne Dickerson 

  • Hi Volker,

    Sorry for the late reply, I have been trying to put it into practice. I have taken the approach of generating a GNT in a given order and then manipulating the polygons to match that order. I finished watching all the current uploaded SIGs which has been great to work through the understanding of the point arrays and how to understand what a generated panel may do when applied to a building.

    I have one in progress so I will try and upload for everyone to tinker with.

    Thanks

    Wayne

Reply
  • Hi Volker,

    Sorry for the late reply, I have been trying to put it into practice. I have taken the approach of generating a GNT in a given order and then manipulating the polygons to match that order. I finished watching all the current uploaded SIGs which has been great to work through the understanding of the point arrays and how to understand what a generated panel may do when applied to a building.

    I have one in progress so I will try and upload for everyone to tinker with.

    Thanks

    Wayne

Children
No Data