| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | Bechtle stärkt PLM-Geschäft mit Neugründung |
Autor
|
Thema: API: Teil aus der Zeichnung heraus öffnen (4285 mal gelesen)
|
finaloperator Mitglied Konstrukteur
Beiträge: 14 Registriert: 06.03.2006
|
erstellt am: 05. Aug. 2008 16:58 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, Könnt Ihr mir weiter helfen in VB6? Die Ausgangssituation ist, das eine Zeichnung geöffnet und aktiv ist. Jetzt soll eine Ansicht (eines Teils) aktiviert werden und danach das Teil in SWX geöffnet werden. Viele kennen das mit einem rechten Mausklick auf die Ansicht und dann "Teil öffnen"´ Das Teil ist auch schon im Hintergrund geladen(von der Zeichnung),klar. Der MakroPlayer nimmt den Befehl OpenCompFile auf(der auch nicht in der API Hilfe zu finden ist, nur in der dll), und anschließend kommt der OpenDoc Befehl. Nur das Prog bleibt stehen im Debug-Modus bei >>>> Set Part (AssamblyDoc) = Part (ModelDoc2) Part.OpenCompFile Kann mir da jemand weiterhelfen??? Danke schon im Voraus
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: 06. Aug. 2008 07:45 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
|
tbd Mitglied Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 06. Aug. 2008 08:43 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
|
finaloperator Mitglied Konstrukteur
Beiträge: 14 Registriert: 06.03.2006
|
erstellt am: 06. Aug. 2008 10:20 <-- editieren / zitieren --> Unities abgeben:
|
Siassei Mitglied MB - Student
Beiträge: 490 Registriert: 08.07.2007 SWX NX 3 und höher ;) Windows and UNIX<P>C, C++, Java, Phyton,...
|
erstellt am: 20. Aug. 2009 21:40 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
Servus, ich krame diesen alten Artikel heraus, da ich ein ähnliches Problem habe :-) Ich muss den Weg anders herum gehen. Wie bekomme ich zu einer Componente2 einer Baugruppe die Zeichnung heraus? In SWX geht das ja schön mit Zeichnung öffnen. Daher müsste die BG doch was über die Zeichnungen der Komponenten wissen, oder? Gruß Thomas ------------------ Hopfen und Mals Gott erhalts Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 21. Aug. 2009 07:10 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
Guten Morgen Thomas, ich würd eher sagen, dass nur am Speicherort der Baugruppe, oder Komponente, nachgesehen wird, ob dort eine Datei mit selbigem Namen und ".SLDDRW" am Ende existiert! Ist das der Fall, wirst du darauf hingewiesen, dass es bereits eine Zeichnung zu der BG/Komponente gibt, andernfalls wird eine neue Zeichnung angelegt! Denn soweit mir bekannt ist, wird die Zeichnung in den Referenzen der Baugruppe nicht mit festgehalten. HTH Grüße Tobias
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Siassei Mitglied MB - Student
Beiträge: 490 Registriert: 08.07.2007 SWX NX 3 und höher ;) Windows and UNIX<P>C, C++, Java, Phyton,...
|
erstellt am: 21. Aug. 2009 10:18 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
Servus, das würde ja bedeuten, dass er nur Zeichnungen findet, wenn diese im gleichen Ordner liegen. Was mich noch ein wenig verunsichert ist, dass in der Doku bei OpenDoc von internen Suchpfaden die Rede ist. Was ist damit gemeint? Durchsucht SWX den Teile-Ordner + Unterordner? Egal wie das SWX macht. Wenn keine Infos gespeichert werden muss ich das 100% nach implementieren ;-) ------------------ Hopfen und Mals Gott erhalts Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Siassei Mitglied MB - Student
Beiträge: 490 Registriert: 08.07.2007 SWX NX 3 und höher ;) Windows and UNIX<P>C, C++, Java, Phyton,...
|
erstellt am: 21. Aug. 2009 10:46 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
Servus, nach einem kleinen Test kahm folgendes raus: Zeichnung im selben Ordner und selben Namen wie Einzelteil SWX gestartet Zeichnung öffnen --> funzt SWX beendet Zeichnung in einem Unterornder und selben Namen SWX gestartet Zeichnung öffnen --> SWX findet Zeichnung nicht SWX beendet Zeichnung in einem Ordner zuvor " ../ " SWX gestartet Zeichnung öffnen --> SWX findet Zeichnung nicht SWX beendet Zeichnung im selben Ordner und anderen Namen wie Einzelteil SWX gestartet Zeichnung öffnen --> SWX findet Zeichnung nicht SWX beendet So, noch ein Frage. Wenn ich SWX nicht beende, dann findet er die Zeichnung in allen Fällen. Sprich, speichert SWX im Hintergrund informationen über die geöffneten/geschlossenen Dokumenten in der Sitzung? Oder entlädt SWX die Datei beim Schließen über die Benutzeroberfläche nicht? Gruß Thomas ------------------ Hopfen und Mals Gott erhalts Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MWN Mitglied Dipl.-Ing.
Beiträge: 492 Registriert: 14.02.2007
|
erstellt am: 21. Aug. 2009 11:10 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
Hey Thomas, na ja, SWX hat leider die Eigenart, sich ständig irgendwelche Informationen im Hintergrund zu merken! Welche? Tja, schon mal Versucht einer BlackBox (hier wohl eher RedBox) Informationen zu entlocken? Viel Glück bei deinem Vorhaben, an die Info's zu kommen, was sich SWX merkt und was nicht! Du kannst ja auch gern mal die API - Hilfe von SolidWorks kontaktieren. Vielleicht können die dir eher sagen, wie sich SWX in solchen Fällen verhält. Grüße Tobias 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: 21. Aug. 2009 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
Hallo Siassei, SolidWorks speichert keinerlei Teileverwendung (Backpointer), sondern nur Referenzen. Infolgedessen kann eine Baugruppe nicht wissen, in welcher Zeichnung sie genutzt wird. Das ist Fakt und nicht dran zu rütteln. Und es ist gut so Also kannst du nur mit Annahmen und Tricks arbeiten, wenn du so etwas haben willst. Der einfache Trick von SolidWorks ist es eben im Arbeitsverzeichnis zu schauen, ob es eine Zeichnung mit demselben Namen der Baugruppe gibt und öffnet die. Heißt die Zeichnung anders klappt es nicht, ist die in einem anderen Verzeichnis klappt das nicht. Heißt die Zeichnung genauso stellt aber andere Komponenten dar hast du auch nicht die richtige Zeichnung ... Das klappt also nur, weil die meisten Anwender in den Zeichnungen nur eine Komponente darstellen, die Zeichnung meist genauso benennen wie die dargestellte Komponente und die auch noch im selben Ordner ablegen. Wenn du eine "echte" Teileverwendung haben willst kommst du um so etwas wie ein PDM System nicht drumherum; zumindest muss dieses PDM beherrschen, alle SolidWorks Dokumente (in einem angebenene Dateibereich) durchsuchen und die Referenzen auflisten zu können. Die Referenzen muss es sich merken und daraus nach dem Suchlauf die Teileverwendung generieren, dann weißt du, in welchen übergeordneten Dokumenten deine Komponente verbaut ist. Das geht dann ohne Tricks, ist aber erheblich auswendiger. Zitat: Original erstellt von Siassei: Wenn ich SWX nicht beende, dann findet er die Zeichnung in allen Fällen. Sprich, speichert SWX im Hintergrund informationen über die geöffneten/geschlossenen Dokumenten in der Sitzung? Oder entlädt SWX die Datei beim Schließen über die Benutzeroberfläche nicht?
Korrekt, SolidWorks merkt sich viele Daten und sucht praktisch für alles immer erst mal im Arbeitsspeicher. Ob das in diesem Fall auch so ist weiß ich nicht genau, aber das mit dem "findet die Zeichnung in allen Fällen" stimmt wahrscheinlich nur, wenn du eine Zeichnung mit demselben Namen der Baugruppe mindest einmal in der laufenden Sitzung offen gehabt hast - wie oben beschrieben muss das nicht eine zugehörende Zeichnung sein. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Siassei Mitglied MB - Student
Beiträge: 490 Registriert: 08.07.2007 SWX NX 3 und höher ;) Windows and UNIX<P>C, C++, Java, Phyton,...
|
erstellt am: 21. Aug. 2009 13:13 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
Servus, Zitat: Das klappt also nur, weil die meisten Anwender in den Zeichnungen nur eine Komponente darstellen, die Zeichnung meist genauso benennen wie die dargestellte Komponente und die auch noch im selben Ordner ablegen.
Naja, wir verwenden ein PDM-System (MaxxDB) und die Hersteller sagen z.B "". Das ganze soll dem Konstrukteur als Button in SWX zur Verfügung stehen. Da wir und MaxxDB die Zeichnungen dem gleichen Namen verpassen und diese im gleichen Ordner gespeichert sind, bastle ich mir nun eine eigene Lösung. Hoffentlich lege ich mir kein Ei :-) Gruß Thomas ------------------ Hopfen und Mals Gott erhalts Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life. [Diese Nachricht wurde von Siassei am 21. Aug. 2009 editiert.] 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: 21. Aug. 2009 13:23 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
Hallo Thomas, Zitat: Original erstellt von Siassei: [edit]auf Wunsch entfernt[/edit]
Wenn ihr nicht völlig aneinander vorbeigeredet habt oder ihr darauf beharrt, dass es auf ein bestimmte Art und Weise im Standardumfang von MaxxDB enthalten sein muss würde ich empfehlen, einen anderen Ansprechpartner dort suchen.[edit]entfernt[/edit] Ich kenne MaxxDB nur vom Hörensagen, aber wenn es die Dokumente inklusive der Referenzen gespeichert und verwaltet hat ist es selbstverständlich möglich, rückwärts zu jedem beliebigen Dokument die Teileverwendung herauszusuchen. Ich brauch also von einer Zeichnung oder Baugruppe nur einen Lauf nach unten machen und alle Referenzen ermitteln und danach für jede dieser gefundenen Referenzen die Zeichnungen der Teileverwendung rausfischen. Das ist vielleicht mit ein bisschen Programmieraufwand verbunden aber letztlich trivial. Von daher vermute ich mal schwer, dass ihr da mit eurem MaxxDb Support aneinander vorbeigeredet habt, vielleicht solltet ihr da noch mal gemeinsam drüber reden. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Stefans SolidWorks Blog
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Siassei Mitglied MB - Student
Beiträge: 490 Registriert: 08.07.2007 SWX NX 3 und höher ;) Windows and UNIX<P>C, C++, Java, Phyton,...
|
erstellt am: 21. Aug. 2009 18:29 <-- editieren / zitieren --> Unities abgeben: Nur für finaloperator
Hallo Stefan, die Anfrage an MaxxDB wurde nicht von mir persönlich durchgeführt. Zudem stellt sich hier die Kostenfrage. Für eine kleine Firma extra Wünsche zu niedrigen Preisen umzusetzen. Naja, ich versuch am Montag den Support direkt zu kontaktieren. MaxxDB speichert Gott sei Dank alle Zeichnungen im gleichen Ordner wie die Teile-Datei und verwendet die gleichen Namen. Hoffentlich gilt das auch für Revisionen auch. Da wird der Support eine qual. Anworten liefern müssen. @Stefan Bitte entferne das Zitat, da es sich hier um ein öffentliches Forum handelt und ich keine schlechten Nachrichten & Gerüchte in die Welt setzen möchte. Das schadet nur und verbessert die Lage nicht! Gruß Thoams ------------------ Hopfen und Mals Gott erhalts Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|