Files
drt-verbindungszaehler/lib/analyze.py
T
2025-12-02 16:21:38 +01:00

53 lines
1.5 KiB
Python

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()