PROBLEMS TO DEFINE SETS
PROBLEMS TO DEFINE SETS
(OP)
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 [i] .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiB [i] .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiC [i] .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiE [i] .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiG [i] .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?
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 [i] .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiB [i] .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiC [i] .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiE [i] .id]
mdb.models [ 'Model-1']. parts [ 'stiffening']. datums [VerticiG [i] .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?





RE: PROBLEMS TO DEFINE SETS
Define a regular set to check what it is expecting as content. Then you know what you have to do.
RE: PROBLEMS TO DEFINE SETS
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?
RE: PROBLEMS TO DEFINE SETS