Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

PROBLEMS TO DEFINE SETS

Status
Not open for further replies.

aerospace7

Aerospace
May 18, 2016
7
Hello everyone,
I am new to the site and I have a little problem to define the set with Abaqus.
My aim is to generate a script for automatic generation of stiffeners in a fuselage.
After scoring the geometry would like to create a set for each stiffening (the number of which is parameterized, then variable), but I can't create sets because i am not able to select the edges as I would like. Keep in mind that:
1) stiffeners follow a wire spline (so do not lie on straight lines)
2) I tried with getclosest () command but it seems that the Set command () works only findat command
3) with the command findat i need one point on the curve, or very close, and I don't think ( or donìt know) I have automated ways of doing it.
I'm going crazy with this thing :(

Copy and paste the last part of the script and the error that gives me Abaqus:

#This COMMAND Creates STIFFNERS #
for i in range (nis + nii):
irrigidimenti.append (mdb.models [ 'Model-1']. parts [ 'stiffening']. WireSpline (mergeWire = OFF, meshable = ON,
points = (mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiA .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiB .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiC .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiE .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiG .id]), smoothClosedSpline = ON))

#The FOLLOWING COMMANDS SHOULD BE PUT IN A FOR / WHILE LOOP FPR EACH STIFFNER #

baia1 = []

baia1.append (mdb.models [ 'Model-1']. parts [ 'stiffening']. DatumPointByMidPoint (point1 =
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiA [0] .id], point2 =
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiB [0] .id]))

q = mdb.models['Model-1'].parts['Irrigidimenti'].getCoordinates(mdb.models['Model-1'].parts['Irrigidimenti'].datums[baia1[0].id])

p = mdb.models [ 'Model-1']. parts [ 'stiffening']
e = p.edges
r = e.getClosest (coordinates = (q,))

mdb.models [ 'Model-1']. parts [ 'stiffening']. Set (edges = r, name = 'Set-1')

ERROR: mdb.models [ 'Model-1']. Parts [ 'stiffening']. Set (edges = r, name = 'Set-1') Type error: keyword error on edge


could someone help me pease?
 
Replies continue below

Recommended for you

You are using the output of getClosest() wrong. Use print (or the manual) to see what you get.

Define a regular set to check what it is expecting as content. Then you know what you have to do.
 
thank you for the quick response. if i print r i obtain this:

print r
{0: (mdb.models['Model-1'].parts['Irrigidimenti'].edges.findAt((-263.686745, -56.118384, -378.11608),), (-263.686745321892, -56.1183840614067, -378.11607958443))}

Probably the second part of the getclosest() output is what give me the error. i just need something like:

(mdb.models['Model-1'].parts['Irrigidimenti'].edges.findAt((-263.686745, -56.118384, -378.11608),)

is this possible?
 
ok i just solved. thank you very much. it was very easy to fix. thanks again!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor