| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | Neue Version testen: myCADtools 2026 SP1 Beta, ein Fachartikel
|
|
Autor
|
Thema: API - saveAs2 (421 mal gelesen)
|
Baltenweck Mitglied Konstrukteur
 
 Beiträge: 170 Registriert: 13.03.2001 Früher brauche man 3 Comodore, um zum Mond zu fliegen - heute braucht man 1 Ghz um Windows zu starten...
|
erstellt am: 24. Apr. 2002 15:15 <-- editieren / zitieren --> Unities abgeben:         
Hallo API  'ler habe ein Problem mit saveAs2. Und zwar wird die geladene Baugruppe in meinenm Programm nicht aktualisiert bzw. das Teil nicht ersetzt. Wenn ich das mit dem Macrorecorder aufgezeichnet Macro laufen lasse funktionierts: Set swApp = CreateObject("SldWorks.Application") Set Part = swApp.ActiveDoc Part.saveAs2 "C:\xx.SLDPRT", 0, False, False Ich programmier mit Delphi und bis jetzt konnte ich die API problemlos ansprechen. Vielleicht liegts aber doch nur an dem Befehl ? Vielleicht kann mir auch jemand Tipps/Beispiele in VB schicken. Gruss
Patrick Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 24. Apr. 2002 15:36 <-- editieren / zitieren --> Unities abgeben:          Nur für Baltenweck
Hallo Patrick, ich hab zwar keine Ahnung von Delphi, aber kannst du vielleicht trotzdem deinen Problemcode mal schreiben? Was würden andere Beispiele in VB anders machen als das Makro in VBA, dass du selbst gepostet hast? Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baltenweck Mitglied Konstrukteur
 
 Beiträge: 170 Registriert: 13.03.2001 Früher brauche man 3 Comodore, um zum Mond zu fliegen - heute braucht man 1 Ghz um Windows zu starten...
|
erstellt am: 25. Apr. 2002 10:10 <-- editieren / zitieren --> Unities abgeben:         
Hallo Stefan, mit Delphi hat mein Problem (wie Du schon erkannt hast) nichts zu tun. Ist ne objektorientierte Sprache wie C++ & Co.  Habe aber jetzt folgendes feststellen muessen: Fall 1: Habe div. Baugruppen geladen, und lade dann ein Part aus einer BG mit rechter Maustaste. Mit SaveAs2 im Programm wird dann das Part unter einem neuen Namen gespeichert und die BG auch aktualisiert.
Fall 2: Selbe Baugruppen geladen. Lade dann ein Part mit OpenDoc2 unter genauer Angabe der Dateiposition. Mit SaveAs2 wird dann das Part unter einem neuen Namen gespeichert. Die BG wird aber nicht aktualisiert.  Ich nehme an dass ich noch nen Befehl einbauen muss der dieser BG klar machen muss dass ein Teil geoeffnet ist... oder so. Hoffentlich hab ich das verstaendlich ruebergebracht Gruss
Patrick Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)

 Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 25. Apr. 2002 11:11 <-- editieren / zitieren --> Unities abgeben:          Nur für Baltenweck
Hallo Patrick, wenn das Ding schon durch die Baugruppe geladen ist würde ich die SldWorks::ActivateDoc2 oder Component::GetModelDoc benutzen, um an das ModelDoc zu kommen. In der API Hilfe ist zu lesen You should also be aware that OpenDoc4 will not activate and display the document if the file is already "open" in memory in an assembly or drawing ..., dass sollte auch noch für die alte OpenDoc2 gelten. Vielleicht hilft aber auch ein einfaches EditRebuild in der Baugruppe ? Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baltenweck Mitglied Konstrukteur
 
 Beiträge: 170 Registriert: 13.03.2001 Früher brauche man 3 Comodore, um zum Mond zu fliegen - heute braucht man 1 Ghz um Windows zu starten...
|
erstellt am: 25. Apr. 2002 16:02 <-- editieren / zitieren --> Unities abgeben:         
Hallo Stephan, danke fuer Deine Hilfe. Mit ActivateDoc(nochmal jede BG) und dann erst saveAs2 hats funktioniert. Die Anderen Moeglichkeiten die du vorgeschlagen hast muss ich mal bei Gelegenheit pruefen. Gruss Patrick Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |