Add FloorPlan.DetectFloorPlanFromImage node for raster-to-geometry floor plan detection#100
Open
Copilot wants to merge 3 commits into
Open
Add FloorPlan.DetectFloorPlanFromImage node for raster-to-geometry floor plan detection#100Copilot wants to merge 3 commits into
Copilot wants to merge 3 commits into
Conversation
…al floor plans from images Agent-Logs-Url: https://github.com/johnpierson/RhythmForDynamo/sessions/aea88a73-d51f-4e41-a4b9-f98503c05607 Co-authored-by: johnpierson <15744724+johnpierson@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add OpenCV node for detecting architectural floor plans from JPG images
Add FloorPlan.DetectFloorPlanFromImage node for raster-to-geometry floor plan detection
May 6, 2026
Owner
|
@copilot, no need for wall thickness estimation, we just want single lines that represent the sketch |
Agent-Logs-Url: https://github.com/johnpierson/RhythmForDynamo/sessions/225a9463-f866-4762-b0d4-00cffc0637a2 Co-authored-by: johnpierson <15744724+johnpierson@users.noreply.github.com>
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dynamo users working with raster floor plan images (JPG scans, screenshots, exported sheets) currently have no first-party path to geometry — requiring manual tracing or custom Python. This adds a
FloorPlan.DetectFloorPlanFromImagezero-touch node inCore > Geometrythat runs a full image processing pipeline and returns Dynamo-native geometry as single lines representing the sketch.New file:
src/RhythmCore/Geometry/FloorPlan.csProcessing pipeline (pure C#,
System.Drawing— no native OpenCV binaries):(77R + 150G + 29B) >> 8)Inputs:
imagePath,scale,threshold,adaptiveThreshold,minLineLength,detectRooms,detectOpenings,debugOutputOutputs (
MultiReturn):linesLine[]roomBoundariesPolyCurve[]openingLocationsPoint[]reportDictionaryprocessingTimeMs,warnings[]Error handling: all failure modes (missing file, unreadable image, sub-50px resolution, zero geometry detected) surface as
warningsentries rather than exceptions — node never crashes Dynamo.Implementation notes:
wallThicknessRange— the node returns single lines representing the sketch geometry, not wall thickness estimates.global::aliases (SMath,SysBitmap,ImagePoint, etc.) to resolve ambiguity with the existingRhythm.SystemandRhythm.Mathnamespaces in the project.System.Drawingis already available viaUseWindowsForms=trueacross all target frameworks (net48 for R20–R24, net7/net8-windows for R25–R27).