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.