| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
| NX Basiskonstruktion Schulung (Teil 1) - 5-tägige Schulung für Einsteiger |
Autor
|
Thema: parameter über excel-tabelle steuern (10493 mal gelesen)
|
bbking Mitglied
Beiträge: 1419 Registriert: 30.01.2002 CATIA V5R19, div. SPs & HFs CATIA V5R24, div. SPs & HFs NX 9.0.2 Rev. C, GM Package
|
erstellt am: 27. Jul. 2005 08:41 <-- editieren / zitieren --> Unities abgeben:
hallo zusammen! habe folgendes vor: in einer excel-tabelle werden einige eingaben gemacht, z.b. durchmesser, höhe, usw. mein ug-model holt sich diese werte über die funktion "ug_excel_read", und so werden die entpsrechenden parameter über die excel-tabelle gesteuert. jetzt will ich auf die schnelle tour eine variante meines teils erzeugen und kopiere dazu das prt und die excel-datei in einen anderen ordner. die verknüpfung der parameter wird dadurch natürlich nicht verändert. d.h. in der kopierten prt muß ich alle parameter überarbeiten, die "ug_excel_read" verwenden. bei ca. 20 parametern kann ich das keinem schmackhaft machen, das hauen die leute mir um die ohren. gibt es die möglichkeit den speicherort der excel-tabelle in eine art variable abzulegen, die von "ug_excel_read" verwendet wird? also anstelle p123=ug_excel_read("c:\test\tabelle.xls", "a1") hätte ich gerne so etwas wie p123=ug_excel_read("%speicherort%", "a1"), wobei ich dann nur %speicherort"% ändern müsste, um die kopierten dateien aktuell zu halten. hab mir schon das we damit versaut, aber nix hingekriegt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Markus_30 Moderator CAx-Architect
Beiträge: 5513 Registriert: 21.03.2005 Windows 10 (21H2) NX 2007 Series
|
erstellt am: 27. Jul. 2005 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hallo, mein Vorschlag wäre, dass du ein Mutterteil machst, und da dann eine Teilefamilie drunterhängst. Dann schreibst du in deine Liste die ganzen Werte rein. Wenn du ein neues Teil brauchst, erst Teil speichern unter. Dann öffnest du die Familie, markierst die entsprechende Zeile und sagst "Werte anwenden". Dann wird dein Modell auf die gewünschten Werte skaliert. Wichtig: Ein neues Teil nicht über "Teile erzeugen" erstellen, da Familienelemente nur über Teilefamilien geändert werden können und nicht einzeln. Es sei denn, dies wird ausdrücklich so von dir gewünscht, dann kannst du es auch über Teile erzeugen machen. ------------------ Gruß Markus [Diese Nachricht wurde von Markus_30 am 27. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bbking Mitglied
Beiträge: 1419 Registriert: 30.01.2002
|
erstellt am: 27. Jul. 2005 10:23 <-- editieren / zitieren --> Unities abgeben:
hallo markus! teilefamilie ist bei varianten erstmal eine gute idee. das ganze soll aber zunächst mal für leute sein, die keine cad-erfahrung haben, und auch nicht haben werden. die sollen nur im excel rumzaubern. am ende soll dann ein techniker da einen kritischen blick drauf werfen und sagen: ok, oder eben auch nicht. weiteres problem ist, das es schon ziemlich viele kombinationen der parameter gibt, die technisch nicht miteinander zusammenhängen, so dass die teilefamilie sehr umfangreich würde. deswegen die idee, das prt und die excel auf betriebssystemebene zu kopieren. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
weissichnicht Mitglied
Beiträge: 154 Registriert: 23.03.2005 NX1-NX8, TCUA, TCX, TCVIS alles rund um SPLM
|
erstellt am: 29. Jul. 2005 10:03 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
|
bbking Mitglied
Beiträge: 1419 Registriert: 30.01.2002
|
erstellt am: 29. Jul. 2005 12:07 <-- editieren / zitieren --> Unities abgeben:
hallo weissichnicht! antwort von radio eriwan: im prinzipja, aaaaaber... grundsätzlich soll mit der excel-tabelle auch einer umgehen, der keine ahnung von cad hat, und/ oder garkeins installiert. deswegen die betonung auf "externe" excel-tabelle. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Afra Mitglied
Beiträge: 185 Registriert: 24.06.2005
|
erstellt am: 12. Dez. 2005 15:11 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hallo, mit dem Speicherpfad würde so gehen: Export in eine *.exp öffenen mit Editor Bearbeiten..Ersetzen...Suchen nach "C:\bsp1"...ersetzen:"D:\..." und anschließend in UG wieder importieren Grüße, Afra. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lego_Tom Mitglied
Beiträge: 25 Registriert: 23.11.2005
|
erstellt am: 16. Dez. 2005 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hallo bbking! Ich würde anders vorgehen, nämlich primär über Excel. Bei, sagen wir mal, 100 Varianten würde ich folgendes machen: UG Model und dazugehörige Excel Tabelle 100x kopieren. Wie Du richtig schreibst wären "die verknüpfung der parameter dadurch natürlich nicht verändert". Damit die 100 Excel Dateien sich vonenander unterscheiden, müssen sie unterschiedliche Speichernamen haben, z.B. Steuerdatei_01.xls .... Steuerdatei_99.xls. Das Schöne an der Sache: Du kannst jetzt aus Excel raus die Datei öffnen, und zwar mit einer Variable im Speichernamen (in meinem Beispiel also "Steuerdatei_X.xls", mit X=0..99. Keine Ahnung, ob das Dein Problem löst. Falls nein, nix für ungut! Gruss Lego_Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bbking Mitglied
Beiträge: 1419 Registriert: 30.01.2002 CATIA V5R19, div. SPs & HFs CATIA V5R24, div. SPs & HFs NX 9.0.2 Rev. C, GM Package
|
erstellt am: 21. Dez. 2005 10:28 <-- editieren / zitieren --> Unities abgeben:
hallo lego-tom! genau da liegt mein problem: wenn ich die excel-datei kopiere und die kopien neu benenne, muß ich im ug-part die funktion "ug_excel_read" überarbeiten. d.h. jeder parameter, der aus der excel-tabelle gelesen wird, muß auf die für das jeweilige part-file gültige excel-datei zeigen. und das würde ich gerne über einen auszulesenden string machen. hab in der doku zu nx4 gesehen, dass man jetzt auch zeichenfolgen als wert eines parameters vergeben kann. dann würde es funzen, hab's aber noch nicht probiert. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Afra Mitglied
Beiträge: 185 Registriert: 24.06.2005
|
erstellt am: 21. Dez. 2005 10:39 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hallo Lego_Tom, Zitat: Damit die 100 Excel Dateien sich vonenander unterscheiden, müssen sie unterschiedliche Speichernamen haben, z.B. Steuerdatei_01.xls .... Steuerdatei_99.xls
Logisch. Zitat: Das Schöne an der Sache: Du kannst jetzt aus Excel raus die Datei öffnen, und zwar mit einer Variable im Speichernamen (in meinem Beispiel also "Steuerdatei_X.xls", mit X=0..99
Wie das? Variable im Speichernamen? Ich gebe immer die erste und zweite Zelle an, markiere die und ziehe dann die Markierung bis zur (beispielsweise) 100sten Zeile. damit habe ich hundert verschiedene Name, die sich an letzter Stelle unterscheiden. Wie und wo vereinbarst du das "partname_X.prt" mit "X=0..99"?Viele Grüße, Afra. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Afra Mitglied
Beiträge: 185 Registriert: 24.06.2005
|
erstellt am: 21. Dez. 2005 10:40 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hallo Lego_Tom, Zitat: Damit die 100 Excel Dateien sich vonenander unterscheiden, müssen sie unterschiedliche Speichernamen haben, z.B. Steuerdatei_01.xls .... Steuerdatei_99.xls
Logisch. Zitat: Das Schöne an der Sache: Du kannst jetzt aus Excel raus die Datei öffnen, und zwar mit einer Variable im Speichernamen (in meinem Beispiel also "Steuerdatei_X.xls", mit X=0..99
Wie das? Variable im Speichernamen? Ich gebe immer die erste und zweite Zelle an, markiere die und ziehe dann die Markierung bis zur (beispielsweise) 100sten Zeile. damit habe ich hundert verschiedene Name, die sich an letzter Stelle unterscheiden. Wie und wo vereinbarst du das "partname_X.prt" mit "X=0..99"?Viele Grüße, Afra. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Afra Mitglied
Beiträge: 185 Registriert: 24.06.2005
|
erstellt am: 21. Dez. 2005 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
|
Overcast Mitglied
Beiträge: 111 Registriert: 21.12.2005
|
erstellt am: 22. Dez. 2005 23:42 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hi Afra, die Lösung ist recht einfach: Umgebungsvariable "test=c:\temp" p100=ug_excel_read( getenv("test")+"\tabelle.xls", "A1") Grund: im neuen Expression Editor hast Du Zugriff auf fast alle Knowledge Fusion Funktionen. Gruß vom Overcast.
[Diese Nachricht wurde von Overcast am 22. Dez. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schorschl06 Mitglied
Beiträge: 69 Registriert: 20.01.2006
|
erstellt am: 30. Aug. 2007 13:47 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hallo bbking, könntest du mir bitte verraten wie Du dir die Werte aus der externen Excelquelle ziehst? Was mir nicht so ganz klar ist, ist der Umstand, dass ich nicht weiß wie man auf eine Zelle bzw. einen Zellbreich mit der Klasse "ug_excel_read" referenzieren kann. Vielen Dank im Voraus und mit besten Gruß Georg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
uger Mitglied CADler & Kinematiker
Beiträge: 1126 Registriert: 25.02.2003 NX2015 WIN10 64Bit
|
erstellt am: 31. Aug. 2007 10:46 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hallo zusammen! Zuerst einmal: tolle Funktion dieses ug_excel_read, kannte ich noch garnicht und habe sofort mit experimentiert. Das Problem, dass der Name der externen Tabelle fest verdrahtet ist, wurde nach SPEICHERN UNTER auch sofort deutlich. Wenn ich aber auf eine externe Excel-Tabelle angewiesen bin (weil sie z.B. vom Vertrieb gepflegt wird, und der hat kein UG), trotzdem aber mehrere Varainaten des Modells mit unterschiedlichen Werten der Ausdrücke speichern will, so kann ich den Pfad in der ug_excel_read-Funktion manuell anpassen. Macht bei 200 Ausdrücken aber keinen Spass. Auch die Idee es über eine Umgebungsvariable zu machen halte ich für den Normal-Anwender etwas zu heftig. Darum habe ich folgendes gemacht: Habe mit DATEI--EIGENSCHAFTEN ein Attribut erzeugt (Bild-ex1). Dieses stellt den Pfad zur Exceldatei dar. In den ug_excel_read-Funktionen werte ich dieses Attribut aus. (Bild-ex2) Ich muss also nur an einer Stelle dieses Attribut ändern und kann so auf eine andere Tabelle zugreifen. uger [Diese Nachricht wurde von uger am 31. Aug. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wede Mitglied
Beiträge: 338 Registriert: 03.02.2004 NX 12 NX 1953 Win10
|
erstellt am: 31. Aug. 2007 11:55 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hallo Uger! Möchte nun auch noch meinen Senf als UG-User dazu geben. Ich glaube daß es für den "nicht UG-Profi" einfacher ist, eine User Expression zu verändern als irgend ein Attribut. Vor allem sind die User Expressions auch gleich im Part Navigator ersichtlich. Gruß Wede Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
debostge Mitglied Student
Beiträge: 7 Registriert: 10.11.2008 Nx3.0.5.3 Catia V5 R18
|
erstellt am: 12. Dez. 2008 09:45 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hallo Overcast. Ich habe deine lösung probiert. Aber das funktionniert nicht. Wo kann ich die Umgebungsvariable "test=c:\temp" (z.b.) eintragen? Danke Gruß debostge ------------------ Geoffroy DEBOST Student in Maschinenbau in Frankreich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
debostge Mitglied Student
Beiträge: 7 Registriert: 10.11.2008 Nx3.0.5.3 Catia V5 R18
|
erstellt am: 12. Dez. 2008 09:46 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
Hallo bbking Ich habe das gleiche Problem wie du. Ich mochte gern, dass die Pfade nicht immer tauschen müssen wenn ich „speichern unter“ ein unterschiedliche Ordner. Ich habe die Lösung im Forum probiert. Und, unglücklichleider funktionieren sie nicht. Kannst du mir sagen, ob du eine Lösung gefunden hast? Danke Mit freundlichen Grüßen debostge
------------------ Geoffroy DEBOST Student in Maschinenbau in Frankreich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bbking Mitglied
Beiträge: 1419 Registriert: 30.01.2002
|
erstellt am: 12. Dez. 2008 10:31 <-- editieren / zitieren --> Unities abgeben:
hallo debostge! das asulesen des attributs bzw. der umgebungsvariablen funktioniert erst ab nx4. sorry. in nx3 und früher musst du dich durch die ganzen ug_excel_read-aufrufe kämpfen und alles von hand korrigieren. die einzige hilfe ist dabei, der umweg über das exportieren der expressions und anschließendes bearbeiten in einem texteditor. wenn du dann die exp-datei wieder in dein ug-teil importierst, solltest du wenigstens etwas arbeit sparen können. HTH!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
debostge Mitglied Student
Beiträge: 7 Registriert: 10.11.2008 Nx3.0.5.3 Catia V5 R18
|
erstellt am: 12. Dez. 2008 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für bbking
|
bbking Mitglied
Beiträge: 1419 Registriert: 30.01.2002
|
erstellt am: 12. Dez. 2008 11:32 <-- editieren / zitieren --> Unities abgeben:
|