pyautocad: ‘Call was rejected by callee’

I dette blogindlæg vil jeg diskutere en fejl, der opstår under automatisering af opgaver i AutoCAD ved hjælp af pythoncom-modulet.- Pythoncom-modulet er et AutoCAD-automatiseringsmodul i Python. Jeg vil også give en løsning på det samme. Fejlen, som jeg vil håndtere, er fejlen “Opkaldet blev afvist af den opkaldte”.

Årsag til fejlen “Opkaldet blev afvist af den opkaldte”.

Hovedårsagen til at få denne fejl, mens du arbejder med AutoCAD-automatisering ved hjælp af pythoncom, er opkaldshastigheden. Dvs. hastigheden på at foretage opkald.

De efterfølgende opkald, som vi foretager for at udføre visse opgaver i AutoCAD, er hurtigere, end applikationen kan håndtere.

Dette giver i sidste ende fejlen ‘Opkaldet blev afvist af den opkaldte’.

Løsning på fejlen “Opkaldet blev afvist af den opkaldte”.

For at løse dette problem kan vi bruge ‘sleep’-metoden ved at importere ‘time’-modulet til Python.

time.sleep(5)

Denne metode skal udføres efter udførelse af visse tunge funktioner, som bruger en betydelig mængde computerressourcer under udførelse af opgaver. Vi skal sende parametre som sekunder for at suspendere en proces af den aktuelle tråd i et bestemt tidsrum.

Som nævnt i koden ovenfor suspenderer jeg udførelsen i 5 sekunder.

Eksemplarisk applikation til at løse fejlen

Koden nævnt nedenfor repræsenterer en underproces af en kode. Jeg skal slå viewporten til for at udføre visse opgaver på viewporten. Men mens jeg arbejder med flere visningsporte, ender jeg med at få fejlen “Opkaldet blev afvist af den ringede”.

For at afbøde det samme tvinger jeg processen til at vente i 0,5 sekunder og derefter fortsætte.

def turn_on_viewport(viewport):
    viewport.ViewportOn = True
    print("Viewport On: " + str(viewport.ViewportOn))
    time.sleep(0.5)

For yderligere flere blogindlæg, der dækker AutoCAD-automatisering, se venligst vores andre blogindlæg relateret til pyautocad og pywin32 .

Efterlad venligst eventuelle spørgsmål, du måtte have, som en kommentar nedenfor. Du er velkommen til at kontakte os for teknisk assistance. Det kan du gøre ved at bruge vores kontaktformular.

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