You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.rst
+26-14Lines changed: 26 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -103,28 +103,40 @@ The best way to send feedback is to file an issue on
103
103
* Explain in detail how it would work.
104
104
* Keep the scope as narrow as possible, to make it easier to implement.
105
105
106
-
A Note on Architecture for Backend Clients
107
-
------------------------------------------
106
+
Grasshopper components
107
+
----------------------
108
108
109
-
To maintain consistency from one backend client to another and to promote modularity,
110
-
we make use of several interfaces. Please reference :ref:`Note on Architecture <architecture>`
111
-
for more details on how to add or amend a backend client.
109
+
Grasshopper user objects need to be built using `COMPAS Github Action componentizer <https://github.com/compas-dev/compas-actions.ghpython_components>`_.
110
+
111
+
1. Apply your changes to the component source code (``src/compas_fab/ghpython/components``).
112
+
2. Rebuild them:
113
+
114
+
.. code-block:: bash
115
+
116
+
invoke build-ghuser-components <path_to_ghio.dll>
112
117
113
-
A Note on GhPython User Components
114
-
----------------------------------
118
+
3. Install them on Rhino/Grasshopper as usual:
115
119
116
-
The Grasshopper user objects are built with `COMPAS Github Action componentizer <https://github.com/compas-dev/compas-actions.ghpython_components>`_.
120
+
.. code-block:: bash
117
121
118
-
If you make changes to the files in ``src/compas_fab/ghpython/components``, the components need to be rebuilt.
119
-
This is done using the ``invoke`` task::
122
+
python -m compas_rhino.install
120
123
121
-
invoke build-ghuser-components <path_to_ghio.dll>
124
+
The install step does not copy them, but creates a symlink to the location in which they are built,
125
+
so after the first installation, it is usually not required to reinstall them, only rebuild them (unless a new component is added).
122
126
123
-
The components (``.ghuser`` files) are installed using the same command that installs COMPAS on Rhino::
127
+
.. note::
124
128
125
-
python -m compas_rhino.install
129
+
This step requires IronPython 2.7 to be available on the system, ie. `ipy` should be callable from the command line.
130
+
The path to the GH_IO.dll is platform-specific, on Mac it is under the ``GrasshopperPlugin.rhp`` of the Rhino app
131
+
and on Windows is in the ``Grasshopper`` folder within the Rhino folder in ``ProgramFiles``.
126
132
127
-
The installation does not copy them, but creates a symlink to the location in which they are built in this repo.
133
+
134
+
A Note on Architecture for Backend Clients
135
+
------------------------------------------
136
+
137
+
To maintain consistency from one backend client to another and to promote modularity,
138
+
we make use of several interfaces. Please reference :ref:`Note on Architecture <architecture>`
139
+
for more details on how to add or amend a backend client.
0 commit comments