Skip to content
Alessio Lombardi edited this page Oct 7, 2022 · 30 revisions

◀️ Previous read: The Adapter Actions

▶️ Next read: The CRUD methods



⚠️ Note ⚠️

Before reading this page, please check out:


This page explains how to develop what we call a Toolkit.




Contents




What is a Toolkit?

A Toolkit is a Visual Studio solution that can contain one or more of the following:

  • A BHoM_Adapter project, that allows to implement the connection with an external software.
  • A BHoM_Engine project, that should contain the Engine methods specific to your Toolkit.
  • A BHoM_oM project, that should contain any oM class (types) specific to your Toolkit.

In order to implement a new Toolkit, we prepared a Toolkit Template that does all the scaffolding for you: create an new Toolkit using the BHoM Toolkit Template.

Once you have created the Visual Studio solution using the template, you only need to implement the Adapter, and any Engine method and/or oM class that the Adapter should be using.

Let's get started!

Create a new software Toolkit using the BHoM Toolkit Template

Create a new Toolkit repository

Use the template repository to create a new repository. See the readme there.

Implement the oM

The oM should contain property-only classes that make the schema for your Toolkit. All functionality should be placed in the Engine. Functionality that is specific to a class should be defined in the Engine as an extension method.

See https://github.com/BHoM/documentation/wiki/BH.oM-%E2%80%90-Define-New-Objects and https://github.com/BHoM/documentation/wiki/BH.Engine-%E2%80%90-Create-New-Algorithms for more information.

Implement the Engine

The Engine should contain the functions applicable to the objects you've defined in the oM.

See https://github.com/BHoM/documentation/wiki/BH.Engine-%E2%80%90-Create-New-Algorithms for more information.

Implement the Adapter

See the dedicated page to Implementing an Adapter.

Clone this wiki locally