| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | Smart Engineering Session: CAD-Automation in SOLIDWORKS in Hannover, eine Veranstaltung am 18.08.2026
|
|
Autor
|
Thema: API - Baugruppe in Drawing (2187 mal gelesen)
|
gismo Mitglied DriveWorks Support
   
 Beiträge: 1047 Registriert: 05.03.2001
|
erstellt am: 27. Nov. 2001 13:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo API Profi’s Ich habe mal eine Frage, die bestimmt schnell beantwortet ist. Ich selektiere in einer Drawing eine Zeichenansicht. Wie kann ich nun feststellen, ob diese View von einem Part oder einer Assembly abgeleitet wurde? Im Moment behelfe ich mich damit: Ich lese Den Pfad und Modellnamen mit folgender Funktion aus: ModellPfad = View.GetReferencedModelName() Dann überprüfe ich sie Dateiendung mit: If Right$(ModellPfad, 6) = "SLDASM" Then …… Das kann doch nicht die einzige Möglichkeit sein, um das herauszubekommen. Oder?? Vielen Dank im Voraus  ------------------ Viele Grüße aus dem Schwarzwald gismo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u.clemens Mitglied Konstrukteur
  
 Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 27. Nov. 2001 18:04 <-- editieren / zitieren --> Unities abgeben:          Nur für gismo
Zitat: Original erstellt von gismo: Dann überprüfe ich sie Dateiendung mit: If Right$(ModellPfad, 6) = "SLDASM" Then …… Das kann doch nicht die einzige Möglichkeit sein, um das herauszubekommen. Oder??
ich hab's bisher auch so gemacht - weils so schön einfach ist. man kann's natürlich auch anders machen - siehe Anhang ! eine direkte Funktion - so nach dem Motto "View.GetTypeOfReferencedModel" gibts bisher leider nicht 
------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gismo Mitglied DriveWorks Support
   
 Beiträge: 1047 Registriert: 05.03.2001
|
erstellt am: 28. Nov. 2001 08:08 <-- editieren / zitieren --> Unities abgeben:         
Hi UC, Vielen Dank für Deine rasche Antwort.  Leider ist es nicht genau das, was ich gesucht habe, aber wie Du schon geschrieben hast, gibt es wohl (noch!?!?) keine direkte Funktion zum Auslesen von diesen Informationen. Dein Beispiel funktioniert gut. Aber ich werde wohl vorerst bei der "alten" Methode bleiben, da sie wie Du auch schon geschrieben hast, recht einfach ist. ------------------ Viele Grüße aus dem Schwarzwald gismo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u.clemens Mitglied Konstrukteur
  
 Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 28. Nov. 2001 09:26 <-- editieren / zitieren --> Unities abgeben:          Nur für gismo
Zitat: Original erstellt von gismo: (noch!?!?) keine direkte Funktion zum Auslesen von diesen Informationen
ja, ja ich weiß auch nicht, wie die Leute von SolidWorks sich das gedacht haben, an diese Information ran zu kommen - noch dazu, wo man genau diese Angabe braucht, wenn man swapp.OpenDoc2/3/4 verwendet !
------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Armin B Mitglied Software Engineer ERP/PLM/CAD
 
 Beiträge: 209 Registriert: 04.09.2000 Sw 2015 SP3
|
erstellt am: 28. Nov. 2001 13:05 <-- editieren / zitieren --> Unities abgeben:          Nur für gismo
Hi UC, genau dieses Problem (mit OpenDoc4) umgehst Du, wenn Du
Code:
SldWorks.GetOpenDocumentByName ( documentName )
verwendest. Damit kannst Du dann anschließend das ModelDoc noch seinem Typ fragen, ohne vorher zu raten. Gruß, Armin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
u.clemens Mitglied Konstrukteur
  
 Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 29. Nov. 2001 10:41 <-- editieren / zitieren --> Unities abgeben:          Nur für gismo
hey klasse armin, den Befehl kannte ich noch gar nicht. Hab's gerade probiert, funktioniert wirklich und umgeht die blöde Verknispelung bei OpenDoc. (war mir glatt einen 10er wert) Im übrigen habe ich zu diesem Thema auch mal den API-Support von SolidWorks konsultiert: > How is it intended by SolidWorks to get this document_type-option ? > Is there only the way to split the ModelDocName like > If Right$(ModelDocName,6) = "sldASM" then ... ? Antwort dazu: this is how SW does it internally, so it is reasonable to look at the file extension the above should be enough to provide a workaround Wie man sieht, auch dort wird nur mit Wasser gekocht ...
------------------ mfg uc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Armin B Mitglied Software Engineer ERP/PLM/CAD
 
 Beiträge: 209 Registriert: 04.09.2000 Sw 2015 SP3
|
erstellt am: 30. Nov. 2001 13:24 <-- editieren / zitieren --> Unities abgeben:          Nur für gismo
Hallo uc, danke für die Blumen (Unities) :-) Der Grund für solche Antworten kann auch der sein, dass die (wie wir ja auch so oft) die bewährten Methoden weiterhin beutzen und keine Lust haben immer ihren Code umzuschreiben, nur weil es mal wieder eine neue API gibt. Die genannte Funktion gibt nämlich erst seit Sw2000, und wie wir alle wissen sind die meisten Beispiele in der Hilfe deutlich älter. Wäre mal eine Anfrage wert, ob sie die mal aktualisieren. Gruß, Armin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |