ANSYS获取选中节点的坐标 - 小众知识

ANSYS获取选中节点的坐标

2021-04-19 08:19:21 苏内容
  标签: ANSYS/GET
阅读:5138

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                        ! 获取选中节点的状态
                                                  ! 1 = 选中  ! 0 = 未定义, -1 = 未选中
*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



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


扩展阅读
相关阅读
© CopyRight 2010-2021, PREDREAM.ORG, Inc.All Rights Reserved. 京ICP备13045924号-1