AutoCAD-Objektoperationen mit pyautocad

In diesem Blogbeitrag werde ich einige sehr gängige AutoCAD-Operationen vorstellen und erläutern, wie wir sie mit pyautocad in einem Python-Skript implementieren können. Wir besprechen das Kopieren, Verschieben/Einfügen, Löschen, Drehen, Versetzen, Skalieren und Hervorheben von Objekten.

Python-Skript und AutoCAD-Modell einrichten

Zunächst richten wir unsere Arbeitsumgebung für die Ausführung von Aktionen an der AutoCAD-Vorlage mit dem Python-Modul pyautocad ein.

from pyautocad import Autocad, APoint, aDouble
from math import *

acad = Autocad(create_if_not_exists=True)

Hinzufügen von AutoCAD-Objekten zur Zeichnungsvorlage mit pyautocad in Python

Wie wir bereits in unseren vorherigen Blogs in dieser Pyautocad-Serie über das Erstellen von Objekten besprochen haben, werden wir einige Objekte zeichnen, um die oben erwähnten Operationen an ihnen auszuführen.

c1 = acad.model.AddCircle(APoint(100, 100, 0), 100)
l1 = acad.model.AddLine(APoint(100,100), APoint(300, 350))
el1 = acad.model.AddEllipse(APoint(250, 300), APoint(700, 450), 0.5)

Wir haben also einen Kreis, eine Linie und eine Ellipse erstellt.

Wir werden mit der Methode „ZoomExtents“ in die erstellten Objekte hineinzoomen. Dieser Befehl funktioniert genauso wie der Standardbefehl „Alles zoomen“ in AutoCAD.

acad.app.ZoomExtents()
Abbildung 1: Übungsobjekte

Verwenden von Kopier-, Verschiebe- und Löschmethoden für grundlegende AutoCAD-Operationen

Da wir die grundlegenden AutoCAD- Objekte skizziert haben, beginnen wir mit drei der am häufigsten verwendeten Befehle, dh Kopieren, Verschieben und Löschen.

Die Art und Weise, wie das Kopieren bei der Verwendung von Pyautocad funktioniert, ist, dass wir eine Kopie eines vorhandenen Objekts erstellen, diese in einer Variablen speichern und die Methode „Verschieben“ verwenden, um sie an der gewünschten Stelle einzufügen.

c2 = c1.Copy()

c2.Move(APoint(100, 100), APoint(300, 300))

Hier kopieren wir den „c1“-Kreis und speichern die Kopie davon in der Variablen „c2“. Dann kopieren wir es von seinem vorhandenen Mittelpunkt, dh (100, 100, 0) nach (300, 300, 0), indem wir die Methode „Verschieben“ verwenden.

Abbildung 2.1: Kreis c1 nach c2 kopiert

Wie Sie den Abbildungen 1 und 2 entnehmen können, haben wir Kreis 1 an eine neue Position kopiert. Wenn wir unseren vorherigen Kreis „c1“ nicht mehr wollen, können wir ihn löschen; Andernfalls hätten wir den Kreis „c1“ mit der Move-Methode verschieben können, anstatt ihn zu kopieren.

Lassen Sie uns jetzt den Kreis „c1“ löschen.

Abbildung 2.2: Gelöschter Kreis c1

Drehen Sie AutoCAD-Objekte mit pyautocad in Python

Nun werden wir besprechen, wie Objekte gedreht werden. Hier kopieren wir die Linie l1 und drehen sie von ihrem bestehenden Basispunkt (100, 100, 0) um 90 Grad.

l2 = l1.Copy()

l2.Rotate(APoint(100,100), pi*90/180)
Abbildung 3: Gedrehte Linie l1 bis l2

Versetzt Objekte in AutoCAD mit pyautocad

Lassen Sie uns nun besprechen, wie Sie Offsets von Objekten nehmen. Wir benötigen die Offset-Methode, um sie für das Objekt zu verwenden, für das wir diesen Offset wünschen.

Hier nehmen wir einen Versatz für die vorhandene Ellipse, dh „el1“.

el2 = el1.Offset(10)
Abbildung 4: Versatz der Ellipse el1

Skalieren von AutoCAD-Objekten in Python

Um ein Objekt nach oben oder unten zu skalieren, benötigen wir die „Offset“-Methode, die für das zu skalierende Objekt verwendet wird.

Lassen Sie uns den bestehenden Kreis „c2“ verkleinern.

c3 = c2.ScaleEntity(APoint(300, 300), 0.5)
Abbildung 5.1: Verkleinerter Kreis c2

Falls wir viele Objekte zu behandeln haben, können wir das spezifische Objekt mit der „Highlight“-Methode hervorheben und den Parameter als „True“ übergeben.

l2.Highlight(True)  
Abbildung 5.2: Hervorgehobene Linie l2

Leave a Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Close

Meta