← Add-on Catalog

UNDER DEVELOPMENT

FH VentLib

Living development workspace for the canonical parametric ventilation add-on in 2HE__Blender.

Version

0.82.111

One productive Engine now owns topology, connectors, solve scopes, Live, Guide, obstacles, previews and route planning. Architecture Guide

Canonical package

addons_2HE/addons/FH__VentLib/

Fast dev loop

2he deploy FH__VentLib → Reload Geometry / Refresh N-Panel. Full Blender restart only when registered RNA/property/operator classes require it.

v0.82.111 focus

Single productive Solver Engine

The Blender adapter snapshots scene state and commits validated results atomically. The host-independent Engine owns Chain topology, connector frames, bounded lengths, Full/Active/Span and Live solving, Guide and obstacle evaluation, plus A/B/C planning. Old root routing dispatchers and shadow paths are removed. Detailed runtime flow · Solver workflow

v0.82.13 focus

Safe Append direction

To extend a Chain, select the loose part and make the existing Chain endpoint active. New Append refuses a selected part from another Chain before releasing any old link. Detach first for an intentional transfer. Tracked Append Guide

v0.82.12 focus

Chain list selection

Clicking a connected part highlights its complete Chain in the Chains list even if the part is marked as a planning obstacle. Guide

v0.74.5 focus

Exact TVU branch connector

TVU connector C and its generated branch mesh now share one endpoint calculation, so MF/NPU attachments meet the visible end exactly.

v0.74.4 focus

Add Part at the selected Append axis

Add Part uses the open connector selected under Append axes, so a TVU can add its first branch part directly at C.

v0.74.3 focus

Existing-edge Cut Active and SR choices

Cut Active continues an already tracked connector pair without requiring another open connector. SR Add/Exchange offers all published diameters with their correct stock length.

v0.74.2 focus

Safe Cut Active connector choice

Cut Active to Fit rejects an occupied connector on the active part before changing the Chain and reports the available connector explicitly.

v0.74.1 focus

All-in-one Cut Active append

Cut Active to Fit independently preserves the eyed-in poses, appends the selected part and fits the active length part in one action.

v0.74.0 focus

Append in Place

Append can preserve both eyed-in World poses and optionally cut the active length part to fit its new neighbours.

v0.73.1 focus

Lindab Safe TVU45

The complete 199-variant TVU45 generator now carries its correct Safe identity and global manufacturer PDF.

v0.73.0 focus

Complete Add Part families

Add and Exchange now include TVUSS45, TCPUSS, RCLU, CBC/CBE, XVU and YVU with their relevant dimensions.

v0.72.7 focus

Reload-safe preview cleanup

Preview Off and Apply discover and remove tagged Align & Adjust preview meshes even after an add-on reload.

v0.72.6 focus

Faithful Align & Adjust preview

Length contributes movement along the CUT axis. Preview shows evaluated collection-instance geometry and the virtually fitted CUT at its calculated length while originals remain unchanged.

v0.72.5 focus

Align & Adjust Length

A parametric CUT selected as D exposes Length. A same-Chain reference B beyond A stays fixed while only the segment between CUT D and B moves and the CUT is rebuilt.

v0.72.4 focus

Local Join in Place

Join in Place can connect exact open endpoints without moving either Chain, even when another seam inside a linear Chain is already loose. Join + Move continues to require clean Chains.

v0.72.3 focus

Local Fit validation

Fit Inbetween validates the two seams it creates. A pre-existing loose seam elsewhere in the same linear Chain stays reported without rolling back the exact local Cut.

v0.72.2 focus

Stock labels and spacing

Each used variant now has a visible 3D text label with its product ID and quantity. Evaluated maximum dimensions, a fixed gap and dynamic row heights keep long parts separated.

v0.72.1 focus

Stock matrix

Stock calculates its table when opened. Show Used Parts builds the labelled 3D matrix in one update and reliably isolates it in the Viewport. Source & Instances is nested inside Part Configure. Guide

v0.72.0 focus

Catalog and Used Parts matrix

Catalog is the product-facing library; Add Part creates or reuses its canonical Source automatically. Used Parts / Stock can isolate a refreshed, labelled 3D matrix with each used variant once. Preview Instances are excluded from quantities and never move Planning Instances. Advanced Source controls live under Source & Instances. Guide

v0.71.3 focus

Manufacturer PDF beside Add/Exchange

The icon immediately before Exchange Part and Add Part opens the online manufacturer PDF for the selected Part Type in the same compact row. Guide

v0.71.2 focus

Verified Exchange result

Exchange validates reused Source geometry against the selected parameters and preserves the active semantic Planning Color. Stale Custom metadata is recovered when its color matches a saved profile. Guide

v0.71.1 focus

Expected Source reuse

Add Part and Exchange Part silently reuse an existing product Source. The manual Parts Generator still reports duplicate generation. Guide

v0.71.0 focus

Exchange Part

Append → Exchange Part replaces only the active occurrence using the remembered Part Type and parameters. Its World pose, Planning Color and Chain references remain; both neighbours stay fixed. Direct project Instances continue to show Planning Colors. Guide

v0.70.1 focus

Planning Color recovery

If Blender preferences unexpectedly contain only defaults, VentLib reconstructs missing custom profiles and adjusted built-in colors from stable metadata already stored on scene Instances, then saves the repaired library. Existing objects keep their assignments and colors. Guide

v0.70.0 focus

Add Part

Choose a remembered Part Type and its parameters directly under Append → Add Part. The part is inserted after the active Chain member or placed at the 3D Cursor outside a Chain.

v0.68.0 focus

Align by Adjust

Choose A, B, transform channels C and adjustable freedoms D. Preview the result as reversible blue wire ghosts; Apply becomes available only for a valid Preview and commits one Undo step. Up/Down keys traverse Chain Order while the pointer is over the sidebar. Guide

v0.67.7 focus

Fit staging and root-anchored Solve

Initial Cuts retain their previous Chain edge. Solve From Active at position 1 keeps that part fixed and solves positions 2 through End.

v0.67.6 focus

Compact Chain blocker

Solve, Cut and Join share one stable workflow row. Blocked Joins show the active Chain error count and maximum residual; click for every failing seam.

v0.67.5 focus

Registration hotfix

Occurrence identities migrate after Blender leaves restricted Add-on registration, with rollback for partial module registration.

v0.67.4 focus

Reusable copies and stable Chain actions

Ordinary Blender duplicates retain part and Planning Color data but discard copied Chain, Append, P and Solver Lock state. Solve, Cut and Join rows now disable in place.

v0.67.3 focus

Stable Cut Length panel

Cut actions and explanations keep fixed rows; unavailable controls remain visible and disabled while the active Chain Order part changes.

v0.67.2 focus

Cut colors and clear Order Edit errors

Fit Cuts retain the Planning Color of the replaced part. Order Edit identifies reused A/B connectors and keeps its Guide-linked error open.

v0.67.1 focus

Complete-Lock selected-side Fit

Fit Inbetween refuses to translate a selected side with all Location channels locked and preserves its World pose and captured target.

v0.67.0 focus

Lindab MF generator

Generate the uninsulated MF female sleeve from every published DN, length and mass row, with end-face connectors, Configure support, local PDF and icon. Guide

v0.66.1 focus

NPUI generator icon

The NPUI generator card now shows its local product icon derived from the bundled Lindab datasheet.

v0.66.0 focus

Aim for Straight Cut

Select two open Chain endpoints to preview and solve their roll angles, adjacent SRI lengths and one exact middle SRI. Confirm any MFI replacement, then apply one atomic Chain join. Guide

v0.63.2 focus

Clean Chain ends after object deletion

Normal Blender object deletion clears references to the removed part. Remaining fragments keep their exact World transforms and can be joined again. Chain operations

v0.63.1 focus

One Planning Color profile source

New Instance Profile and the main Planning Colors picker now show the same complete ordered profiles, including every saved custom entry. Planning Colors Guide

v0.63.0 focus

Native right-click Guide and Detach Part

VentLib no longer spends panel width on a Guide symbol beside every action. Hover a control for concise help; right-click it for Blender's button menu and choose * Open VentLib Guide. Information and status rows remain directly clickable for multiline details. The named Detach Part action and the Chain Order X remove one part from adjacent Appends and movement coupling while preserving the object and its exact World transform. Help system · Chain operations

Current component scope

FamilyConfigurationState
SRSSDN100 / 125 / 200; one SOURCE per stock product, exact baked cutsScale-to-cut, stock segmentation and generated spiral seam
SRIType 25 / 50, DN100–500; one 3000 mm stock SOURCE plus exact baked cutsPre-insulated duct; BFUI/fittings insert directly, SRI–SRI requires NPUI
TCPUSSAll 167 published d1/d3 combinations through 630/630Exact PDF dimensions/mass; pressed saddle remains planning geometry
BUPublished DN63–224 × 15°; DN63–250 × 30° / 45° / 60° / 90°Exact PDF l-table; under-nominal male spigot, shallow seals below the SR inner wall, visible stop bead and hard insertion-stop shading
BUSSLegacy smoke-extract familyKept separate from ordinary supply/extract BU geometry
TVUSS45All 199 published d1/d3 combinations through 1000/1000Exact PDF dimensions/mass; branch intersection remains planning geometry
XVUArbitrary live Main DN / Branch DN / angle + published Lindab preset dropdownsLive three-cylinder planning geometry
YVUArbitrary live d1 / d3 / d4 / angle + PDF-only nominal dropdownsv0.6.6 shared three-axis junction; user visual acceptance pending
MBB-S / MBB-EQueuedDatasheet received; not yet implemented
MFIType 25 / 50, DN100–500 with project-corrected DN160Fixed insulated coupling for Isol fittings; not cut stock
NPUPublished DN63–1250Nipple for joining ordinary circular ducts
NPUIType 25 / 50, DN100–500Extended inner nipple for joining two SRI ducts; published 8–10 mm stop range
SLU50 / 100 mm insulation with published DN and length combinationsIntegral Safe nipples append at insertion-stop shoulders; large variants use loose NPU connectors
BSLUDN125–315 / 50 mm insulation; DN125–630 / 100 mm insulationGenerator and Blender E2E validated; visual acceptance pending

v0.60.0 focus

Linked information and Chain actions

Compact information rows reveal their full text on hover and open a multiline detail with the matching Guide link. Join + Move and Join in Place now sit under Chain. Duplicate makes a visible 250 mm X/Y/Z offset; Duplicate in Place deliberately overlaps. Chain controls Guide

v0.58.1 focus

Selectable rows and persistent status

Chain and Part names select and turn blue; separate pencil buttons edit them. Chain Order remains visible after selecting none, Parts have individual visibility, and Local View enters safely from a normal viewport. Clicking a status icon opens persistent diagnostics with Guide links. Chain controls Guide

v0.58.0 focus

Direction-aware Chain matrix

Invert Chain rebuilds active P coupling in the new direction. Chains stays above Chain Order with fixed action columns and flexible names. Part rows cycle free, Solver and complete transform locks; select either Chain side; edit names; reorder; or detach without moving/deleting the object. Guide links reuse a matching Chrome tab through the optional 2HE Commands bridge. Chain controls Guide

v0.57.1 focus

Reliable Chain rows and live status

Expanded Chain rows now work inside and outside Local View. The Local View control is a compact plain V. A fixed icon before Trash reports ready, known assembly work or a loose/invalid Chain; its hover explains the live state and clicking it opens the relevant Guide section. Chain controls Guide

v0.57.0 focus

Chain controls without Outliner nesting

The Chains list now provides visibility, Local View, editable naming, reversible P movement coupling, complete Chain protection, selection and link deletion. P uses VentLib constraints and therefore keeps the Outliner flat. Chain protection restores prior native locks when disabled and remains separate from Solver solver anchors. Chain controls Guide

v0.56.1 focus

Retained Instances and reliable Fit setup

Delete Source Variant keeps dependent Instances as transform placeholders when Delete all instances is off, and reconnects them when the exact Source returns. A rotation-locked New Append with incompatible connector axes is rejected before old relations are released. Re-fit errors identify locked channels and advise checking the opposite connector. Guide

Independent project and model accuracy

FH__VentLib is an independent project and is not affiliated with, endorsed by, or approved by Lindab. Its models are planning aids, not manufacturer-certified product models. Verify current dimensions, performance data, installation requirements and availability before ordering, fabrication, installation or compliance decisions.

Sources and model scope

Air-Circle planning part

Air-Circle DN100 inline fan

Choose Parts Generator → Fans → Generate Air-Circle to create the DN100 Source for BAUHAUS 23207127; use Create Instance to place it. Internal and undimensioned casing details are planning approximations. Automatic Append remains unavailable until insertion-stop dimensions are evidenced.

Official retailer product page · Source and model notes

Generator guide

v0.55.2

MFI DN 160 project correction

MFI offers DN 160 instead of DN 150 for both Type 25 and Type 50. This is a project modelling decision for a suspected source printing error, not a manufacturer-confirmed revision. Verify the current manufacturer documentation before ordering or installation. MFI guide

Persistent Planning Colors profiles

New and edited profiles are saved immediately in Blender user preferences, even with Auto-Save disabled. Profile changes survive a restart and scene reload. Existing instance colors remain unchanged until explicitly applied. Profile guide

Reliable Chain core

The visible Chain Order is the sole operational direction, while old parent/child edge direction is treated as storage provenance. One-port terminals are supported and every topology mutation validates transactionally.

Chain operations

Chain rows select one occurrence exclusively. Invert Chain supports terminal one-port parts, Solve From Active translates the active and following suffixes without changing rotation or being transformed twice by Chain Parenting, and Cut Chain splits the exact edge after the active row without moving geometry.

Read-only panel status

Panel drawing no longer synchronizes connector metadata inside Blender's restricted context. Cut Length and Fit Inbetween therefore remain visible for eligible SRI, SR and SRSS occurrences.

Unified Fit Inbetween

The same context-aware action creates the first exact Cut from an internal fresh stock Instance or rebuilds an existing Cut in place. With one separate endpoint selected and the Cut active, it translates the selected side onto the Cut axis even when Location-locked, captures the aligned lock target, connects it and fits the gap transactionally.

Assembly requirements

Chain Order can represent the intended sequence before every coupling is present. VentLib flags unequal DN values and known male-to-male or female-to-female neighbors as Work required, naming MFI, NPU, NPUI or a suitable reducer/adapter. Direct Append and Join + Move refuse incomplete joints; Join in Place records them without moving geometry.

Join Chains

The active chain stays authoritative. Join + Move closes a compatible seam rigidly; Join in Place preserves every world transform and combines only the logical order. Required order inversions and one-part endpoint selection are automatic.

Constrained Re-fit

Following-side World Location, Rotation and Size locks remain authoritative per channel. Compatible partial locks use their free channels; conflicting constraints roll back the complete operation.

Cut workflow placement

Fresh stock INST_… and baked CUT_… occurrences expose Fit Inbetween directly after Append. A fresh Instance additionally retains Cut Entered Length for manual cuts without two neighbours.

Re-fit Cut

An internal baked SRI/SR/SRSS keeps its Blender Object identity while its exact millimetre geometry is regenerated from the staged Chain gap. The fixed previous member stays put and the following side is re-appended transactionally within its World locks.

Profile-safe names

Non-neutral __SUPPLY, __EXTRACT and custom profile suffixes survive reloads and Source updates while stored Chain/Append references follow the actual Blender name.

New Append transfer

A connector-pair click releases only the selected inactive part from its old chain and transfers it into the active target's surviving chain.

Reversible relationships

Append Off remembers but does not apply the last relation; Append On restores it as Re-Append. Parenting remains independent.

Solver locks

Locked components remain directly movable with Blender G/R and can still be appended without silently overriding their target pose.

Proportional SRSS

A persistent toggle controls whether eligible SRSS components share required length changes.

Curve Guide Fit

A selected Bezier or Poly curve attracts internal chain components while two locked endpoint poses remain authoritative.

Ordered Assembly

Move parts up or down in the tracked OCL sequence without losing staged poses; obstacles remain automatic spatial overlays.

Automatic Pipe Routing

The centerline plan avoids inflated obstacles and preserves partial World-axis locks. Apply Catalog Route inserts demanded bends, replaces surplus bend capacity and validates the complete assembly transactionally.

One product definition

Each exact variant has one functional SOURCE below 2HE_MEP/HVAC. Product-defining values are part of its ID; no WORK definition is generated.

Source-only Generate

Generate creates and selects only the canonical SRC_… object. It does not silently create a project placement.

Create Instance

With a Source or occurrence active, Create Instance places INST_… using the Scene-saved L/R/S × X/Y/Z defaults.

Connector Pivot

A/B/C/D temporarily use the connector cursor pivot. Selecting another object restores Active Element and its object-origin gizmo through a short-lived watcher.

Generator and instance workflow

  1. Choose the complete product variant and click Create. A new product creates only its canonical Source; an existing product selects that Source.
  2. Move the selected Source into the visible warehouse and use Commit Source Position to preserve every existing instance pose.
  3. Select the Source or one of its occurrences, set the optional collapsed Instance Transform Defaults, and click Create Instance.

Assembly workflow

  1. Build tracked connections with the required connector mappings.
  2. Use the Chains-list P control when following parts should move together, then switch it off while preserving their world poses.
  3. Select any occurrence and expand Chain for order, inversion, connection cutting and local seam solving.
  4. Expand Solver for advanced World locks, whole-chain solving and guide routing.
  5. Set Solver Locks on architectural endpoints; they remain directly movable with G/R/S.
  6. Use Solve Between Locks or Live Solve and read unresolved-length diagnostics when a side cannot reach.
  7. For guided routing, choose a Curve under Guide Fit (Prototype) and click Fit Chain to Guide.
  8. Expand Components only when another catalogue part is needed.

Compatibility and validation

Documentation

Additional source definitions: enable Create additional SRC definition to create __VAR-B, __VAR-C, etc. Procurement still groups these alternatives as one product.