From 6dcb1bda90295c2219192bd35e1c1bbfe93232b1 Mon Sep 17 00:00:00 2001 From: paul <40677073+paullee0@users.noreply.github.com> Date: Thu, 30 Oct 2025 18:41:58 +0800 Subject: [PATCH] [ArchStairs] Fix structure: when RiserThickness set & ConnectionDown not HorizontalCut (#24917) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [ArchStairs] Fix Structure: when RiserThickness is set & ConnectionDown is not HorizontalCut Fix #24409 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update src/Mod/BIM/ArchStairs.py - typo correction Co-authored-by: João Matos * Update ArchStairs.py - typo correction --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: João Matos --- src/Mod/BIM/ArchStairs.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Mod/BIM/ArchStairs.py b/src/Mod/BIM/ArchStairs.py index 93097a3ffa..1d32f666c0 100644 --- a/src/Mod/BIM/ArchStairs.py +++ b/src/Mod/BIM/ArchStairs.py @@ -1888,7 +1888,6 @@ class _Stairs(ArchComponent.Component): # TODO Why 'reuse' vBase? # '# Massive Structure to respect 'align' attribute' vBase = vBasedAligned.add(vRiserThickness) - for i in range(numOfSteps - 1): if not lProfile: lProfile.append(vBase) @@ -1971,6 +1970,11 @@ class _Stairs(ArchComponent.Component): else: lProfile.append(lProfile[-1].add(Vector(h.x, h.y, -resHeight2))) + # Add back vertex before start vertex offsetted riser thickness + if vRiserThickness.Length and downstartstairs != "HorizontalCut": + lProfile.append(vBasedAligned) + + # Add start vertex as last vertex to complete a closed polygon lProfile.append(vBase) pol = Part.makePolygon(lProfile)