Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
ff9028f
broken dependency on Analytical_oM fixed
pawelbaran Jul 2, 2026
0a6e184
readme updated
pawelbaran Jul 2, 2026
3706894
Update assembly file version to 9.3.0.0
BHoMBot Jul 6, 2026
6e3dede
Start of milestone changes for 9.3 (#1669)
sakanni Jul 9, 2026
af06e2e
Readme updated (#1668)
pawelbaran Jul 9, 2026
42d4532
legacy code removed
pawelbaran Jul 12, 2026
98e6c45
versioning added
pawelbaran Jul 12, 2026
a7b32b3
Legacy code removed (#1671)
pawelbaran Jul 13, 2026
9d54d19
Broken dependency on Analytical_oM fixed (#1667)
pawelbaran Jul 13, 2026
1020115
Pull of PileFoundation added
WojciechBuda00 Jul 13, 2026
d28e499
Nested piles classification added
WojciechBuda00 Jul 13, 2026
2eff2db
Push pile foundation setup
WojciechBuda00 Jul 14, 2026
791e9f8
pile extension mechanics tweaked
pawelbaran Jul 14, 2026
7612949
Tweaks for Pile and PileFoundation classification for nested pile caps
WojciechBuda00 Jul 14, 2026
92ab2e6
Update pile filter comment
WojciechBuda00 Jul 15, 2026
673e628
Pull of PileFoundation added (#1673)
pawelbaran Jul 16, 2026
6c51d94
bounding box to Revit convert added
pawelbaran Jul 21, 2026
a5c3cef
Bbox.Enabled = true added
pawelbaran Jul 21, 2026
04197f4
Onboard new CI checks (beta tier)
sakanni Jul 22, 2026
6569766
Onboard new CI checks (beta tier) (#1678)
sakanni Jul 23, 2026
0af5ba0
ci: prefix job names with ci- to avoid BHoMBot status-check name coll…
sakanni Jul 24, 2026
345ac12
Bounding box to Revit convert added (#1677)
pawelbaran Jul 27, 2026
77381a4
ci: prefix CI check names to avoid BHoMBot collision (#1679)
sakanni Jul 27, 2026
0025401
Generate pilefoundation updated and template file added
WojciechBuda00 Jul 29, 2026
d8acc4a
Updated connector query to fallback to max distance if connector has …
enarhi Jul 30, 2026
7f80472
Updated Connector Query to fallback to max distance if connector has …
michal-pekacki Jul 31, 2026
5166d6e
Return fallback Level and update parameter ordering
adam-sobieski Aug 3, 2026
717edd3
Null checks added
adam-sobieski Aug 3, 2026
827caf1
Level property not found properly (#1685)
michal-pekacki Aug 4, 2026
bb2f82b
PileFoundation tweaks&update
WojciechBuda00 Aug 6, 2026
879ed4d
Merge branch 'develop' into Revit_Toolkit-#1674-PushPileFoundation
WojciechBuda00 Aug 7, 2026
779aa2a
PileFoundation update/create update
WojciechBuda00 Aug 7, 2026
ebec863
ElementType tweaked
WojciechBuda00 Aug 7, 2026
16b1062
Piles generation tweaks
WojciechBuda00 Aug 7, 2026
2b4fdad
PileFoundation cleanup
WojciechBuda00 Aug 7, 2026
393068c
making forgotten commit on behalf of @WojciechBuda00
pawelbaran Aug 7, 2026
5021065
Push of PileFoundation added (#1675)
pawelbaran Aug 7, 2026
293779e
ci: point the CI workflow at BHoM/CI_Toolkit
sakanni Aug 14, 2026
c43fab7
ci: point the CI workflow at BHoM/CI_Toolkit (#1686)
sakanni Aug 18, 2026
06dcea2
added support for direct shape
michal-pekacki Aug 19, 2026
b8fc299
read only parameter order fix
michal-pekacki Aug 27, 2026
459560d
`Query.LocationPoint` - support `DirectShape` (#1688)
michal-pekacki Aug 28, 2026
46424ac
`LevelParameter` - fixed read-only parameter order (#1691)
michal-pekacki Sep 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 138 additions & 0 deletions .github/workflows/ci-beta.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
# Beta-tier proxy, BHoM variant. Bundles the tier's checks plus
# copyright-compliance (BHoM enforces OSS copyright; the BHE variant omits it).
# Copy to .github/workflows/ci-beta.yml in each BHoM beta repo.
# Runs on pull_request, non-blocking until a ruleset requires its checks.
# Workflow name CI keeps check contexts bare: required contexts are the job names.

name: CI

on:
pull_request:
branches:
- develop

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true

jobs:
ci-build:
runs-on: windows-2025-vs2026
timeout-minutes: 30
steps:
- name: Run build
uses: BHoM/CI_Toolkit/.github/actions/ci-build@develop
with:
app_id: ${{ secrets.BHOM_APP_ID }}
private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }}

ci-code-compliance:
runs-on: windows-2025-vs2026
timeout-minutes: 20
permissions:
contents: read
pull-requests: read
actions: write
steps:
- name: Run code compliance
uses: BHoM/CI_Toolkit/.github/actions/ci-compliance@develop
with:
check_type: code
patterns: '*.cs'
app_id: ${{ secrets.BHOM_APP_ID }}
private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }}

ci-copyright-compliance:
runs-on: windows-2025-vs2026
timeout-minutes: 20
permissions:
contents: read
pull-requests: read
actions: write
steps:
- name: Run copyright compliance
uses: BHoM/CI_Toolkit/.github/actions/ci-compliance@develop
with:
check_type: copyright
patterns: '*.cs'
app_id: ${{ secrets.BHOM_APP_ID }}
private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }}

ci-dataset-compliance:
runs-on: windows-2025-vs2026
timeout-minutes: 20
permissions:
contents: read
pull-requests: read
actions: write
steps:
- name: Run dataset compliance
uses: BHoM/CI_Toolkit/.github/actions/ci-compliance@develop
with:
check_type: dataset
patterns: ':(icase)*datasets*.json'
app_id: ${{ secrets.BHOM_APP_ID }}
private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }}

ci-documentation-compliance:
runs-on: windows-2025-vs2026
timeout-minutes: 20
permissions:
contents: read
pull-requests: read
actions: write
steps:
- name: Run documentation compliance
uses: BHoM/CI_Toolkit/.github/actions/ci-compliance@develop
with:
check_type: documentation
patterns: '*.cs'
app_id: ${{ secrets.BHOM_APP_ID }}
private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }}

ci-project-compliance:
runs-on: windows-2025-vs2026
timeout-minutes: 20
permissions:
contents: read
pull-requests: read
actions: write
steps:
- name: Run project compliance
uses: BHoM/CI_Toolkit/.github/actions/ci-compliance@develop
with:
check_type: project
patterns: '*AssemblyInfo.cs *.csproj'
app_id: ${{ secrets.BHOM_APP_ID }}
private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }}

ci-dataset-tests:
runs-on: windows-2025-vs2026
timeout-minutes: 30
steps:
- name: Run dataset tests
uses: BHoM/CI_Toolkit/.github/actions/ci-dataset-tests@develop
with:
app_id: ${{ secrets.BHOM_APP_ID }}
private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }}

ci-serialisation:
runs-on: windows-2025-vs2026
timeout-minutes: 90
steps:
- name: Run serialisation
uses: BHoM/CI_Toolkit/.github/actions/ci-serialisation@develop
with:
app_id: ${{ secrets.BHOM_APP_ID }}
private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }}
base_ref: ${{ github.base_ref }}

ci-versioning:
runs-on: windows-2025-vs2026
timeout-minutes: 90
steps:
- name: Run versioning
uses: BHoM/CI_Toolkit/.github/actions/ci-versioning@develop
with:
app_id: ${{ secrets.BHOM_APP_ID }}
private_key: ${{ secrets.BHOM_APP_PRIVATE_KEY }}
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,11 @@ A set of tools enabling exchange of information between BHoM and [Revit](https:/
- a set of utility methods supporting conversion and processing of Revit elements

### Known Versions of Software Supported
Autodesk Revit 2018
Autodesk Revit 2019
Autodesk Revit 2020
Autodesk Revit 2021
Autodesk Revit 2022
Autodesk Revit 2023
Autodesk Revit 2024
Autodesk Revit 2025
Autodesk Revit 2026

### Documentation
For more information about functionality see [Revit_Toolkit Wiki](https://github.com/BHoM/Revit_Toolkit/wiki).
Expand All @@ -39,12 +38,11 @@ You will need the following to build Revit_Toolkit:
- [Socket_Toolkit](https://github.com/BHoM/Socket_Toolkit)

Revit_Toolkit needs to be built separately for each version of Revit. To switch between version and specific Revit_Toolkit configurations use Configuration Manager:
Debug2018 -> Revit 2018
Debug2019 -> Revit 2019
Debug2020 -> Revit 2020
Debug2021 -> Revit 2021
Debug2022 -> Revit 2022
Debug2023 -> Revit 2023
Debug2024 -> Revit 2024
Debug2025 -> Revit 2025
Debug2026 -> Revit 2026


## Want to Contribute? ##
Expand Down
2 changes: 1 addition & 1 deletion Revit_Adapter/Revit_Adapter.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<Authors>BHoM</Authors>
<Copyright>Copyright © https://github.com/BHoM</Copyright>
<RootNamespace>BH.Adapter.Revit</RootNamespace>
<FileVersion>9.2.0.0</FileVersion>
<FileVersion>9.3.0.0</FileVersion>
</PropertyGroup>

<PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion Revit_Core_Adapter/Revit_Core_Adapter.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<Authors>BHoM</Authors>
<Copyright>Copyright © https://github.com/BHoM</Copyright>
<RootNamespace>BH.Revit.Adapter.Core</RootNamespace>
<FileVersion>9.2.0.0</FileVersion>
<FileVersion>9.3.0.0</FileVersion>
</PropertyGroup>

<PropertyGroup>
Expand Down
19 changes: 5 additions & 14 deletions Revit_Core_Engine/Compute/GeneratePadFoundationType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ private static FamilySymbol GenerateFreeformType(PadFoundation padFoundation, Do
{
List<int> takenIndices = freeformFamilies.Select(x => Regex.Match(x.Name, $"{Regex.Escape(prefix)}(\\d+)$")).Select(x => int.Parse(x.Groups[1].Value)).ToList();
int newIndex = takenIndices.Count > 0 ? takenIndices.Max() + 1 : 1;
family = GenerateFreeFormPadFamilyFromTemplate(document, orientedOutline, thickness, newIndex, padFoundation, settings);
family = GenerateFreeFormPadFamilyFromTemplate(document, orientedOutline, thickness, newIndex, settings);
}

if (family == null)
Expand All @@ -177,7 +177,7 @@ private static FamilySymbol GenerateFreeformType(PadFoundation padFoundation, Do

/***************************************************/

private static Family GenerateFreeFormPadFamilyFromTemplate(this Document document, Polyline orientedOutline, double thickness, int index, PadFoundation padFoundation, RevitSettings settings = null)
private static Family GenerateFreeFormPadFamilyFromTemplate(this Document document, Polyline orientedOutline, double thickness, int index, RevitSettings settings = null)
{
string templateFamilyName = "StructuralFoundations_Pad-Freeform";
string templatePath = Directory.GetFiles(m_FamilyDirectory, $"*{templateFamilyName}.rfa").FirstOrDefault();
Expand All @@ -188,7 +188,7 @@ private static Family GenerateFreeFormPadFamilyFromTemplate(this Document docume

try
{
if (!ReplaceFreeFormExtrusion(familyDocument, orientedOutline, padFoundation))
if (!ReplaceFreeFormExtrusion(familyDocument, orientedOutline, thickness))
return null;

return SaveAndLoadFamily(document, familyDocument, $"{Path.GetFileNameWithoutExtension(templatePath)}_{index}");
Expand All @@ -205,17 +205,8 @@ private static Family GenerateFreeFormPadFamilyFromTemplate(this Document docume
}

/***************************************************/
private static double FreeformExtrusionDepth(PadFoundation padFoundation)
{
double depth = padFoundation.PadFoundationThickness();
double h = double.IsNaN(depth) ? double.NaN : depth.FromSI(SpecTypeId.Length);
if (double.IsNaN(h) || h <= 1e-6)
h = 0.5.FromSI(SpecTypeId.Length);
return h;
}

/***************************************************/
private static bool ReplaceFreeFormExtrusion(Document familyDocument, Polyline orientedOutline, PadFoundation padFoundation)
private static bool ReplaceFreeFormExtrusion(Document familyDocument, Polyline orientedOutline, double thickness)
{
try
{
Expand All @@ -226,7 +217,7 @@ private static bool ReplaceFreeFormExtrusion(Document familyDocument, Polyline o
using (Transaction t = new Transaction(familyDocument, "Update Freeform Pad Foundation Footprint"))
{
t.Start();
familyDocument.FamilyCreate.NewExtrusion(true, profile, extrusion.Sketch.SketchPlane, -FreeformExtrusionDepth(padFoundation));
familyDocument.FamilyCreate.NewExtrusion(true, profile, extrusion.Sketch.SketchPlane, -FreeformExtrusionDepth(thickness));
familyDocument.Delete(extrusion.Id);
t.Commit();
}
Expand Down
Loading