AutoCAD-objektoperationer med pyautocad

dette blogindlæg vil jeg introducere nogle meget almindelige AutoCAD-operationer, og hvordan vi kan implementere dem i et Python-script ved hjælp af pyautocad. Vi vil diskutere, hvordan man kopierer, flytter/indsætter, sletter, roterer, forskyder, skalerer og fremhæver objekter.

Opsætning af Python-script og AutoCAD-model

Først og fremmest vil vi sætte vores arbejdsmiljø op til at udføre handlinger på AutoCAD-skabelonen ved hjælp af Pythons pyautocad-modul.

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

acad = Autocad(create_if_not_exists=True)

Tilføjelse af AutoCAD-objekter til tegneskabelon ved hjælp af pyautocad i Python

Som vi allerede har diskuteret fra vores tidligere blogs i denne pyautocad-serie om at skabe objekter, vil vi tegne nogle objekter for at udføre operationerne på dem som nævnt ovenfor.

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)

Så vi har skabt en cirkel, en linje og en ellipse.

Vi vil zoome ind på de oprettede objekter ved hjælp af “ZoomExtents” metoden. Denne kommando fungerer på samme måde som standardkommandoen “zoom alle” i AutoCAD.

acad.app.ZoomExtents()
Figur 1: Øveobjekter

Brug af kopierings-, flyt- og sletmetoder til grundlæggende AutoCAD-handlinger

Da vi har skitseret de grundlæggende AutoCAD- objekter, starter vi med tre af de mest brugte kommandoer, nemlig kopier, flyt og slet.

Måden kopiering arbejde, mens du bruger pyautocad, er, vi kan oprette en kopi af et eksisterende objekt, gemme det i en variabel og bruge “Move” metoden til at indsætte det på den ønskede placering.

c2 = c1.Copy()

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

Her kopierer vi “c1”-cirklen og gemmer replikaen af ​​den i variablen “c2”. Derefter kopierer vi det fra dets eksisterende midtpunkt, dvs. (100, 100, 0) til (300, 300, 0) ved at bruge “Flyt”-metoden.

Figur 2.1: Kopieret cirkel c1 til c2

Som du kan se på figur 1 og 2, har vi kopieret cirkel 1 til en ny placering. Nu, hvis vi ikke vil have vores tidligere cirkel “c1”, kan vi slette den; ellers kunne vi have flyttet cirklen “c1” ved hjælp af Move-metoden i stedet for at kopiere den.

Lad os slette cirklen “c1” nu.

Figur 2.2: Slettet cirkel c1

Roter AutoCAD-objekter med pyautocad i Python

Nu vil vi diskutere, hvordan man roterer objekter. Her kopierer vi linje l1 og roterer den samme fra dets eksisterende basispunkt (100, 100, 0) til 90 grader.

l2 = l1.Copy()

l2.Rotate(APoint(100,100), pi*90/180)
Figur 3: Roteret linje l1 til l2

Forskyder objekter i AutoCAD ved hjælp af pyautocad

Lad os nu diskutere, hvordan man tager forskydninger af ethvert objekt. Vi skal bruge Offset-metoden til at bruge mod det objekt, vi vil have den offset for.

Her vil vi tage offset for den eksisterende ellipse, dvs. “el1”.

el2 = el1.Offset(10)
Figur 4: Offset af ellipse el1

Skalering af AutoCAD-objekter i Python

For at skalere et objekt op eller ned skal vi bruge “Offset”-metoden, der skal bruges i forhold til det objekt, vi ønsker at skalere.

Lad os nedskalere den eksisterende cirkel “c2”.

c3 = c2.ScaleEntity(APoint(300, 300), 0.5)
Figur 5.1: Nedskaleret cirkel c2

I tilfælde af, at vi har mange objekter at håndtere, kan vi fremhæve det specifikke objekt ved hjælp af “Highlight”-metoden og sende parameteren som “True”.

l2.Highlight(True)  

Leave a Reply

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close

Meta