Björn Steinhagen b08ceb3f66 feat(revit): blocks to revit families (#1271)
* feat(revit): creates placeholder families (#1252)

* feat(revit): adds receive setting for instances as families

* feat(revit): adds cache for families

* feat(revit): adds group baker infra as poc

* fix(revit): cleans name

* feat(revit): first receive blocks to family instance with placeholder geometry

* refactor(revit): ships and uses family templates instead of searching for them

* §chore(revit): updates templates to not always be vertical and to be work plane based

* refactor(revit): work-plane-based instance transformations

* fix(revit): fixes placing family instance

* feat(revit): exclude definition geometry from atomic objects + use existing transform converter

* chore(revit): cleanups

* refactor(revit): uses pattern matching

* refactor(revit): pattern matching errors take two

* refactor(revit): use pattern matching third time lucky

* fix(revit): merge conflicts

* Revert "fix(revit): merge conflicts"

This reverts commit 5443db6cf5.

* fix(revit): reverting csharpier format mess

* feat(revit): adds RevitMeshBuilder

* feat(revit): converting meshes and solids to freeform elements (#1278)

* feat(revit): replaces placeholder geometry for free form element and direct shape creation

* fix(revit): correctly processes meshes and places geometry

* fix(revit): fixes nested blocks containing same child block instances#

* fix(revit): reference plane

* fix(revit): fucking transforms

* fix(revit): fixes borked transformations

* refactor: pattern matching

* chore: uncommited changes

* feat(revit): adds curve and point support to family environment (#1279)

* feat(revit): assign subcategories to family geometries from rhino layers (#1280)

* fix(revit): adds geometry healing to (try) get solids

* fix(revit): uses traversal context for coll name and subcategory assignment

* chore(revit): removes trailing whitespace

* chore(revit): trailing whitespaces

* §chore(revit): trailing whitespaces ps what happened to my csharpier

* feat(revit): handle material mappings in family environment (#1281)

* feat(revit): adds material handling for families

* chore: cleanup

* fix(revit): bubbles up nested materials (#1283)

* feat(revit): creates surfaces as freeform elements (#1284)

* feat(revit): preserves doc assigned material params on reload (#1285)

* feat(revit): adds support to receive scaled blocks without scale (#1286)

* chore(revit): code cleanup (#1288)

* chore(revit): blocks to revit families cleanup

* chore(revit): injects FamilyGeometryBaker

* Bjorn/cnx 3128 integration with rhino categorization tool (#1290)

* feat(rhino): map block definitions by uniformly updating all instance attributes

* feat(revit): adds category assignment

* fix(revit): avoid MAX_PATH exceptions

* fix(revit): adds fallback behaviour for ds that cannot get subcategory assignments and material name cleansing

* refactor(revit): convert static family utils to injectable services

* refactor(revit): align helper classes with sealed service pattern and DI

* refactor(revit): decouple unpacking and pre-bake logic in host object builder

* refactor(revit): replace RevitMeshBuilder with FreeformElementMeshToHostConverter

* fix(revit): DataObject with display value proxies shouldn't be families (#1292)
2026-02-24 15:30:03 +02:00
2025-10-16 18:29:20 +02:00
2024-07-04 11:56:34 +01:00
2024-07-04 11:56:34 +01:00
2024-07-04 12:29:17 +01:00
2024-07-09 09:50:47 +01:00
2024-07-22 17:15:04 +01:00
2024-08-13 08:03:18 +00:00
2025-11-10 13:52:43 +00:00


Speckle | Sharp | Connectors

Twitter Follow Community forum users website docs

Speckle is the first AEC data hub that connects with your favorite AEC tools. Speckle exists to overcome the challenges of working in a fragmented industry where communication, creative workflows, and the exchange of data are often hindered by siloed software and processes. It is here to make the industry better.

.NET Desktop UI, Connectors, and Converters

Codecov

Repo structure

This repo is the home of our next-generation Speckle .NET projects:

Other repos

Make sure to also check and these other Speckle next generation repositories:

Developing and Debugging

Developing

It is recommended that you use Jetbrains Rider (version 2024.3 or greater) or Visual Studio 2022 (version 17.13 or greater) The project requires version 8.0.4xx of the .NET SDK. You can download the latest version from https://dotnet.microsoft.com/en-us/download/dotnet/8.0

From there you can open the main Speckle.Connectors.sln solution and build the project

For good development experience and environment setup, you the commands are avaible needed.

Formatting

We're using CSharpier to format our code. You can install Csharpier in a few ways:

  • Install CSharpier as a local tool and reformat from CLI
    dotnet tool install csharpier
    dotnet csharpier
    
  • Install CSharpier as a global tool and reformat from CLI
    dotnet tool install csharpier -g
    dotnet csharpier
    
  • Install the CSharpier extension for Visual Studio or Rider.
    For best DX, we recommend turning on CSharpier's reformat on save setting if you've installed it in your IDE.

Clean Locks

We're using npm package locks to store exact and versioned dependency trees. Occasionally you will need to clean your local package-lock files, eg when switching between Speckle.Connectors.sln and Local.sln. Run this command in CLI to delete all package.lock.json files before a restore:

.\build.ps1 clean-locks

Deep Clean

To make sure your local environment is ready for a clean build, run this command to delete all bin and obj directories and restore all projects:

.\build.ps1 deep-clean

Deep Clean Local

This is for users of the Local.sln solution:

To make sure your local environment is ready for a clean build, run this command to delete all bin and obj directories and restore all projects:

.\build.ps1 deep-clean-local

Local development with SDK changes

If you'd like to make changes to the speckle-sharp-sdk side-by-side with changes to this repo's projects, use **Local.sln**.
This solution includes the Core and Objects projects from the speckle-sharp-sdk repo, and uses a new Configuration to create a build directory alongside Debug and Release.

Warning

Using Local.sln will modify all your package locks. Don't check these in! Revert with the clean-locks command or use the regular solution to revert once your changes are made.

Switching to SLNX

SLNX was introduced with .NET 9 (in May 2024), Visual Studio 17.13 and Rider 2024.3. The older SLNs being used remain for now but will be removed when .NET 10 is introduced to the repo. SLNXs specific to certain host apps are being generated from the main SLN to allow for faster developmenet.

https://devblogs.microsoft.com/dotnet/introducing-slnx-support-dotnet-cli/

https://devblogs.microsoft.com/visualstudio/new-simpler-solution-file-format/

Security and Licensing

Security

For any security vulnerabilities or concerns, please contact us directly at security[at]speckle.systems.

License

Unless otherwise described, the code in this repository is licensed under the Apache-2.0 License. Please note that some modules, extensions or code herein might be otherwise licensed. This is indicated either in the root of the containing folder under a different license file, or in the respective file's header. If you have any questions, don't hesitate to get in touch with us via email.

S
Description
Speckle Connectors V3
Readme 29 MiB
Languages
C# 100%