| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| 3DEXPERIENCE Conference 2024 | München, eine Veranstaltung am 16.10.2024
|
Autor
|
Thema: Assembly über API (510 mal gelesen)
|
Bernd Rudolph Mitglied EDV Organisation
Beiträge: 14 Registriert: 13.02.2001
|
erstellt am: 26. Okt. 2004 08:40 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! Seit einem halben Jahr versuche ich nun (teilweise recht erfolgreich) Solid Works (2003 mit SP5.1) Kunststückchen beizubringen und bin nun auf ein Problem gestoßen, für das ich keine Lösung finde. Da es natürlich auch sein kann, daß ich einfach nur urlaubsreif bin, hier die Fakten: Ich bringe es nicht fertig, mit VB(5) über "AddComponent" Teile aus einer Datei einzufügen. Entweder tut sich überhaupt nichts oder er meckert über nicht definierte Objektvariable (auch bei recordeten Makros). Wenn jemand dieses Drama schon kennt und mir ein Aha-Erlebnis bescheren kann, wäre ich dankbar. Gruss und Dank im voraus ... Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kalle Mitglied Student
Beiträge: 706 Registriert: 14.04.2002
|
erstellt am: 26. Okt. 2004 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd Rudolph
Aheu Bernd, vielleicht wäre es hilfreicher wenn Du Deinen Programmcode, der Dir Sorgen bereitet hier kurz postest. Denn mich in ein Problem reinzudenken, dass für mich nicht unmittelbar greifbar ist fällt (zumindest mir) etwas schwer. Bis dann, Kalle Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd Rudolph Mitglied EDV Organisation
Beiträge: 14 Registriert: 13.02.2001
|
erstellt am: 26. Okt. 2004 14:24 <-- editieren / zitieren --> Unities abgeben:
Kalle sei gegrüßt! Ich habe mein Vorhaben nochmals aufgezeichnet. Beim Starten dieses Makros brachte er wieder den Spruch mit der Objektvariablen, und der Debugger zeigte, daß er mit dem Part.AddComponent überhaupt nicht einverstanden ist. Die Baugruppen - Vorlage wurde hingegen noch richtig geladen. Hier das Makro in Extraktform: Dim swApp As Object Dim Part As Object Dim Component As Object Sub main() Set swApp = Application.SldWorks Set Part = swApp.NewDocument("W:\SWX\...\Baugruppe allgemein.asmdot", 0, 0#, 0#) Set Part = swApp.ActivateDoc("Baugruppe1") Part.AddComponent "C:\...\xxxxxx.SLDPRT", 0, 0, 0 End Sub Irgendwie glaube ich, daß ich derzeit nur den Wald vor Bäumen nicht sehe und die Lösung auf der Hand liegt. Für Deine Mühen erstmal Dank .... Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bruggmann Mitglied Konstrukteur (& Nachdiplomstudium Software-Engineering)
Beiträge: 85 Registriert: 17.03.2004 Workstation: Fujitsu Siemens P4 3.2GHz 2.0 GB RAM Win XP SP1 - SW2005 SP0.1 (PDM: Smarteam)<P>Laptop: Compaq Evo 800w P4 2GHz 500MB RAM WinXP SP2 - SW2005 SP0.1 (PDM: ec-Manager, eigenes Tool..)
|
erstellt am: 26. Okt. 2004 14:55 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd Rudolph
ich weiss noch dass ich mal das selbe problem hatte. wen ich dran denke schaue ich heute abend mal nach wie das gieng. bin grad extern.. bei mir war es was kleines, aber ich bekam dieselbe fehlermeldung ------------------ ---------- encom GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kalle Mitglied Student
Beiträge: 706 Registriert: 14.04.2002
|
erstellt am: 28. Okt. 2004 18:27 <-- editieren / zitieren --> Unities abgeben: Nur für Bernd Rudolph
Aheu Bernd, ist das Teil, welches Du einfügen möchtest schon geladen? Das muss nämlich der Fall sein. In der Hilfe liefert AddComponent einen Wahr/Falsch Wert zurück. An sich sollte es auch mit Deiner Syntax gehen, aber versuch's doch einfach mal mit retval = Part.AddComponent Des weiteren ist (zumindest bei mir) AddComponent4 schon aktuell. Das liefert gleich einen Zeiger auf die eingefügte Komponente. Probiers sdoch mal damit bzw. mit dem was bei SWX 2003 SP5.1 grade aktuell ist). Hab's selbst jetzt noch nicht ausprobieren können (Zeitmangel), hoffe aber, dass es mit oben genannten Hinweisen klappt. Falls nicht, dann melde Dich nochmal. Bis dann, Kalle Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd Rudolph Mitglied EDV Organisation
Beiträge: 14 Registriert: 13.02.2001
|
erstellt am: 29. Okt. 2004 08:01 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Kalle! Was manuell geht, muß noch lange nicht über API zu realisieren sein. Das wusste ich und habe es bei dieser Aktion trotzdem wieder mal ignoriert. Wenn eine Baugruppe geladen ist, funktioniert auch das "AddComponent" erfolgreich per API. Der Knoten ist geplatzt, die Zukunft meines Projektes gesichert, und ich um die Erfahrung reicher, daß man anstatt sich an einen Vorgang festzubeißen, die Erinnerung an bereits schon mal gemachte Erfahrungen herauskramen sollte. Nochmals Dank für Deinen Anstoß, der mich auf die richtige Fährte geführt hat und Gruß aus Oberschwaben .... Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |