Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

ABAQUS: Calculating area of a Solid Of Revolution

Status
Not open for further replies.

CADlalala

Aerospace
Apr 3, 2014
43
Hello,

I would like to calculate the area and volume of the solid of revolution obtained by revolving a sketch. I have used the query tool (mass properties) to get such values. The volume is OK but the area is equal to zero. How can this be possible? This is the warning I get from abaqus:

"Warnings: Some mass properties could not be computed due to the following issues detected while querying the selected region(s) - zero thickness, zero material density, missing section definition."

Is there any other method/work-around to calculate the area of the Solid of revolution?

I add the code in case someone finds it clarifying somehow.

Thank you!


from abaqus import *
from abaqusConstants import *

#Definitions
model=mdb.models['Model-1']
assy=model.rootAssembly
assy.DatumCsysByDefault(CARTESIAN)

#Sketch
s0 = model.ConstrainedSketch(name='__poly0__',sheetSize=2000.0)
s0.Line(point1=(914.1, 554.1), point2=(914.1, 579.2))
s0.Line(point1=(914.1, 579.2), point2=(928.8, 579.2))
s0.Line(point1=(928.8, 579.2), point2=(928.8, 554.1))
s0.Line(point1=(928.8, 554.1), point2=(914.1, 554.1))

#Shell from the sketch
p0 = model.Part(name='Part-0', dimensionality=THREE_D,type=DEFORMABLE_BODY)
p0 = model.parts['Part-0']
p0.BaseShell(sketch=s0)

#Solid of revolution
s0.ConstructionLine(point1=(0.0,0.0), point2=(1.0, 0.0))
pr0 = model.Part(name='Part-0-r', dimensionality=THREE_D,type=DEFORMABLE_BODY)
pr0 = model.parts['Part-0-r']
pr0.BaseSolidRevolve(angle=360.0, flipRevolveDirection=ON, sketch=s0)
del model.sketches['__poly0__']
assy.Instance(dependent=ON, name='Part-0-r-1', part=pr0)

#How can a solid of revolution have volume but not area (?)
volumeRing0= assy.getMassProperties()['volume']
print volumeRing0
areaRing0= assy.getMassProperties()['area']
print areaRing0
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor