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:
+30
-7
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user