Lofted volume do not work as I would expect

Cubit>create volume loft surface 9 10 guide curve 64

Creating new body from lofted

surfaces…

ERROR: ACIS ERROR 85007: Surface U and V are in the same or opposite direction.

ERROR: ACIS API error number 85007

ACIS API message = Surface U and V are in the same or opposite direction.

ERROR: Unable to create loft body

Finished Command: create volume loft surface 9 10 guide curve 64

I’ll have to take a deeper look at the loft command, but in the meantime, here’s another way to produce the volume I think you’re trying to make:

reset
create surface circle radius 1 zplane 
create surface circle radius 10 zplane 
move surf 1 z 10

create curve location 0 0 10 location 0 0 4
create curve location 0 0 4 location 0 0 0
create curve location 0 0 0 location 4 0 0
create curve location 4 0 0 location 10 0 0

create curve location 1 0 10 location 1 0 4
create curve location 4 0 1 location 9 0 1
create vertex 4 0 4
create curve arc center vertex 15  12  13  
create vertex 9 0 0
create curve arc center vertex 18  14  2  
create curve vertex 3 11  

create surface curve 3 4 5 6 10 8 9 7 11  

sweep surface 3  axis 0 0 0  0 0 1  angle 360  keep 

delete surf all
delete curve all
delete vertex all
regularize vol all
compress ids

that’s very helpful I tried that path but I kept using the interval option when I was revolving and that was creating a lot of surfaces.

if you add
curve 5 interval 20
curve 5 scheme equal
curve 3 interval 20
curve 3 scheme equal
curve 2 interval 20
curve 2 scheme equal
curve 1 interval 20
curve 1 scheme equal
surface 6 scheme circle interval 5 fraction 0.5
mesh surface 6
volume 1 scheme Sweep source surface 6 target surface 1 sweep transform translate propagate bias
mesh volume 1
I get an error any idea on how to correctly sweep the circle mesh in that geometry?

The larger issue is that this is a poor geometry for sweep meshing from top-to-bottom. Here’s a cross-section of the mesh (made by draw hex all with y_coord<0)

Essentially, a sweep is a structured operation, but the geometry isn’t well-posed for this operation. Instead, what we should do is decompose the geometry into regions that are well-posed for various mesh schemes. Consider this “new” cross-section after decomposing:

Here’s the full journal file:

reset
create surface circle radius 1 zplane 
create surface circle radius 10 zplane 
move surf 1 z 10

create curve location 0 0 10 location 0 0 4
create curve location 0 0 4 location 0 0 0
create curve location 0 0 0 location 4 0 0
create curve location 4 0 0 location 10 0 0

create curve location 1 0 10 location 1 0 4
create curve location 4 0 1 location 9 0 1
create vertex 4 0 4
create curve arc center vertex 15  12  13  
create vertex 9 0 0
create curve arc center vertex 18  14  2  
create curve vertex 3 11  

create surface curve 3 4 5 6 10 8 9 7 11  

sweep surface 3  axis 0 0 0  0 0 1  angle 360  keep 

delete surf all
delete curve all
delete vertex all
regularize vol all
compress ids

## Decompose for meshability ##
webcut volume 1  sweep surface 3  perpendicular inward through_all 
webcut volume 3 with loop curve 4  
webcut volume all with plane normal to curve 5  fraction .5 from start 
webcut volume all with plane normal to curve 60  fraction .5 from start 

## Join volumes back together for conforming mesh ##
imprint all
merge all

## Assign a "polyhedron" hex-mesh scheme and mesh the "most-constraining" volumes first
volume 4 12 16 8  scheme polyhedron 
mesh volume 4 12 16 8 

## Assign sweep mesh scheme to "outer ring" volumes
volume 2 6 10 14   redistribute nodes off 
volume 2 6 10 14   autosmooth target off 
volume 2  scheme Sweep  source surface 66    target surface 29   sweep transform translate propagate bias  
volume 6  scheme Sweep  source surface 29    target surface 106   sweep transform translate propagate bias  
volume 10  scheme Sweep  source surface 66    target surface 28   sweep transform translate propagate bias  
volume 14  scheme Sweep  source surface 28    target surface 106   sweep transform translate propagate bias  

## Mesh all remaining volumes
mesh volume all

That’s incredibly helpful Thanks once again