Bearbeiten von EAGLE .brd-Dateien mit Python

Einführung

Wenn ich die Verkabelung der .brd-Datei von Eagle ein wenig ändere, kann die Metallmaske nicht wiederverwendet werden, wenn auch die Position des Teils geändert wird. Ich möchte dies so weit wie möglich vermeiden, ohne es beim Ändern der Verkabelung zu bemerken Um dies zu vermeiden, habe ich in Python ein Programm geschrieben, das Änderungen in der Bewegung von Teilen überprüfen kann, die für das menschliche Auge unsichtbar sind. Dies ist also ein Memo.

Bedingungen

Der "Name" des Teils vor und nach der Änderung ist der gleiche.

Code

Wir nutzen die .brd-Datei von Eagle als XML-Datei. Suchen Sie zunächst das Element mit demselben Attribut "name" im Element "element" der alten Datei und im Element "element" der neuen Datei. Wenn danach die x- oder y-Koordinaten unterschiedlich sind, werden der Name des Teils und die (x, y) -Koordinaten vor und nach der Änderung angezeigt. Wenn kein Problem vorliegt, wird "Kein Fehler" angezeigt. ..

# -*- coding: utf-8 -*-
from xml.etree.ElementTree import *

def check(file1, file2):
    c = 1
    tree1 = parse(file1)
    elem1 = tree1.getroot()
    tree2 = parse(file2)
    elem2 = tree2.getroot()

    for e1 in elem1.getiterator("element"):
        for e2 in elem2.getiterator("element"):
            if e1.get("name", ) == e2.get("name", ):
                if e1.get("x") != e2.get("x") or e1.get("y") != e2.get("y"):
                    print "Error"
                    print "Parts Name = " + e1.get("name")
                    print ("x1=" + e1.get("x")) * (e1.get("x") != e2.get("x"))
                    print ("x2=" + e2.get("x")) * (e1.get("x") != e2.get("x"))
                    print ("y1=" + e1.get("y")) * (e1.get("y") != e2.get("y"))
                    print ("y2=" + e2.get("y")) * (e1.get("y") != e2.get("y"))
                    c = 0
    return c

if __name__ == "__main__":
    file1 = raw_input() #Geben Sie den Pfad der Datei vor der Änderung ein
    file2 = raw_input() #Geben Sie den Pfad der geänderten Datei ein
    print "No error" * check(file1, file2)

verdienen

Im Gegensatz zum Linux-Befehl "diff" kann er auch dann angewendet werden, wenn die Reihenfolge von "element" unterschiedlich ist.

Referenz-URL

Referenz: http://hikm.hatenablog.com/entry/20090206/1233950923

Recommended Posts

Bearbeiten von EAGLE .brd-Dateien mit Python
Sortieren von Bilddateien mit Python (2)
Sortieren Sie große Dateien mit Python
Sortieren von Bilddateien mit Python (3)
Bilddateien mit Python sortieren
Integrieren Sie PDF-Dateien in Python
TXT-Dateien mit Python lesen
Extrahieren Sie Zip-Dateien rekursiv mit Python
[Python] POST-WAV-Dateien mit Anforderungen [POST]
Mit OpenSSL mit Python 3 verschlüsselte Dateien entschlüsseln
Behandeln Sie Excel-CSV-Dateien mit Python
Lesen Sie Dateien parallel zu Python
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
Spielen Sie eine Audiodatei von Python mit Interrupt ab
Betrieb der ACL von Cisco IOS-XE mit RESTCONF (Python-Version)
Mit openssl verschlüsselte Dateien werden mit openssl aus Python entschlüsselt
Automatisieren Sie Jobs, indem Sie Dateien in Python bearbeiten
Lesen und Schreiben von JSON-Dateien mit Python
Laden Sie mit Python Dateien im Web herunter
[Easy Python] Lesen von Excel-Dateien mit openpyxl
[Easy Python] Lesen von Excel-Dateien mit Pandas
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Behandeln Sie Zip-Dateien mit japanischen Dateinamen in Python 3
Ziehen Sie eine lokale Datei mit Selenium (Python) per Drag & Drop.
Zeichenkodierung beim Umgang mit Dateien in Python 3
Laden Sie Dateien mit Lambda (Python) auf Google Drive hoch.
Lesen und Schreiben passt Dateien mit Python (Memo)
Konvertieren Sie mehrere Protodateien gleichzeitig mit Python
Lesen Sie WAV-Dateien nur mit dem Python-Standardpaket
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Laden Sie Dateien mit Django hoch
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Extrahieren Sie die Tabelle der Bilddateien mit OneDrive & Python
Sequentielle Suche mit Python
"Objektorientiert" mit Python gelernt
Führen Sie Python mit VBA aus