Active Qt
Verfasst: 21. April 2014 19:31
Hallo,
ich versuche seit einigen Tagen in QT die SolidWorks Library zu implementieren. Das ganze habe ich mit dem kurzen Ausschnitt
versucht. Bei der dritten Zeile, in der ich ein Objekt von SW erzeuge, erhalte ich eine Fehlermeldung
Anscheinend gibt es das Objekt nicht, das gibt es aber laut Anleitung. Ich habe es auch mit PartDoc oder SldWorks::IPartDoc probiert, mit dem gleichen Ergebnis. Das wäre Frage nummer 1.
Die andere Frage ist, ob man in Qt die ATL Unterstützung einbinden kann, so dass ich die klassen und Methoden, die in SW bereitgestellt werden, direkt benutzen kann. In Solidworks gibt es eine sldworks.tlb Datei. Ich konnte bis jetzt dazu finden, dass man dumpcpp in der pro datei benutzen könnte. Leider kann ich das ganze nicht zusammen bringen, da es zu dem Thema kaum bzw. keine Beispiele gibt. Vielleicht kann mir einer ein paar Tipps geben wie ich es am besten angehen kann.
ich versuche seit einigen Tagen in QT die SolidWorks Library zu implementieren. Das ganze habe ich mit dem kurzen Ausschnitt
Code: Alles auswählen
QAxObject * swApp = new QAxObject("SldWorks.Application.20",0);
swApp->dynamicCall("Visible", false);
QAxObject *swDoc = swApp->querySubObject("IPartDoc");
bool boolstatus = false;
int longstatus = 0;
int longwarnings = 0;
swPart=swApp->querySubObject("NewDocument(QString,QString,QString,QString)", QString("C:\\ProgramData\\SolidWorks\\SolidWorks 2009\\templates\\Teil_testWK.prtdot"), QString("0"), QString("0"), QString("0"));
swPart->querySubObject("SaveAs3(QString,QString,QString)",QString("C:\\Projekte\\test\\ant 40-019.SLDPRT"),QString("0"),QString("2"));
Code: Alles auswählen
QAxBase::dynamicCallHelper: IPartDoc: No such property in {b4875e89-91f6-4124-bb63-2539727e98fa} [{B4875E89-91F6-4124-BB63-2539727E98FA}]
Candidates are:
IActiveDoc
IActiveDoc2
Die andere Frage ist, ob man in Qt die ATL Unterstützung einbinden kann, so dass ich die klassen und Methoden, die in SW bereitgestellt werden, direkt benutzen kann. In Solidworks gibt es eine sldworks.tlb Datei. Ich konnte bis jetzt dazu finden, dass man dumpcpp in der pro datei benutzen könnte. Leider kann ich das ganze nicht zusammen bringen, da es zu dem Thema kaum bzw. keine Beispiele gibt. Vielleicht kann mir einer ein paar Tipps geben wie ich es am besten angehen kann.