TH_Sammelbeschrifter v1.7 — WinForms-Parameterdialog und stabiler Dynamo-Player-Ablauf#1
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b94d9bfd83
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| except Exception as ex: | ||
| return {"ok": False, "error": "System.Windows.Forms nicht verfügbar: {}".format(ex)} |
There was a problem hiding this comment.
Use fallback dialog when WinForms cannot be loaded
show_options_dialog now returns {"ok": False} as soon as System.Windows.Forms is unavailable, and the caller treats that as a cancellation, so the run aborts in environments where WinForms/ShowDialog cannot be initialized. This is a functional regression because inputbox_fallback_options exists for exactly this case but is no longer called, which means Dynamo Player users lose the parameter-entry fallback instead of getting a recoverable prompt.
Useful? React with 👍 / 👎.
| tag = create_tag(tag_type, e, elem_mid, chosen_has_leader) | ||
| tag.TagHeadPosition = tag_head | ||
| if chosen_has_leader: set_perpendicular_leader(tag, Reference(e), tag_head, elem_mid) |
There was a problem hiding this comment.
Populate configured tag filter parameter on new tags
The tag creation loop no longer writes tag_filter_parameter/filter_source_parameter values onto each created tag, even though those inputs are still parsed and documented. In setups that rely on a tag parameter like TH_Filter_Systemtyp for view filters or tag styling, newly created tags will have missing filter data and therefore not match the expected filter behavior.
Useful? React with 👍 / 👎.
Motivation
Description
TH_Sammelbeschrifter_Dynamo_v1_7.pyhinzugefügt und in die neue Graph-DateiTH_Sammelbeschrifter_Dynamo_v1_7.dyneingebettet; die Logik sammelt Parameter erst nachPickObjectsund bietet die Schnittmenge der Parameter an.NumericUpDownfür Mindestabstand sowie OK/Abbrechen; der Dialog liefert eine geordnete Parameterliste zurück.PickObjects→ Parameterdialog →PickPointfür Punkt 1 und Punkt 2 → erst danachTransactionManager.Instance.EnsureInTransaction(doc)aufrufen; Platzierungslogik richtet Tags orthogonal (horizontal/vertical) aus und verwendet Abstand Punkt1→Punkt2 mit Mindestwert in mm.SystemExit-Abbrüche mehr; Fehler werden inresult["errors"]/OUTgeschrieben und zusätzlich perTaskDialogangezeigt; Fallback-Dialog (Microsoft.VisualBasic.InputBox) wenn WinForms nicht verfügbar.TH_Beschriftungstextgeschrieben; Führungslinien lotrecht zur projizierten Elementkurve gesetzt; optionale Farbübernahme prüft Elementüberschreibung und Ansichtsfilter und setzt Overrides auf den Tag.TH_Sammelbeschrifter_README_v1_7.mdbeigefügt mit Ablauf und bekannten Einschränkungen.Testing
python -m py_compile TH_Sammelbeschrifter_Dynamo_v1_7.pywurde ausgeführt und lieferte keinen Syntaxfehler.TH_Sammelbeschrifter_Dynamo_v1_7.dynwurde erzeugt und das Python-Script programmgesteuert in die Python-Node eingebettet (JSON-Write verifiziert).Codex Task