Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

API on Python to modify the reference node rigid elements

Status
Not open for further replies.

Mmelloc

New member
Joined
Jan 18, 2017
Messages
2
Location
BR
I'm having some troubles when I try to modify the reference node of a rigid element
or create a new one.
I used the "Node" property of the element object, as depicted in the following code line, where 2 is just an example:

feElem.Node(0) = 2

Quoting pyFemap:
"
# The method Node is actually a property, but must be used as a method to correctly pass the arguments
def Node(self, nVectorIndex=defaultNamedNotOptArg):
return self._oleobj_.InvokeTypes(18002, LCID, 2, (3, 0), ((3, 1),),nVectorIndex
)

"
Since one must use Node as a method, it is not possible to assign a value to it. This way, I am not being able neither to modify nor create a RBE.

Does anyone know a way around it?
 
" feElem.SetNode(0,2) " should do the trick.

This is a common issue writing FEMAP API through Python, since Python makes a harder distinction between how properties and methods pass arguments. Typically any time you want to write a value to a property, there is a corresponding method in the PyFemap library, of the type " [property] / Set[property] ". Take note that these "Set[property]" methods are not methods within the FEMAP API, but are purely PyFemap (Python) functions created to make Python behave syntactically similar to the FEMAP API.

Best,
Nick
 
It did the trick! It works perfectly now.

Thank you very much, Nick!

Best regards,
Matheus
 
then you should award nick's post with an LPS "great post!"

another day in paradise, or is paradise one day closer ?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top