AntFarm
AntFarm is a Rhino 3D v7 (Currently Windows Only) plugin written in C# using the Mircosofts .net framework (4.8). It permits the user to store select data of several types on a rhino object and in an in-memory SQL database. This is accomplished through a series of new Rhino commands that can also be accessed through a UI providging complete integration with the standard Rhino experience inlcuding save/open, import/export, copy/paste between files and full undo/redo integration. Additionally Antfarm provides an API and a plugin system to further enhance the core datamodel with domain specific tools and functions.
Currently in public open Beta the core datamodel and functions are considered to be feature complete, but we are still developing the tools as we push for our initial release and API with the current focus on usaiblity inhancements, data manipulation and analysis inhancements and core optimizations. While in beta all Antfarm tools will be available to the general public. We have not yet settled on final licensing and price terms.
CoreData Model features Include:
- Create Datasets & Atrribtues to add to Rhino Geometry Objects.
- Serialize all data to .3dm files.
- Copy and paste Rhino geometry objects and associated Antfarm data within and between Rhino files.
- Add/Remove Antfarm Data to/from Rhino Geometry Objects.
- Track Rhino geomety attributes such as area, location, volume and length for appropriate geometries.
- Internal SQL interpreter.
- Public API for futher Domain Specific tools and Inhancements.
- Antfarm Urban Data (GIS).
- Antfarm Grasshopper (Manipulate/Create Antfarm Data in Grasshopper).
- Many many more…
Roadmap Currently Includes:
- Core Datamodel bug fixes and optimizations.
- Optimize data creation and manipulation to ensure that massive datasets do not impact performance and viewport frames.
- UI & UX refinment and feature inhancements.
- Dataset tab and gridview for querying, grouping and analysis of Antfarm data in simple easy to accomplish ways.
- Data visualization tools in the AntFarm tabview and within the Rhino Viewport.
- Data conversion tools such as converting between datatypes (auto catagorize data as an example).
- Refine the integration to excel and other external data analyis tools to leverage existing tools and knowledge.
- Provide a simple Visual SQL Query Tool in Rhino and Grasshopper.
- Provide advanced data analysis, “Business Intelegence” & “Machine Learning” tools to the Grasshopper plugin.
- Provide a SQL runtime text interpretor for data exploration and manipulation for advanced users.
- Provide quality of ife and additional features based on user feedback.
Table of Contents
Installation
AntFarm and associated plugins are availabe in the Package Manager
Data Structure
AntFarm data is held in SQL tables and keyed to Rhino geometry and objects as grouped themes of data collections called “DataSets”. They are represented graphicaly in a familar excel like table view of columns(Attributes) and rows(Geometry Objects).
Data Object | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DataSet |
An AntFarm DataSet is represented as a table view and stored as an in-memory data table. AntFarm is developed using SQLite and as such has a full SQL backend. A DataSet can hold additional data specified in the Attributes. The data not only gets stored in the database but also keyed to referenced Rhino object where is serialzied and saved in the Rhino file. A DataSet must be of unique name and can have the following settings.
|
||||||||||||||||||
Attribute |
AntFarm DataSets can hold additional data in Attributes (DataSet columns).
|
||||||||||||||||||
Category |
AntFarm Category is a custom data type that can hold AntFarm Category Elements. Name - AntFarm Category names are not case sensitive and must be unique. |
||||||||||||||||||
Category Element |
An AntFarm Category Element is a value in an AntFarm Category. An AntFarm Category ELement can hold predefined AntFarm Category Element Properties.
|
||||||||||||||||||
Category Element Property |
An AntFarm Category Element Property can hold additional data on an AntFarm Category Element.
|
||||||||||||||||||
Property Type |
An AntFarm Category Element Property can hold additional data on an AntFarm Category Element.
|
||||||||||||||||||
Geometric |
An AntFarm specific data type that exposes geometrical data evaluated on the Rhino Object.
|
||||||||||||||||||
Colour |
An AntFarm specific data type to hold a colour value (serializable). A - Transparency value of type byte.R - Red value of type byte. G - Green value of type byte. B - Blue value of type byte. |
Rhino Commands
Any interaction with AntFarm related functionality is using Rhino commands. The provided UI is calling the same Rhino commands.
Command | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
General Commands | |||||||||
AntFarm | Opens the main AntFarm dockable panel. | ||||||||
AF_Settings | Opens the AntFarm settings dialog. | ||||||||
AF_SchemaExport | needs work. | ||||||||
AF_SchemaImport | needs work. | ||||||||
Commands related to DataSets. | |||||||||
AF_DataSetAddTo |
Adds Rhino objects to a DataSet. This allows the user to store additional data on a Rhino object.
|
||||||||
AF_DataSetChangeColor | Allows for changing the DataSet color. |
||||||||
AF_DataSetClose | Close a displayed DataSet (default: current selected DataSet). Removes DataSet display from tabcontrol. |
||||||||
AF_DataSetCloseAll | Close all displayed DataSets. Remove all DataSets from tabcontrol. |
||||||||
AF_DataSetCloseAllButThis | Close all displayed DataSets but the current selected. |
||||||||
AF_DataSetCSVExport | Exports the data of an AntFarm DataSet to csv file.
|
||||||||
AF_DataSetCSVImport | Imports data from a csv file to an AntFarm DataSet.
|
||||||||
AF_DataSetDelete | Delete a DataSet and its related data. Allows deleting of associated rhino objects.
|
||||||||
AF_DataSetNew | Creates a new DataSet in AntFarm with in-memory data element and SQLite table.
|
||||||||
AF_DataSetOpen | Opens an existing before closed dataset from the SQLite in-memory database and adds it to the tab control.
|
||||||||
AF_DataSetRemoveFrom | Removes a Rhino object from a DataSet.
|
||||||||
AF_DataSetRename | Rename an DataSet (default: current selected DataSet).
|
||||||||
Commands related to Attributes. | |||||||||
AF_AttributeAdd | Adds a new Attribute (Column) to the DataSet.
|
||||||||
AF_AttributeMove | Not supported. | ||||||||
AF_AttributeRename | Rename an existing Attribute.
|
||||||||
AF_AttributeRemove | Removes an Attribute from a DataSet and removes the associated data from the Rhino object.
|
||||||||
Commands related to Categories. | |||||||||
AF_Categories | Displays the Category window which provides a UI interface to add Categories, Category Elements, Category Element Properties and Property Types. |
||||||||
AF_CategoriesImport | Opens a file window dialog to import an AntFarmCategory (*.afc) file. |
||||||||
AF_CategoriesExport | Exports all existing Categories including Category Elements, Category Element Properties and Property Types.
|
||||||||
AF_CategoryDelete | Deletes a Category from AntFarm. Categories in use can not be deleted.
|
||||||||
AF_CategoryNew | Create a new Category in AntFarm.
|
||||||||
AF_CategoryRename | Rename a Category in AntFarm.
|
||||||||
Commands related to Category Elements. | |||||||||
AF_ElementAdd | Adds a new Category Elements to a Category.
|
||||||||
AF_ElementCopy | Copies a Category Element from one Category to another including all attached Category Element Properties.
|
||||||||
AF_ElementRemove | Removes a Category Element from a Category. Category Element in use will not be removed.
|
||||||||
AF_ElementRename | Rename a Category Element.
|
||||||||
Commands related to Category Element Properties. | |||||||||
AF_PropertyAdd | Adds a new Category Element Property to an exisiting Category Element.
|
||||||||
AF_PropertyRemove | Remove a Category Element Property from a Category Element.
|
||||||||
AF_PropertyRename | Rename a Category Element Property.
|
||||||||
AF_PropertyUpdateValue | Update the stored value in a Category Element Property.
|
||||||||
Commands related to Property Types. | |||||||||
AF_PropertyTypeDelete | Delete a Property Type.
|
||||||||
AF_PropertyTypeNew | Create a new Property Type.
|
||||||||
AF_PropertyTypeRename | Rename a Property Type.
|
API
Please refer to AntFarm API for further information.
Plugins
CopyRight
- Copyright 2020 © InCore Design.