Short for "perissodactyla" /pəˌrɪsoʊˈdæktɪlə/ – the zoological order Tapiridae reside in. It's an experimental Tapir utility.
Tapir provides a collection of tooling to assist the usage of the JSON API of Archicad.
Perisso is based on this fantastic work and provides a consolidated frontend for using tapir. This Python package aims to make it even easier to interact with and manipulate digital architectural model elements, by employing a fluent interface. This includes offering an efficient way to filter elements based on various criteria, and calling tapir functions those elements.
- Make sure you have the Tapir plugin for Archicad installed.
- Install
perisso
.
My recommendation: Always use uv. Use it for everything.
uv venv
uv pip install perisso
Alternatively, you just download the source files. Oldschool.
Warning
Perisso is under development. Please expect breaking changes between versions.
The simplest way is to just call perisso()
. This will select all elements by default. To limit the elements to the current selection in Archicad use the selection
parameter:
sel_elem = perisso(selection=True)
Here is a basic example of how to use perisso
:
from perisso import perisso, Filter, ElType
elements = perisso()
filtered_elements = elements.filterBy(Filter.ELEMENT_TYPE).equals(ElType.COLUMN).get()
print(filtered_elements)
Caution
The resulting element list is compatible with Tapir, but not with the native Archicad-Python connection.
For that you need to call the toNative()
function on the perisso collection. The result uses the classes of the AC-Py connection and can then be fed into it.
See the examples for more.
Note
If a filter does not apply the element concerned is silently removed (not included in the result, that is). Example: A Property is not used on it.
Please open an issue or submit a pull request for any enhancements or bug fixes. Contributions are welcome, but might not be accepted until perisso
reached a somewhat stable state.
Perisso is licensed under the MIT License.