Ever struggled with structuring a model that is composed of a variety of different geometries and attributes that somehow still belong together ? You usually end up with spaghetti code inside Grasshopper and go for a coffee break when you change an input parameter ?
Then it’s time to consider following a different modelling approach ! We want to share our best practices, acquired in 15 years of daily business and pioneering in defining parametric models with you and are excited about your approaches ! In a nutshell this is what you can expect from D2P Components:
- Manage complex building components
- Define your own component types
- Create instances using your own naming scheme
- Define properties through geometry
- Bake components to your Rhino model
- Build an entire component hierarchy
- Model parent-child and joint relations
There are two ways to install the plugin to your Rhino environment. Either by installing an existing release from either food4rhino or the package manager (user scenario) or by cloning this repository to your local machine, compiling it from scratch and making use of the debugging utilities (developer scenario).
You can install the plugin directly inside Rhino by the package server. Search for d2p-components
and install the latest version.
You can install the plugin via Food4Rhino which is linked to McNeel's public package server https://www.food4rhino.com/en/app/d2p-components
Please checkout the Getting Involved section and follow the instructions for more informations about how to get started
- Step 1 - D2P Components approach a different modelling style and workflow than you might be used to. They are based on specific concepts which are importatnt to understand before working with this plugin. In order to get the basic understanding of the terminology and the concepts behind the code checkout the D2PModellingGuideline
- Step 2 - Download the Example Files (WIP) and follow them step-by-step.
- Step 3 - Start with a small (modelling) project and try to implement the core concepts shown in the example files by yourself
- Whenever you open an existing, previously working GH Definition with D2P Components and find a GHComponent marked in "red" it's likely that the I/O parameter has changed from the last version.
This could be the message in the balloon :
1. Solution exception:GetData() can only be called on a parameter with access set to GH_ParamAccess.item
For example in Version 1.1.1 there was a fix for "StreamComponentsByType" where the input parameter changed from "list" to "item" which breaks the GHComponent as it's not upgrading automatically. In order to fix it just delete the deprecated component and replace it manually with the new version. We try to avoid introducing these kind of breaking changes though sometimes it's necessary. For future releases there will be potentially an upgrade assistant helping you to automate the migration.
- Whenever you have questions about the plugin, its usage or conceptual topics you can search in the Discussion forum of this repository. If you don't find an answer or the topic wasn't discussed yet you are welcome to start a new conversation in that forum :)
- If you want to ask something in private you can send an email with your request to [email protected]
In order to either get involved into the development of this project or just for the instructions of how to setup the development environment please follow our CONTRIBUTION (WIP) Guideline