rmcanany/HousekeeperExternalPrograms
46.3
Weak · 1 October 2026
2.5k
lines of production code
VB.NET
with Vbscript
2
measurements over time
What this system is
This system is a collection of automation utilities and scripts designed to streamline specific workflows within the Solid Edge CAD environment. It provides tools for managing sheet metal parts, such as creating flat patterns, converting thin parts, and validating geometry integrity. Additionally, it offers capabilities for automating drafting tasks, including renaming sheets, updating parts lists, replacing OLE links, and converting drawing views to static 2D geometry.
How it got here
2021–2022 — Solid Edge automation utilities
6 changes.
This period focused on developing a suite of standalone tools and scripts to automate specific tasks within Solid Edge, including ISO view fitting, sheet renaming, and DXF export. The work also involved enhancing existing utilities with new operating modes and standardizing project dependencies across the codebase.
2023–2026 — Solid Edge automation utilities
11 changes.
This period focused on developing a suite of standalone tools and code snippets to automate common Solid Edge tasks, particularly in sheet metal and drafting. The work introduced utilities for converting thin parts to sheet metal, generating flat patterns, validating model integrity, and managing drawing elements like blocks and parts lists. These additions aimed to streamline workflows by providing reusable scripts for geometry processing, property management, and file standardization.
Features
Add CreateFlatPattern utility for Solid Edge sheet metal parts
Introduces a new standalone .NET 4.7.2 console application that automates the creation of flat patterns in Solid Edge. The tool connects to an active Solid Edge session, validates that the document is in the SheetMetal environment, and processes both Ordered (.psm) and Sync (.par) part files. It identifies the largest planar face and its longest linear edge to generate a flat pattern, then saves the document and switches the user to the flat pattern editing environment. The utility includes error handling to alert users via an external log if the environment is incorrect, geometry is invalid, or a flat pattern already exists.
CreateFlatPattern · high confidence
Added SaveAndTogglePreviewGeometry utility for Solid Edge
A new standalone .NET utility has been added to automate the process of saving Solid Edge files while toggling the 'preview geometry' setting. The tool connects to the running Solid Edge application via COM, identifies the document type, and specifically for assembly files, it disables preview geometry, saves the file, re-enables preview geometry, and saves again to ensure the geometry is stored correctly. For non-assembly documents, it simply performs a standard save operation.
SaveAndTogglePreviewGeometry · high confidence
Initial release of AssemblyReport VBScript utility
This change introduces a new VBScript utility (AssemblyReport.vbs) that automates the generation of atomic parts reports for Solid Edge assemblies. The script connects to the running Solid Edge application, retrieves the active document, and executes the external report.exe tool with specific command-line arguments to output a text file listing the assembly's components. Documentation and initial release notes are also included.
AssemblyReport, BreakExcelLinks · high confidence
Initial release of FitIsoView Solid Edge automation tool
Introduces FitIsoView, a .NET Framework 4.7.2 console application designed to automate the creation and fitting of ISO views within Solid Edge documents. The tool connects to the active Solid Edge instance and executes specific commands (AssemblyViewISOView/PartViewISOView and AssemblyViewFit/PartViewFit) depending on whether the active document is an assembly, part, or sheet metal file; for draft documents, it fits the sheet instead. It loads configuration settings from a JSON file (form\_main\_settings.json) and saves the modified document, logging any errors to a text file.
FitIsoView · high confidence
Initial release of Thin Part to Sheetmetal sample program
Adds a new PowerShell-based sample tool for Solid Edge that automates the conversion of imported thin parts into sheetmetal bodies. The script connects to the active Solid Edge session, identifies single-model files, finds the largest planar face, and applies the ConvToSM conversion, saving the document upon success or logging errors to a text file if the process fails.
ThinPartToSheetmetal · high confidence
Initial release of UpdatePartsListStyleFromTemplate utility
This entry introduces the UpdatePartsListStyleFromTemplate tool, a .NET Framework 4.7.2 application designed to automate the update of parts list styles within Solid Edge draft documents. The utility connects to a running Solid Edge instance and modifies parts lists based on a configuration file (program\_settings.txt) that maps sheet background names to specific style names. It reads a DraftList.txt file to validate available styles, iterates through the active document's sheets, and applies the corresponding style settings to any parts lists found, ensuring a one-to-one correspondence between sheet backgrounds and styles.
UpdatePartsListStyleFromTemplate · high confidence
Introduce QtyFromAssy tool for propagating assembly quantities to part properties
Adds a new standalone utility that calculates the total quantity of each part and subassembly within an active Solid Edge assembly and writes these values, along with the source assembly name, into the custom properties of the individual files. The tool respects the BOM inclusion flag and supports configurable quantity multipliers and weldment part inclusion via a settings file, making the derived data available for downstream uses such as Draft callouts.
QtyFromAssy · high confidence
Introduce ReplaceOLELinks utility for Solid Edge draft files
A new standalone .NET 4.7.2 console application has been added to automate the replacement of OLE-linked SmartFrame2d objects with Block definitions in Solid Edge Draft files. The tool connects to a running Solid Edge instance, scans specified background sheets for linked objects, and substitutes them with blocks from a user-defined template file. It supports a 'ReportLinksOnly' dry-run mode for auditing, allows configuration of target sheets, link filenames, and corresponding block names via a settings file, and logs errors to a text file if processing fails.
ReplaceOLELinks · high confidence
New ConvertDraftTo2D utility for Solid Edge drawings
A new PowerShell-based tool has been added to convert Solid Edge drawing views into standalone 2D geometry, disconnecting them from the underlying 3D model. The script processes both background and working sections of a draft file, flattening drawing views and updating callout balloon text to display static text rather than dynamic property links. Because this operation is irreversible, the tool includes error handling that logs any processing failures to an error file.
ConvertDraftTo2D · high confidence
New ReplaceBlocks sample program for Solid Edge
A new .NET Framework 4.7.2 console application has been added to automate block management in Solid Edge Draft documents. The program reads configuration from a \program\_settings.txt\ file to perform three operations in order: replacing existing blocks with those from a template, adding new blocks from the template, and deleting specified blocks. It connects to the active Solid Edge session, processes the blocks, and saves the document, logging any errors to a file.
ReplaceBlocks · high confidence
New code snippets for Solid Edge automation
Added a new set of code snippets to the Snippets directory to automate common Solid Edge tasks. These include converting thin parts to sheet metal, updating thread properties, managing face styles (import/export/modify), updating parts lists in drawings, and changing units of measure to ISO or ANSI standards. Additional snippets allow for serial incrementing of properties, toggling preview geometry, and fitting ISO views.
Snippets · high confidence
New macro to convert sheet metal units to inches and export flat patterns as DXF
A new VBScript macro, ChangeToInchAndSaveAsFlatDXF.vbs, has been added to the Solid Edge Housekeeper toolset. This script connects to an open Solid Edge document, changes the length units to inches, and saves the flat pattern as a DXF file. The output filename is derived from the source file name (replacing the .psm extension with .dxf), and the save location can be configured to either the original directory or a custom path via the Housekeeper settings.
ChangeToInchAndSaveAsFlatDXF · high confidence
New tool to validate sheet metal flat pattern integrity via volume comparison
A new standalone utility has been added that connects to an active Solid Edge session to compare the volume of a sheet metal model against its flat pattern. It calculates a normalized volume difference and flags the document as erroneous if this difference exceeds a user-defined threshold specified in a settings file, helping to detect inconsistencies caused by out-of-date flat patterns after adding ordered features.
CompareFlatAndModelVolumes · high confidence
RecognizeHoles now converts thin parts to sheet metal
The RecognizeHoles add-in now supports processing Solid Edge sheet metal documents (\*.psm). In addition to its existing capability to find cylindrical cutouts and convert them into hole features, the tool now attempts to convert the active document to sheet metal when a .psm file is detected. This involves healing and optimizing the geometry, recognizing holes, and then using the largest face as the base for the sheet metal conversion before returning the document to Synchronous mode.
RecognizeHoles · high confidence
RenameSheets utility for SolidEdge draft sheets
A new standalone .NET Framework 4.7.2 application that automates the renaming of sheets in SolidEdge Draft documents. The tool renames each sheet to match the filename of the first drawing view's model link, appending the configuration name if applicable. To handle duplicate names, it appends a configurable suffix (defaulting to 'Copy') followed by a sequential number, which can be customized by editing a local 'suffix.txt' file. Sheets without model views are left unchanged, and the tool includes a safeguard to temporarily rename sheets to random values if the file has been processed previously to ensure unique naming.
RenameSheets · high confidence
Behavioural changes
AddRemoveCustomProperties: New 'RemoveAllExcept' operating mode
The AddRemoveCustomProperties utility now supports a second removal strategy for custom file properties. In addition to the existing mode that deletes properties listed in property\_list.txt, users can now specify 'OperatingMode RemoveAllExcept' to delete all custom properties except those on the list. This allows for selective preservation of specific properties during cleanup operations.
AddRemoveCustomProperties · high confidence
Dependencies
Standardize project dependencies and target frameworks
Updated multiple sample projects to target .NET Framework 4.7.2 and added a dependency on Newtonsoft.Json version 13.0.3 where required. The CompareFlatAndModelVolumes project was also updated to target .NET 6.0.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 46 → 46 (+0.2)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 95 → 59 (-35.4)
- Architecture 69 → 100 (+31.0)
- Maturity 40 → 48 (+8.5)
- Readiness 30 → 30 (-0.1)
- Security 100 → 87 (-13.3)
Resolved (2)
- Documentation: no installation or build instructions (README.md)
- Documentation: no project overview (README.md)
New (44)
- CreateFlatPattern.Main (cognitive 63) (CreateFlatPattern/CreateFlatPattern.vb)
- CreateFlatPattern.Main (cyclomatic 30) (CreateFlatPattern/CreateFlatPattern.vb)
- Duplicated block (13 lines × 2) (QtyFromAssy/Module1.vb)
- Duplicated block (15 lines × 4) (CompareFlatAndModelVolumes/Program.vb)
- Duplicated block (16 lines × 4) (CreateFlatPattern/CreateFlatPattern.vb)
- Duplicated block (21 lines × 2) (CompareFlatAndModelVolumes/MarshalHelper.vb)
- Duplicated block (23–24 lines × 3) (QtyFromAssy/Module1.vb)
- Duplicated block (24 lines × 3) (CompareFlatAndModelVolumes/Program.vb)
- Duplicated block (28 lines × 3) (CreateFlatPattern/CreateFlatPattern.vb)
- Duplicated block (36–37 lines × 3) (QtyFromAssy/Module1.vb)
- Duplicated block (6 lines × 7) (AddRemoveCustomProperties/Module1.vb)
- EmptyCatchBlock (CompareFlatAndModelVolumes/Program.vb)
- EmptyCatchBlock (CreateFlatPattern/CreateFlatPattern.vb)
- EmptyCatchBlock (CreateFlatPattern/CreateFlatPattern.vb)
- EmptyCatchBlock (FitIsoView/Module1.vb)
- EmptyCatchBlock (RecognizeHoles/Module1.vb)
- EmptyCatchBlock (RecognizeHoles/Module1.vb)
- EmptyCatchBlock (ReplaceBlocks/Module1.vb)
- EmptyCatchBlock (SaveAndTogglePreviewGeometry/Program.vb)
- End-of-life runtime: .NET net6.0
- …and 24 more
Architecture
- Containers 10 added · 0 removed · contexts 0 added · 0 removed · edges 0 added · 0 removed
Added containers (10)
- cli:CompareFlatAndModelVolumes
- cli:CreateFlatPattern
- cli:FitIsoView
- cli:QtyFromAssy
- cli:RecognizeHoles
- cli:RenameSheets
- cli:ReplaceBlocks
- cli:ReplaceOLELinks
- cli:SaveAndTogglePreviewGeometry
- cli:UpdatePartsListStyleFromTemplate
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
rmcanany/HousekeeperExternalPrograms was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 728ab3fad8967bf7bd95ffb42eb59d5bf55e1093 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.