Ausserhalb der Bereiche liegende Symbole werden im dxf von einem Kreis umgeben, um neben der Consoleausgabe auch ein graphisches Feedback zu bekommen. Angabe des Einfügepunktes am Symbol in der Config möglich. Der MA Block kann im Zentrum, an der linken oberen Ecke etc. positioniert werden. Nummerierung2 wurde vergrössert, damit die Symbole sich nicht überschneiden.

This commit is contained in:
2026-01-26 19:09:02 +01:00
parent b82c751ba9
commit e214e9d21e
3 changed files with 365 additions and 77 deletions
+30 -7
View File
@@ -693,7 +693,35 @@ def process_renamer_blocks(doc, msp, renamer_layers, error_collector):
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Nummeriert Symbole in DXF-Dateien basierend auf Renamer-Blöcken', prog='create_numbers')
# Lese Umgebungsvariablen vor argparse, um Config-Info in Hilfe anzuzeigen
out_dir = check_environment_var('PROJECT_DATA')
work_dir = check_environment_var('PROJECT_WORK')
config_dir = check_environment_var("PROJECT_CFG")
# Versuche Config zu lesen für --help Ausgabe
config_path = Path(config_dir) / "enumerate.cfg"
available_layers = []
if config_path.exists():
try:
available_layers = read_config_layers(config_path)
except Exception:
pass # Ignoriere Fehler beim Lesen für --help
# Erstelle Epilog mit verfügbaren Layern
epilog_text = "\nKonfigurierte Renamer-Layer:\n"
if available_layers:
epilog_text += " " + ", ".join(available_layers) + "\n"
epilog_text += f"\n(aus Konfigurationsdatei: {config_path})"
else:
epilog_text += " (keine Layer konfiguriert oder Config-Datei nicht gefunden)\n"
epilog_text += f" Standard-Pfad: {config_path}"
parser = argparse.ArgumentParser(
description='Nummeriert Symbole in DXF-Dateien basierend auf Renamer-Blöcken',
prog='create_numbers',
epilog=epilog_text,
formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument('-f', '--filename', action='store', required=True, help='DXF-Datei die verarbeitet werden soll', metavar='myfile.dxf')
parser.add_argument('-e', '--errorfile', action='store', required=False, help='JSON-Datei für Fehler und Warnungen', metavar='errors.json')
parser.add_argument('-w', '--write', action='store', help='Schreibe Ergebnisse der Nummerierung in eine JSON-Datei')
@@ -701,10 +729,6 @@ if __name__ == '__main__':
args = parser.parse_args()
out_dir = check_environment_var('PROJECT_DATA')
work_dir = check_environment_var('PROJECT_WORK')
config_dir = check_environment_var("PROJECT_CFG")
# Initialisiere ErrorCollector
error_collector = ErrorCollector()
@@ -719,8 +743,7 @@ if __name__ == '__main__':
parser.print_help()
exit(1)
# Lese Konfiguration
config_path = Path(config_dir) / "enumerate.cfg"
# Config-Datei existiert bereits (wurde für --help geprüft)
if not config_path.exists():
print(f"Konfigurationsdatei nicht gefunden: {config_path}")
exit(1)