TL;DR Deze Python-app geeft je een snelle, point-and-click manier om metadata van Autodesk Inventor-bestanden (.ipt, .iam, .idw, .dwg) bulkmatig te bekijken en te bewerken. Het:
Scant een map op Inventor-bestanden Leest kernvelden (Part Number, Title, Subject, Comments, Revision, Date Checked) Laat je de meeste velden inline bewerken in een tabel-UI (Dear PyGui) Schrijft updates terug naar de native Inventor-bestanden via COM Update Date Checked automatisch wanneer er iets wijzigt Exporteert een Markdown “Part Registry”-tabel voor je notities/wiki Inventor-automatisering draait veilig in een dedicated COM-thread, zodat de UI vlot blijft en niet vastloopt. Welke problemen dit oplost Handmatig eigenschappen aanpassen is traag: Bestanden één voor één in Inventor openen is pijnlijk. Inconsistente metadata: Revision/Title/etc. lopen na verloop van tijd uiteen. Statusrapportage: Je wilt een nette Markdown-tabel om in docs of Notion/Wiki te plakken. Deze tool stopt dat allemaal in één, vriendelijke window. Vereisten (de “ja, het is Windows”-sectie) Windows (COM + win32com.client) Autodesk Inventor geïnstalleerd (zodat COM-automatisering werkt) Python-pakketten: dearpygui (UI) pywin32 (win32com.client + pythoncom) tkinter (meestal ingebouwd in Python op Windows; gebruikt voor schermgrootte en bestandsdialoog) Architectuur op hoofdlijnen UI (Dear PyGui): Toont een tabel voor inline bewerken, mapselectie en knoppen (Reload, Apply Changes, Close). COM-werkthread: Draait Inventor-automatisering in een eigen STA (single-threaded COM-apartment). De UI post jobs via een thread-veilige queue; resultaten komen terug via concurrent.futures.Future. Bestand/metadata-laag: Opent elk bestand via Inventor, leest/schrijft property sets en sluit netjes af. Markdown-export: Serialiseert de huidige in-memory rijen naar een mooie Git-vriendelijke tabel. Configuratieknoppen (boven in het bestand) FOLDER: Standaard scanlocatie voor CAD-bestanden. MD_OUT: Waar het Markdown-register wordt weggeschreven. EXTS: Welke bestandstypen worden meegenomen. COLUMNS: Weergavevolgorde van de tabelkolommen. EDITABLE: Welke kolommen de gebruiker in de UI kan wijzigen. Pas deze aan voor jouw projectstructuur of voeg extra properties toe. De Inventor-COM-helpers (lezen/schrijven van properties) Inventor openen def open_inventor(): inv = win32.Dispatch("Inventor.Application") inv.Visible = True return inv
We starten (of verbinden met) Inventor en maken het venster zichtbaar. Zichtbaarheid helpt bij debuggen en maakt COM vaak voorspelbaarder.
...