| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Selektieren von Linen (1576 mal gelesen)
|
blubsen Mitglied
Beiträge: 16 Registriert: 27.06.2012 AMD Athlon X2 5200+ 6 GB RAM NVIDIA GeForce GTX275 Windows 7 x64 SWX 2011 SP5 ANSYS 12.1 Classic
|
erstellt am: 08. Okt. 2012 17:54 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe eine Frage bzgl. des Selektierens von Linien mittels Ansys 12.1 Classic. Gibt es eine Möglichkeit (einen Befehl) die Linien zu selektieren, welche parallel zu einer Ebene sind? Ich möchte so zu sagen nur die horizontalen Linien in meinem Modell selektieren. So möchte ich in meinem Bsp. (s. Anhang) alle Linien auswählen, welche parallel zur x-z-Ebene sind (also L1,2,3 und 4). Habe zwar schon in der Hilfe alles zu LSEL durchgelesen, aber irgendwie nicht das richtige gefunden (vielleicht auch nicht verstanden). Von Hand ist das Selektieren kein Problem, allerdings habe ich eine Unmenge von diesen Grundzellen, so dass ein manuelles Selektieren leider viel zu umständlich ist... Danke im Voraus. Nico Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 08. Okt. 2012 19:54 <-- editieren / zitieren --> Unities abgeben: Nur für blubsen
In diesem Fall könnten dir die folgenden Befehle helfen: Code: eps = 1.e-5 lsel, s, loc, y, -eps, eps
Wenn die Linien parallel zur x-z-Ebene sind und nicht genau in dieser Ebene, dann funktioniert es nicht mehr...Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Gunner Mitglied
Beiträge: 31 Registriert: 07.12.2011 Ansys Workbench 15.0
|
erstellt am: 09. Okt. 2012 07:57 <-- editieren / zitieren --> Unities abgeben: Nur für blubsen
|
blubsen Mitglied
Beiträge: 16 Registriert: 27.06.2012 AMD Athlon X2 5200+ 6 GB RAM NVIDIA GeForce GTX275 Windows 7 x64 SWX 2011 SP5 ANSYS 12.1 Classic
|
erstellt am: 09. Okt. 2012 14:10 <-- editieren / zitieren --> Unities abgeben:
Hallo, vielen Dank für die schnellen Antworten. Für das von mir angegebene Bsp. funktioniert das tatsächlich mit beiden Antworten, was ja auch zu erwarten war. Blöderweise habe ich das Bsp. etwas ungünstig gewählt. Ihr müsst euch vorstellen, dass ich von dieser einer Zelle extrem viele in alle Raumrichtungen gemustert habe. Das Gesamtmodell wird schichtweise aufgebaut, so dass eine Schicht die y-z-Ebene ist. Und dann kommen weitere Schichten in x-Richtung dazu. Bei jeder Schicht ist aber die Menge von den gemusterten Grundzellen eine andere. Schlussendlich ist das auswählen von den horizontalen Linien möglich. Ich müsste dann diese nur immer wieder mit einer anderen y-Koordinate aufrufen. Ich möchte/muss die ganze Geschichte aber automatisieren, allerdings weiß ich nicht wie "hoch" mein Modell ist (ohne es vorher nachzumessen, was eigentlich unbedingt vermieden werden soll). Ist es möglich z.B. eine if/do/dowhile-Schleife zu schreiben, so dass ich so lange die Linien mit einem bestimmten y-Abstand auswähle bis keine Linien mehr da sind? Wie würde die Abbruchbedingung aussehen? !CODE (ohne die richtige Abbruchbedingung): abst=... lsel,s,loc,y,0 i=1 *do ! so lange Linien ausgewählt werden (in pos. Richtung) lsel,a,loc,y,abst*i i=i+1 *enddo i=1 *do ! in neg. Richtung lsel,a,loc,y,-abst*i i=i+1 *enddo ldele,all allsel lplot Danke im Voraus für die weitere Hilfe. Grüße Nico P.S.: U's sind raus [Diese Nachricht wurde von blubsen am 09. Okt. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 09. Okt. 2012 15:18 <-- editieren / zitieren --> Unities abgeben: Nur für blubsen
Ich habe noch eine Idee: Bei Linien, die parallel zur x-z-Ebene liegen, haben die Keypoints die gleiche y-Koordinate. Damit könnte folgender Code funktionieren: Code: allsel *get, linie, line, 0, num, min *dowhile, linie *get, knoten1, line, linie, kp, 1 *get, knoten2, line, linie, kp, 2 dlt = abs(ky(knoten1) - ky(knoten2)) *if, dlt, gt, 1.e-5, then lsel, u,,, linie *endif linie = lsnext(linie) *enddo
Mein Ansys muss gerade schuften, deswegen kann ich es nicht ausprobieren. Wenn er irgendwelche Fehler ausgibt, kannst du dich ja nochmal melden...Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
blubsen Mitglied
Beiträge: 16 Registriert: 27.06.2012 AMD Athlon X2 5200+ 6 GB RAM NVIDIA GeForce GTX275 Windows 7 x64 SWX 2011 SP5 ANSYS 12.1 Classic
|
erstellt am: 09. Okt. 2012 15:56 <-- editieren / zitieren --> Unities abgeben:
Hey, eine super Idee! Eigentlich ganz easy... Aber erstmal draufkommen. Danke! Funktinoiert prima. Er ackert zwar ein wenig, da jede Linie einzeln abgearbeitet wird. Aber ich denke, dass muss passen. Ich werde es mal bei Gelegenheit mit dem Gesamtmodell ausprobieren und gucken wie lange er dafür braucht. So ist es aber universell einsetzbar. Hättest du oder jmd. anders vielleicht aber noch eine Lösungsmöglichkeit für die Abbruchbedingung für meinen vorherigen Beitrag. Würde mich auch interessieren. Man möchte sich ja weiterbilden. Danke nochmals. Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 10. Okt. 2012 09:06 <-- editieren / zitieren --> Unities abgeben: Nur für blubsen
Es werden definitiv keine Linien mehr auftreten, wenn die Größe abst*i die maximale (minimale) y-Koordinate aller Keypoints überschritten (unterschritten) hat. Und die maximale/minimale Koordinate bekommst du mit Code: *get, ymax, kp, 0, mxloc, y *get, ymin, kp, 0, mnloc, y
. Statt deiner *do müsstest du dannCode: *dowhile, ymax - i*abst
bzw.Code: *dowhile, i*abst - ymin
einfügen.Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
blubsen Mitglied
Beiträge: 16 Registriert: 27.06.2012 AMD Athlon X2 5200+ 6 GB RAM NVIDIA GeForce GTX275 Windows 7 x64 SWX 2011 SP5 ANSYS 12.1 Classic
|
erstellt am: 10. Okt. 2012 12:46 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|