IfcSverchok
IfcSverchok is a Sverchok plugin that allows you to create native IFC models alongside your parametric Sverchok geometry.
Packaged installation
IfcSverchok is packaged like a regular Blender add-on, so installation is the same as any other Blender add-on. You can download the package for installation at the Get BlenderBIM website.
Like all Blender add-ons, they can be installed using Edit > Preferences > Addons > Install > Choose Downloaded ZIP > Enable Add-on Checkbox. You can enable add-ons permanently by using Save User Settings from the Addons menu.
Before installing, you will also need to install the BlenderBIM Add-on and install Sverchok.
Nodes
List of nodes (nodes not listed here are not concidered ready for use). If you find bugs/unexpected behaviour in any of them, please open an issue or get in touch otherwise.
| Node name | Inputs | Outputs | Description |
|---|---|---|---|
| IFC Create Entity | - Names - Descriptions - IfcClass - Representations - Locations - Properties |
- Entities Ids | Create IFC Entity. Takes one or multiple inputs. If 'Representation(s)' is given, that determines number of output entities. Otherwise, 'Names' is used. |
| IFC Read Entity | - Entity Id | - Id - is_a - Other entity attributes (dynamic) |
Decompose an IfcEntity into its attributes. Takes one entity id as input, returns attribute values. |
| IFC BMesh to IFC Repr | - Context type - Context identifier - Target View - Blender Objects |
- Representations - Locations |
Blender mesh to IfcShapeRepresentation. Takes one or multiple geometries. Deconstructs joined geometries and creates a separate representation for each. |
| IFC Sverchok to IFC Repr | - Context type - Context identifier - Target View - Vertices - Edges - Faces |
- Representations | Sverchok geometry to IfcShapeRepresentation. Takes one or multiple nested lists of inputs. |
| IFC Create Blender Shape | - Entity Id(s) | - Blender Object(s) | Create Blender shape from IfcEntity Id. Takes one or multiple IfcEntity Ids. Creates shapes in scene and returns them in output socket. |
| IFC Add Spatial Element | - Names - IfcClass - Elements |
- Entity Id(s) | Add IfcElements to an IfcSpatialElement. Takes one or multiple nested lists of inputs. Input can also be a (list of) spacial elements to be aggregated. |
| IFC Write File | - path | Writes active Ifc model to path. N.B.! It's recommended to use the 'Write File' panel under the "IfcSverchok" tab instead. |
|
| IFC Class Picker | - IfcProduct (from drop-down) - IfcClass (from drop-down) |
- IfcClass | Pick an IfcClass from drop-down list. |
| IFC By Id | - Id | - Entities | Get IfcElement by step id. Takes one or multiple step ids. |
| IFC By Guid | - Guid | - Entities | Get IfcElement by guid. Takes one or multiple guids. |
| IFC By Type | - IfcProduct (from drop-down) - IfcClass (from drop-down) - Custom IfcClass |
- Entities - Entity Ids |
Get IFC element(s) in file by type. Pick an IfcProduct and an IfcClass or give a custom IfcClass. |
| IFC Add Pset | - Name - Properties - Element Ids |
- (Pset) Entities | Add a property set and corresponding properties, in a JSON key:value format, to IfcElements. |
| IFC Generate Guid | - Guid | Generate a unique GUID. | |
| IFC Get Property | - Entity Ids - Pset name - Prop name |
- Value | Get the value of a property of an IfcEntity. Can take multiple entity ids. |
| IFC Get Attribute | - Entity Ids - Attribute Name |
- Value | Get the value of an attribute of an IfcEntity. Can take multiple entities. |
IfcSverchok panel
IfcSverchok creates a "IfcSverchok" tab in the Nodes panel. It includes a "Re-run all nodes" button that creates a fresh IFC File and a "Write File" button. It's recommended to re-run all nodes before saving the file either through the panel or the "Write File" node.