Programim dhe zhvillim, javascript, python, php, html

Importoni vizatimin autocad në Python

Kam një problem të madh duke përdorur import metodë e Atocad ActiveX, dokumenti thotë se nënshkrimi i tij është:

RetVal = (Document)object.Import((String)FileName, (Variant (three-element array of doubles))InsertionPoint, (Double)ScaleFactor)

Unë jam duke përdorur fragmentin e mëposhtëm të kodit:

import array
import comtypes.client
acad = comtypes.client.GetActiveObject("AutoCAD.Application")
doc = acad.ActiveDocument
ms = doc.ModelSpace
doc.Import("C:/path/to/the/drawing.dwg", array.array('d', [0, 0, 0]), 1.0)

Por unë marr gabimin e mëposhtëm:

Traceback (most recent call last):
  File ".\script.py", line 30, in <module>
    doc.Import("C:/path/to/the/drawing.dwg", array.array('d', [0, 0, 0]), 1.0
)
_ctypes.COMError: (-2147024809, 'The parameter is incorrect.', (u'Invalid argument', u'AutoCAD', u'C:\\Program Files\\Au
todesk\\AutoCAD 2015\\HELP\\OLE_ERR.CHM', -2145320901, None))

Problemi është: cili parametër është i gabuar?!! Zakonisht unë gjithmonë i kaloj koordinatat metodave të autocad siç bëra në argumentin e dytë, funksionon gjithmonë, a mund të më ndihmoni ju lutem?

EDIT Jam përpjekur të kaloj [0.0, 0.0, 0.0] të njëjtin gabim

22.03.2015

  • Unë normalisht do të veçoja që të kaloja një listë normale në vend të një grupi. A keni provuar thjesht [0, 0, 0] në vend të grupit? Gjithashtu, 0 është një int. Provoni 0.0. 23.03.2015
  • A keni provuar: Dim point(0 deri në 2) Si Double : point(0) = 1.0 : point(1) = 1.0 : point(2) = 1.0 : acadDoc.Import(jourdha, pika, 1.0) ? 23.03.2015
  • Vargjet @DavidK.Hess duhet të kalohen si safeArrays, kjo është arsyeja pse array.array duhet të përdoret, gjithashtu, d konverton int në double 23.03.2015
  • @EdwardBagby Unë jam duke koduar në Python dhe jo në VBA! 23.03.2015
  • A keni provuar të përdorni open në atë shteg skedari për të vërtetuar se skedari është vërtet i disponueshëm aty ku mendoni se është i duhuri në atë moment? 23.03.2015
  • @DavidK.Hess po, ekziston, fatkeqësisht me open nuk importohet si bllok por thjesht vizatim... gjithsesi gjeta një zgjidhje, faleminderit për ndihmën tuaj të çmuar 23.03.2015

Përgjigjet:


1

Nuk jam i sigurt nëse e keni kuptuar ndonjëherë, por ju merrni COMError sa herë që ka një komandë në pritje në AutoCAD. Gabim COME është sepse si skripti juaj ashtu edhe vetë programi po përpiqen të hyjnë në të njëjtën ndërfaqe. Duhet të shtypni manualisht escape dy herë në AutoCAD dhe nuk duhet t'ju japë gabim. Nëse ndonjëherë gjeni një mënyrë për ta bërë kodin python të përdorë ndërfaqen COM për të goditur escape për ju, më njoftoni.

23.08.2016
  • ka kaluar një kohë shumë e gjatë, por më kujtohet se ajo që thua është e vërtetë, zakonisht pres (funksioni i gjumit) disa sekonda para se të filloj të manipuloj shortin pasi të fillojë akademia 23.08.2016
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..