Dear everyone,
For my previous problem Webcut failed for volume with nonplanar sheet - #8 by alvinakk, I finally fixed it by changing the spacing between each point when I create the surface. Then, webcut sheet extended command is able to cut the volume.
Since I need larger geometry, I recreate the geometry and use the same spacing size to create the surface. But again it is failed to cut the volume. I have tried to use webcut volume 1 with sheet body 2 and webcut volume 1 with sheet extended from surface 2. But both do not work. I have tried also to smooth the surface data. But it still does not work.
The error says :
WARNING: Cutting Sheet does not intersect the original volume.
The original volume is restored.
No volumes were webcut.
or
ERROR: /scratch/akuncoro/2021/mesh/sumatra_full/geometry_full.jou (155). Error in webcutting volume with sheet.
ERROR: /scratch/akuncoro/2021/mesh/sumatra_full/geometry_full.jou (155). ACIS API error number 21033
ACIS API message = inconsistent face-body relationships
No volumes were webcut.
I attach my .jou and .sat file here
alvina_problem_may.jou (1.3 KB)
surf_topo_3km.sat (1.9 MB)
surf_topo_full.sat (1.6 MB)
Is there any suggestion to fix this problem?
Thank you in advance.
-Alvina
Hi @alvinakk,
The primary issue appears to be related to the scale of the geometry. We recommend users to scale your geometry so that the smallest features you care about in the model are \approx \mathcal{O}(1). If I scale your geometry by 0.0001 then I’m able to apply the webcut. We then have a function that will scale your mesh on export to recover the actual dimension of your model.
For example:
reset
## Create a "small" geometry
bri x 0.000123 # Miles
## Scale geometry from Miles to Feet,
## which gives us an "easy" conversion to remember
## *and* makes our smallest "important" edges a size ~ 1
volume 1 scale 5280
## Mesh the volume
mesh volume 1
block 1 vol 1
## Setup option to scale mesh on export
transform mesh output scale {1/5280} # Uses APREPRO syntax to evaluate 1/5280
## Export the mesh, which will be scaled
export mesh "./transformed_mesh.e" overwrite
Note that transform mesh
is multiplicative / additive depending on whether you’re doing a scale or translation. So doing transform mesh output scale 10
twice will scale by 100, not 10. Make sure to transform mesh output reset
to reset.
Anyways, so if I scale your geometry even by just a factor of 0.0001 I am able to successfully cut your geometry:
# ----------------------------------------------------------------------
# Set units to SI.
# ----------------------------------------------------------------------
${Units('si')}
#
# ----------------------------------------------------------------------
# Reset geometry.
# ----------------------------------------------------------------------
reset
import Acis "surf_topo_full.sat"
#import Acis "surf_topo_3km.sat"
${idSurf=Id("surface")}
surface {idSurf} name "s_topo"
${idVol=Id("volume")}
volume {idVol} name "v_topo"
${idBody=Id("body")}
body {idBody} name "b_topo"
# ----------------------------------------------------------------------
# Create block for domain.
# ----------------------------------------------------------------------
# Block is 500 km x 500 km x 300 km
${blockLength=1700.0*km}
${blockWidth=1000.0*km}
${blockHeight=300.0*km}
brick x {blockLength} y {blockWidth} z {blockHeight}
${idVol=Id("volume")}
volume {idVol} name "v_domain"
move volume v_domain location 700000 9800000 -100000 include_merged
volume all scale 0.0001
transform mesh output scale 10000
webcut volume v_domain with sheet body b_topo
delete volume {idBody}
# ----------------------------------------------------------------------
# Imprint all volumes, then merge.
# ----------------------------------------------------------------------
imprint all with volume all
merge all
# End of file
And here’s a picture of the meshed geometry
And of the bottom volume to show the cut surface
Dear @gvernon,
Thank you for your reply.
I can finally cut the volume now.
But because I still have another surface to cut the volume, so I try to rescale the volume after I cut the volume using this command and before I mesh the volume:
volume all scale 0.0001
webcut volume v_domain with sheet body b_topo
volume all scale 10000
Is it safe to do that? Because I see this report:
Cubit>volume all scale 10000
WARNING: Model may be corrupted from the scaling operation.
Consider healing it.
WARNING: Model may be corrupted from the scaling operation.
Consider healing it.
Finished Command: volume all scale 10000
Thank you in advance.
Alvina KK