由於用於學習如何使用Python打開/讀取文件的資源已經廣泛可用,因此我將回答關於Abaqus/Python的詳細信息。
findAt
方法用於幾何特徵。例如,爲了在指定的位置返回到面部對象,使用:
f = mdb.models[NAME].rootAssembly.instances[NAME].faces.findAt((x,y,z))
的命令是用於細胞,邊緣和頂點對象相似。請注意,如果多個對象可能與指定的座標相關聯,則可能會有些不明確之處。例如,如果指定的點位於多個面的邊界上(比如它位於邊上),則有責任確保從findAt
返回正確的面。 (另外,在上面的一條評論中,您提到您有一個存儲在變量tmp_node
中的節點,但實際上它是一個Vertex對象)。現在
,一旦你有一個幾何對象的引用,如上所示,例如f
,可以使用它來確定與該幾何區域相關聯的節點:
node_objects = f.getNodes()
同樣,類似的方法可用於其它幾何實體。請注意,getNodes
返回一個Node對象列表,其中每個對象都有不同的屬性。爲了讓標籤或我個節點的座標,你可以使用:
n = node_object[i].label
c = node_object[i].coordinates
現在,如果你熟悉Python,這個節點匹配到外部數據文件中的條目應該很容易。如果不是的話,那麼這在SO上應該是一個單獨的問題。
要將所需溫度應用於節點,您必須使用Temperature對象(在此處查看對象的使用模式?)。在您提到的行中,您鏈接到的(自動生成的?)Python腳本中有一個例子。簡單地替換正確的大小和區域。例如假設m
和a
是模型和根組件:
# ...various module imports.
myregion = a.Set(name=NAME, nodes=(node_objects[100:101],))
m.Temperature(name=NAME, createStepName=NAME, magnitudes=(NUMBER,), region=myregion)
a.regenerate()
注意兩個myregion.nodes
和magnitudes
是有序的,所以,如果你聰明可以用一個命令定義溫度的所有節點。
在位置x,y,z有沒有節點?你只能在一個節點開出溫度。在任何情況下,這個問題都超出了本網站的範圍,除非您能夠顯示您正在使用的代碼並遇到問題。 – agentp
我更新了問題並添加了相應的文件。另外,座標是節點的位置。 –
它真的不清楚你有什麼問題。你知道如何在python中打開文件嗎?如果沒有,你應該放棄abaqus並閱讀python教程。 – agentp