Display-Modes: 3D-Template + Auto-Assign + Material/Raytracing-Slots

- Neues Template rhino/templates/dossier_3d.ini fuer perspektivische Views
- Registry-Loop in oberleiste.py generalisiert (Plan + 3D + Material +
  Raytracing) — Material/Raytracing skippen wenn kein Template vorhanden,
  um Cycles-Pipeline-Clone-Crash zu vermeiden
- Guid-Replace praezisiert: nur Section-Header-Guid, nie PipelineId
- Plan-spezifische ini-Patches auf target_name=="Dossier Plan" gegated
- Auto-Assign in startup.py: Parallel-Viewports -> Plan, Perspective -> 3D,
  einmal-pro-Doc via doc.Strings-Flag (User-Overrides bleiben)
- schnitte.activate_schnitt setzt Dossier Plan explizit (Hatches auch in
  Schnittperspektive sichtbar)
- GestaltungApp Section-Block neu strukturiert: PenBlock fuer 3D als 'Fill'
  innerhalb der Section, Solid-Fill-Toggle entfernt (war Duplikat)
This commit is contained in:
2026-05-26 18:26:49 +02:00
parent 13a5e1eb7a
commit 02a00a9b4a
5 changed files with 497 additions and 59 deletions
+11
View File
@@ -293,6 +293,17 @@ def activate_schnitt(doc, z, skip_view=False):
vp.ChangeToParallelProjection(True)
vp.SetCameraLocations(target, cam_pos)
vp.CameraUp = rg.Vector3d(0, 0, 1)
# Display-Mode auf 'Dossier Plan' — auch bei Perspektive, damit
# die Section-Hatches sichtbar sind. User kann manuell wechseln.
try:
from Rhino.Display import DisplayModeDescription
for dm in DisplayModeDescription.GetDisplayModes():
try:
if dm.EnglishName == "Dossier Plan":
vp.DisplayMode = dm
break
except Exception: pass
except Exception: pass
# Zoom auf Schnitt-BoundingBox + etwas Rand. Bei Perspektive
# macht ZoomBoundingBox auch Sinn — Rhino passt das FOV-Frame
# entsprechend an.