Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  Array mit Koordinaten aller Nodes auf einer Fläche/Area

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys
Autor Thema:  Array mit Koordinaten aller Nodes auf einer Fläche/Area (4768 mal gelesen)
Sohil
Mitglied



Sehen Sie sich das Profil von Sohil an!   Senden Sie eine Private Message an Sohil  Schreiben Sie einen Gästebucheintrag für Sohil

Beiträge: 10
Registriert: 21.09.2011

*MOPER,,,MAP,,,

erstellt am: 24. Sep. 2011 23:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

hallo Freunde,

folgende Aufgabe bereitet mir seit Freitag mittag Kopfschmerzen:

Ich möchte ein Array welches die Koordinaten aller Nodes auf einer Flächer beinhaltet(Oberfläche Volumenköper)

Kriegs einfach nicht hin da mein recher bei doppelten Doschleifen abstürzt.
gibs ne möglichkeit?

mein versuch(nach Sheldon):

*get,nnode,node,,num,max  ! get number of nodes
*dim,x,,nnode      ! set up arrays for node locations
*dim,y,,nnode
*dim,z,,nnode
csys,1
nsel,s,loc,x,ld/2
*dim,NMASK,array,NNUMMAX
*vget,NMASK(1),node,1,nsel
*dim,sel,,nnode    ! set up array for select vector

*vget,x(1,1),node,1,loc,x  ! get coordinates
*vget,y(1,1),node,1,loc,y
*vget,z(1,1),node,1,loc,z

*vget,sel(1),node,1,nsel  ! get selected set

*voper,x(1,1),x(1,1),add,arg1 ! offset locations
*voper,y(1,1),y(1,1),add,arg2
*voper,z(1,1),z(1,1),add,arg3

*get,NNUMMAX,node,,num,max                        ! Get max node number
*del,NMASK                                        ! Delete NMASK array, if it exists
*del,NARRAY                                      ! Delete NARRAY array, if it exists
*dim,NMASK,array,NNUMMAX                          ! Define NMASK array
*dim,NARRAY,array,NNUMMAX,3                      !                      Define NARRAY array to hold results
*vget,NMASK(1),node,1,nsel                        ! Get status of selected nodes
                                                  ! 1 = selected
                                                    ! 0 = undefined, -1 = unselected
*vmask,NMASK(1)                                    ! Use NMASK as masking array
                                                    !                if NMASK(i) > 0.0, perform operation “i”
                                                      ! if NMASK(i) < 0.0, do not perform on “i”
*vget,NARRAY(1,1),node,1,loc,x                          ! Get UX for nodes only if selected
*vmask,NMASK(1)                                      ! Reactivate masking for next operation
                                                      ! *VMASK only works per command
*vget,NARRAY(1,2),node,2,loc,y                          ! GET UY for nodes only if selected
*vmask,NMASK(1)
*vget,NARRAY(1,3),node,3,loc,z                          ! GET UZ for nodes only if selected
!Fill vector from 1 to NNUMMAX (node no.)


*Dim,Netz_Neu,array,NNUMMAX,1
*vfil,Netz_Neu(1,1),ramp,1,1   

Danke für jede Antwort

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RAL
Mitglied
koffeinbetriebender Taschenrechner


Sehen Sie sich das Profil von RAL an!   Senden Sie eine Private Message an RAL  Schreiben Sie einen Gästebucheintrag für RAL

Beiträge: 238
Registriert: 10.01.2009

Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel

erstellt am: 25. Sep. 2011 10:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sohil 10 Unities + Antwort hilfreich

moin.
das mit dem mask befehl ist mir noch unklar.
um die knoten einer fläche auszuwählen und auszulesen folgendes script.

(anmerkung: die arg1 bis arg9 sind ansys intern, die arrays nur x, y, und z zunennen ist hakelig, da ansys das evtl fehlinterpretiert)

asel,s,area,,1
nsla,s,1
*GET,NCNT ,NODE , 0  , count,        !NodeCouNT
*dim,NDATA,array,NCNT,3              !NodeDATA 

*do,i,1,NCNT,1
    *get,CURN  ,node,    ,num,min    !CURrentNode
    *get,NDATA(i,1),node,CURN,loc,X
    *get,NDATA(i,2),node,CURN,loc,Y
    *get,NDATA(i,3),node,CURN,loc,Z
    nsel,u,node,,CURN

*ENDDO

das obige script ist ein wenig unelegant. es gibt (glaube ich) die möglichkeit über ein table-command direkt die koordinaten auszulesen. dazu die hilfe mal bei *DIM befragen.
frohes schaffen
ral

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Hank Scorpio
Mitglied
Ingenieur F&E


Sehen Sie sich das Profil von Hank Scorpio an!   Senden Sie eine Private Message an Hank Scorpio  Schreiben Sie einen Gästebucheintrag für Hank Scorpio

Beiträge: 46
Registriert: 06.09.2010

ANSYS APDL 12.1

erstellt am: 25. Sep. 2011 11:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sohil 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Sohil:

Ich möchte ein Array welches die Koordinaten aller Nodes auf einer Flächer beinhaltet(Oberfläche Volumenköper)

Fläche auswählen z.B. durch asel, s, loc,... oder durch die Flächennummer. Dann folgende paar Zeilen.

nsla, s, 1 !Alle Knoten auf der Fläche auswählen
*get, _dim, node, , count !Anzahl der gewählten Knoten bestimmen
*dim, test, array,  _dim, 4 !Array mit 4 Spalten generieren
*vget, test(1, 1), node, , nlist !Knotennummern in die 1. Spalte
*vget, test(1, 2), node, , loc, x !x-Koordinate in die 2. Spalte
*vget, test(1, 3), node, , loc, y !y-Koordinate in die 3. Spalte
*vget, test(1, 4), node, , loc, z !z-Koordinate in die 4. Spalte

Ergebnis: Array mit Knotennummern und -koordinaten


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wosch
Ehrenmitglied V.I.P. h.c.
Elektrotechniker im Ruhestand


Sehen Sie sich das Profil von wosch an!   Senden Sie eine Private Message an wosch  Schreiben Sie einen Gästebucheintrag für wosch

Beiträge: 2607
Registriert: 16.12.2004

Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.

erstellt am: 25. Sep. 2011 19:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sohil 10 Unities + Antwort hilfreich

Also, mein ANSYS versteht das nlist in Hank's Text nicht.
Deshalb hier eine weitere Variante:

!--------------------
nsla,s,1
*get,n_anz,node,,count
*get,n_min,node,,num,min
*dim,lage,array,n_anz,4
n_arb=n_min
*do,i,1,n_anz
lage(i,1)=n_arb
lage(i,2)=nx(n_arb)
lage(i,3)=ny(n_arb)
lage(i,4)=nz(n_arb)
n_arb=ndnext(n_arb)
*enddo


------------------
Viel Erfolg wünscht
Wolfgang Schätzing

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sohil
Mitglied



Sehen Sie sich das Profil von Sohil an!   Senden Sie eine Private Message an Sohil  Schreiben Sie einen Gästebucheintrag für Sohil

Beiträge: 10
Registriert: 21.09.2011

*MOPER,,,MAP,,,

erstellt am: 30. Sep. 2011 18:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke hat funktioniert !!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

chris1009
Mitglied
Ingenieur

Sehen Sie sich das Profil von chris1009 an!   Senden Sie eine Private Message an chris1009  Schreiben Sie einen Gästebucheintrag für chris1009

Beiträge: 4
Registriert: 04.09.2017

Windows 10 Pro (64-Bit)
Prozessor: Intel(R) Core(TM) i7-3770 CPU @ 3,40 GHz
RAM: 16,0 GB
ANSYS Academic Research 17.2

erstellt am: 04. Dez. 2017 19:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sohil 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Hank Scorpio:

Fläche auswählen z.B. durch asel, s, loc,... oder durch die Flächennummer. Dann folgende paar Zeilen.

nsla, s, 1 !Alle Knoten auf der Fläche auswählen
*get, _dim, node, , count !Anzahl der gewählten Knoten bestimmen
*dim, test, array,  _dim, 4 !Array mit 4 Spalten generieren
*vget, test(1, 1), node, , nlist !Knotennummern in die 1. Spalte
*vget, test(1, 2), node, , loc, x !x-Koordinate in die 2. Spalte
*vget, test(1, 3), node, , loc, y !y-Koordinate in die 3. Spalte
*vget, test(1, 4), node, , loc, z !z-Koordinate in die 4. Spalte

Ergebnis: Array mit Knotennummern und -koordinaten


Hallo, ich habe ein sehr ähnliches Problem, jedoch möchte ich die Knoten mittels Komponente auswählen. Habe Hanks Code daher wie folgt angepasst:


cmsel,s,Komponente,node
CSLIST
*get, _dim, node, , count !Anzahl der gewählten Knoten bestimmen
*dim, test, array,  _dim, 3 !Array mit 3 Spalten generieren
*vget, test(1, 1), node, , nlist !Knotennummern in die 1. Spalte
*vget, test(1, 2), node, , loc, x !x-Koordinate in die 2. Spalte
*vget, test(1, 3), node, , loc, y !y-Koordinate in die 3. Spalte

Bei der Auswahl der Knotennummern klappt es.
Bei der Auswahl der Koordinaten habe ich jedoch den Eindruck, dass diese nichts mit der Komponente zu tun haben. Ein Fehler aufgrund des aktiven Koordinatensystems konnte ich ausschließen. Kann es sein, dass es damit zusammenhängt, dass die Knoten auf der Komponente nicht durchgängig nummeriert sind oder das die Auswahl mit cmsel aufgehoben wird? Die Koordinaten decken sich nähmlich erstaunlich genau mit anderen Knoten meines Modells. 

Gruß
Chris

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

chris1009
Mitglied
Ingenieur

Sehen Sie sich das Profil von chris1009 an!   Senden Sie eine Private Message an chris1009  Schreiben Sie einen Gästebucheintrag für chris1009

Beiträge: 4
Registriert: 04.09.2017

Windows 10 Pro (64-Bit)
Prozessor: Intel(R) Core(TM) i7-3770 CPU @ 3,40 GHz
RAM: 16,0 GB
ANSYS Academic Research 17.2

erstellt am: 06. Dez. 2017 10:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sohil 10 Unities + Antwort hilfreich

Ich habe es jetzt so hinbekommen, wie ich es haben wollte, allerdings ist es in meinen Augen etwas umständlicher:

cmsel, s, Komponente, node
*get, n_mx, node,, num, maxd
*dim, nmask, array, n_mx
*vget, nmask(1), node, 1, nsel
*get,n_sel,node,,count

*dim, nlocdata, array, n_mx, 3
*vget, nlocdata(1,1), node, 1, nlist
*vmask, nmask(1)
*vget, nlocdata(1,2), node, 1, loc, x
*vmask, nmask(1)
*vget, nlocdata(1,3), node, 1, loc, y

*dim, nlocdat2, array, n_sel, 3
*vfun, nlocdat2(1,1), comp, nlocdata(1,1)
*vmask, nmask(1)
*vfun, nlocdat2(1,2), comp, nlocdata(1,2)
*vmask, nmask(1)
*vfun, nlocdat2(1,3),comp, nlocdata(1,3)

Gibt es die Möglichkeit sich den Schritt mit "vfun , , comp," zu sparen?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz