| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
| | |
 | Productronica 2025 - Weltleitmesse für Elektronikfertigung, eine Veranstaltung am 18.11.2025
|
|
Autor
|
Thema: Assembly-Variablen über Namen ansprechen (291 mal gelesen)
|
BJ Mitglied PLM System Administrator
 
 Beiträge: 488 Registriert: 20.12.2002
|
erstellt am: 15. Jun. 2004 09:01 <-- editieren / zitieren --> Unities abgeben:         
Hallo Gemeinde! Kennt jemand eine Möglichkeit, benutzerdefinierte Variablen einer Assembly direkt mit dem Namen anzusprechen (VB)? In der Part-Umgebung funktioniert das wunderbar, aber in der Assembly-Umgebung scheint es diese Collection nicht zu geben, obwohl ich nach meinen benutzerdefinierten Variablen suchen und filtern kann. Ein Umweg wäre zwar die Relation3d, ist mir aber nicht gut, denn wenn ich Komponenten in der Baugruppe ersetze ändert sich ja auch der OccName. Dann kann ich nicht mehr nachvollziehen, welche benutzd. Variable zu welcher Occurrence gehört. Hintegrund: Ich lese bestimmte Variablen der Baugruppe in ein Textfile aus, ändere die Werte, und schreibe diese wieder zurück. Jemand eine Idee? Gruß, BJ
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 15. Jun. 2004 09:32 <-- editieren / zitieren --> Unities abgeben:          Nur für BJ
die Collection ist vorhanden aber per Default leer. Erstellt man (manuell) Variablen so ist sie auch gefuellt. Werden Variablen der Teile benoetigt so bekommt man die nur ueber die Occurrence (Peer Variables) Werden Abhaengigkeiten gesetzt so werden Variablen fuer die Assembly zwar erzeugt, diese sind aber nicht in der Collection enthalten (obwohl sie unter --> Tools --> Variables aufgefuehrt werden) sondern offensichtlich nur unter Relations3D, wozu sie ja auch gehoeren, so mein Kenntnisstand Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BJ Mitglied PLM System Administrator
 
 Beiträge: 488 Registriert: 20.12.2002
|
erstellt am: 15. Jun. 2004 09:52 <-- editieren / zitieren --> Unities abgeben:         
Hi, du hast recht, aber irgendwo müssen die Variablen doch stehen, denn wie könnte ich dann sonst nach ihnen suchen/filtern? Set objVar = objSEDoc.Variables.Query(pFindCriterium:="Meine*") D.h. für mich, dass die Collection doch nicht leer ist, obwohl man nix sieht... strange. Gruß, BJ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 15. Jun. 2004 10:21 <-- editieren / zitieren --> Unities abgeben:          Nur für BJ
ich hab mal deine Zeile genommen und nach "V*" gesucht bekam aber wie erwartet nur die der Abhaengigkeiten. Gesucht auf Variablen "HM*" die in Teilen vorkommen --- 0 Offenbar wird nur in den Variablen der Assembly selbst gesucht ... Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BJ Mitglied PLM System Administrator
 
 Beiträge: 488 Registriert: 20.12.2002
|
erstellt am: 15. Jun. 2004 10:24 <-- editieren / zitieren --> Unities abgeben:         
|
modeng Ehrenmitglied V.I.P. h.c.
     
 Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 15. Jun. 2004 10:35 <-- editieren / zitieren --> Unities abgeben:          Nur für BJ
... dann bleibt wohl nur der Weg ueber die Occurrences selbst. Der Name eines teils wird sich wohl kaum aendern und dann waere auch eine Korrelation Var -- Teil moeglich, oder habe ich da was nicht richtig interpretiert Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BJ Mitglied PLM System Administrator
 
 Beiträge: 488 Registriert: 20.12.2002
|
erstellt am: 15. Jun. 2004 11:05 <-- editieren / zitieren --> Unities abgeben:         
Es ändern sich definitiv Komponenten in meiner Baugruppe, dass is´ ja das Problem! Aber ich habe für mich eine Lösung gefunden... Ich vergebe für meine Variablen eine laufende Nummer, und suche danach. Set objVar = objSEDoc.Variables.Query(pFindCriterium:="Meine*") For i = 1 To objVar.Count strVarName = "Meine" & i Set objVariable = objSEDoc.Variables.Query (pFindCriterium:=strVarName) ActiveWorkbook.Sheets(1).Cells(i, 1) = strVarName ActiveWorkbook.Sheets(1).Cells(i, 2) = objVariable.Item(1).Angle * 180 / PI Next i Soweit ganz brauchbar. Gruß, BJ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |