DynamoWishlist
DynamoWishlist copied to clipboard
Improvement: Implement Lightweight geometry library
Dynamo version
1.2.1
Operating system
Win 10
Improvement Suggestion
Would it be possible to implement the equivalent of GC's Lightweight DGeometry in Dynamo? Firstly, I'll explain what it is: a basic library of geometry - in fact the Revit API Xyz object is effectively the same thing - which doesn't implement all of the overheads (associations) that are typical with top-level features. For example, a Circle can be created using a number of methods: Point, plane and radius. In this example a top level Cricle stores all of these elements as properties, and each of these properties stores their own properties and so forth. The 'data-tree' therefore becomes complex and the feature itself becomes 'heavy' (as it uses more memory).
Lightweight geometry is the opposite; all features depend on a single world coordinate system XYZ(0,0,0) and as a result all of the aforementioned overheads are minimised. In GC a lightweight DEllipse3d
has few creation methods, primarily vectors, points and sweep angles. These 'properties' reference the global coordinate system which therefore simplifies the data-tree hierarchy making it 'lightweight'. These features are geared towards advanced users working on projects with a large amount of data as they are not user-friendly and rely more on applied mathematics to operate.
In Dynamo I recently attempted to create a few 1000s points from an Excel spreadsheet and noticed it became unresponsive after about 20000 points were created. Using GC I got up to 100,000 using its Lightweight DGeometry library and it was still fully responsive. Implementing this type of functionality would make Dynamo far more versatile, particularly where large datasets or complex models are concerned.
This library could be a user-controlled feature, i.e. the same as T-splines, where the user has to turn it on, so as to not interfere with typical Dynamo usage by the vast majority of users.