import sys from pathlib import Path from dxf_analyzer import IntersectionAnalyzer from datetime import datetime def main(): if len(sys.argv) < 2: print("Bitte eine DXF-Datei angeben.") sys.exit(1) dxf_file = Path(sys.argv[1]) if not dxf_file.exists(): print(f"Datei nicht gefunden: {dxf_file}") sys.exit(1) # Kommandozeilenparameter auslesen oder Standardwerte verwenden layers = sys.argv[2] if len(sys.argv) > 2 else "D-1,D-5" tolerance = float(sys.argv[3]) if len(sys.argv) > 3 else 0.04 mark_radius = float(sys.argv[4]) if len(sys.argv) > 4 else 100 layer_list = [layer.strip() for layer in layers.split(",")] base_name = dxf_file.stem script_dir = Path(__file__).resolve().parent output_dir = (script_dir / ".." / "output").resolve() output_dir.mkdir(parents=True, exist_ok=True) datum = datetime.now().strftime("%Y%m%d_%H-%M") output_dxf = output_dir / f"{base_name}_markiert_{datum}.dxf" output_txt = output_dir / f"{base_name}_analyse_{datum}.txt" analyzer = IntersectionAnalyzer( dxf_path=str(dxf_file), layer_names=layer_list, tolerance=tolerance, mark_radius=mark_radius ) success = analyzer.analyze( output_dxf=str(output_dxf), output_txt=str(output_txt) ) if success: print(f"Ergebnis-DXF: {output_dxf}") print(f"Analyse-Textdatei: {output_txt}") else: print("Analyse konnte nicht erfolgreich abgeschlossen werden.") if __name__ == "__main__": main()