I 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()
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.
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.
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)
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)
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)
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)
Industriingeniør som gerne beskæftiger sig med optimering, simulation og matematisk modellering i R, SQL, VBA og Python
Leave a Reply