Environment
- Coreform Cubit: 2025.3 (Windows)
- Geometry source: Leapfrog Geo exports per geologic unit (OBJ primary; STL also tested)
- Goal: Prepare multiple contacting geological volumes (faults, lithologies, intrusions) as watertight ACIS solids with coincident interfaces, then generate hex-dominant meshes for coupled THM simulations (MOOSE).
What I need (the short version)
- The recommended, supported workflow in Cubit 2025.3 to take faceted shells (OBJ/STL exported from Leapfrog) and convert them into closed ACIS volumes suitable for imprint/merge across bodies and hexahedral meshing.
- Exact command sequences (with valid Cubit 2025.3 syntax) and tolerance guidance to:
- Close small gaps / non-coincident edges on import,
- Convert facet surfaces to ACIS sheet bodies,
- Stitch sheets into closed solids,
- Heal geometry so it passes volume creation & meshing checks.
- Advice on which import format (OBJ, STL, or DXF) is best in Cubit for this use-case, and any import options (e.g., feature_angle, tolerance, stitch, merge) you recommend.
- If the in-Cubit path is not ideal, recommended round-trip (e.g., 3rd-party CAD → STEP/ACIS → re-import to Cubit) and which tool(s) you’ve seen work best for geology meshes.
Representative dataset
Each geologic unit is exported as its own OBJ from Leapfrog (per Seequent’s guidance). Units share boundaries and must be conformal in the final mesh. Example unit name: Bevcon.
What I tried & what happened
A) Direct OBJ → facet geometry, then try to mesh (baseline, just to test)
reset
cd "E:/INRS/obj"
import obj "E:/INRS/obj/bevcon.obj" feature_angle 60
zoom reset
draw volume all
list body
list volume
volume 1 name "Bevcon"
volume 1 size 1000
volume 1 scheme tetmesh
mesh volume 1
Result (key excerpts):
ERROR: Invalid input mesh : the triangle number 28710 is ill defined.
- Multiple
>>>>Poor Quality Shape Tri Generated!<<<<
warnings. ERROR: Volume 1 meshing unsuccessful using scheme: tetmesh
- No surface or volume mesh produced; visual remains unmeshed.
B) OBJ import with larger feature angle (to reduce splits)
import obj "E:/INRS/obj/bevcon.obj" feature_angle 135
Still left as facet geometry; meshing fails similarly.
C) Use GUI Power Tools → Diagnose Geometry
On the facet-based import of Bevcon I see:
- Small Surfaces: ~628
-
Cavities: ~24
Running suggested fixes from Power Tools often triggers facet-engine limitation errors (see below).
D) STL route + “stitch” on import
I pre-processed the OBJ in MeshLab to clean obvious issues:
- Remove Duplicate Vertices → removed 9
- Remove Zero Area Faces → removed 13
- (Non-manifold repairs reported 0 changes)
- Laplacian Smooth (10 steps)
- Decimated to 95% faces still preserves shape (also tried higher decimation ratios)
Then exported as STL and imported with stitching:
reset
import stl "E:/INRS/obj/Bevcon.stl" stitch
Result:
- Body successfully created.
- WARNING: Volume generated does not completely close. 3D meshing will not be permitted.
- 34 facet vertices on model boundary detected that could not be merged.
- Geometry engine remains Facet.
E) “Create ACIS on import” (developer flag)
reset
set developer commands on
import stl “E:/INRS/obj/Bevcon.stl” feature_angle 60 surface_feature_angle 60 merge stitch create acis
Result (good news / bad news):
- Body created with fewer surfaces (e.g., 96) — so splitting is reduced.
- Still:
WARNING: Volume generated does not completely close.
- Still facet engine; export to ACIS fails:
ERROR: No geometry exported. Must set geometry engine to another type. Body 1 is of Geometry Engine type facet
F) Convert facet body to surfaces, then try to heal/stitch
reset
import stl "E:/INRS/obj/Bevcon.stl" stitch
create surface from body 1
delete body 1
At this point I expected to have independent surfaces I could heal & stitch into a solid. But:
- Exporting to ACIS at this point:
export acis "E:/INRS/obj/bevcon_surfs.sat" overwrite
→ WARNING: No Valid ACIS Geometry found for export.
- Several healing/stitching commands I tried either didn’t apply to facet geometry or returned syntax/availability errors depending on context. This is where I need the exact, supported 2025.3 command set for:
- merging coincident edges/vertices,
- removing slivers,
- tightening gaps,
- stitching surfaces into a sealed shell,
- creating a volume from surfaces.
(If there is a supported create ACIS surfaces from facet surfaces
command such as copying each facet surface into an ACIS sheet surface, I’d appreciate the exact syntax and a suggested loop or selection strategy.)
Error messages seen (sampling)
- On tet meshing attempt (facet volume):
ERROR: Invalid input mesh : the triangle number 28710 is ill defined.
WARNING: >>>>Poor Quality Shape Tri Generated!<<<<
- On STL import with stitch:
34 facet vertices on model boundary detected that could not be merged.
WARNING: Volume generated does not completely close. 3D meshing will not be permitted.
- From GUI repairs on facet geometry (Power Tools / Diagnose + fixes), and various repair attempts:
ERROR: Faceted geometry currently does not support u-v evaluation requests.
ERROR: Option not supported for mesh based geometry.
ERROR: Cannot create any composites from passed curves.
ERROR: Intermixing real and virtual geometry operations using the current solid modeling kernel is not allowed.
ERROR: Failed to remove the specified topology.
ERROR: Will not attempt to remove surface #. Owning volume has meshed entities.
(I understand most of these are because it’s still facet geometry; listing here to show the roadblocks I hit.)
What I think I’m missing
- The exact Cubit 2025.3 pathway to go from facet shell → ACIS sheet surfaces → stitched ACIS solid, including:
- The right import tolerances and flags (merge, stitch, feature_angle, any tolerance argument on import you recommend),
- The supported commands for edge/vertex imprint and merge on surfaces that started life as facets,
- The healing commands that are valid on those surfaces (e.g., heal, healer autoheal, remove slivers … arealimit , etc.) with correct syntax and a sensible order of operations,
- The stitching step (e.g., create volume surface heal) that you recommend for a typical imported shell like this.
- Whether there is a built-in surface fitting approach (e.g., “net surface” / NURBS fit of a triangulated patch) that you recommend using inside Cubit for geology-type surfaces before stitching.
- Whether you recommend a round-trip through a CAD tool (to STEP/ACIS) before Cubit; and if so, which tools/operations most reliably close small holes and produce clean B-rep on triangulated geology. (If this is the best practice, I’m happy to adopt it — just want to confirm from the Cubit side.)
- Scaling recommendations: I did see “Small models may be subject to geometric inaccuracies.” If scaling up/down during import or before healing helps (e.g., body all scale ), guidance on typical factors would be appreciated.
Constraints & final goal
- I have many units (each exported as a separate OBJ from Leapfrog). In the final model, shared interfaces must be coincident after imprint/merge, so that a conformal hex mesh can be generated across materials for THM coupling in MOOSE.
- I can re-export from Leapfrog with different surface resolution per unit if it helps (Seequent suggested: same resolution across all units).
- I can pre-clean in MeshLab if that meaningfully improves the Cubit import/heal success.
- Ultimately, I need a repeatable procedure (scriptable journal) to go from OBJ/STL → ACIS solids → imprint/merge across volumes → hex meshing.
Specific questions
- Preferred import format for this geology use-case in Cubit: OBJ vs STL vs DXF (triangulated). Any pros/cons for downstream ACIS conversion and stitching?
- Import options & tolerances: What values do you typically recommend for feature_angle, merge, stitch, and any import tolerance setting when closing typical small seams in triangulated shells?
- Facet → ACIS conversion:
- What is the recommended, supported method in 2025.3 to transform facet surfaces into ACIS sheet surfaces?
- Exact commands to do this in bulk (per surface, per body).
-
Stitch & Heal sequence: The correct 2025.3 command sequence (and syntax) to:
imprint all → merge all → remove tiny slivers (area threshold guidance) → stitch / create volume surface heal → final heal/validate on the new volume. - Diagnosing leaks: Best way to visualize “free edges” / open boundary loops on imported shells in 2025.3 so I can confirm where gaps remain and whether stitch/merge improved things.
- Scaling: Do you recommend normalizing model scale before healing (e.g., meters vs kilometers), and if so, typical scale factors?
- External CAD option: If you recommend a 3rd-party CAD repair (to STEP/ACIS) first, which tool(s) and operations have proven most reliable for triangulated geology before bringing solids back into Cubit?
I can share a small representative unit (e.g., Bevcon OBJ/STL) if that helps reproduce the behavior.
Thanks in advance for concrete guidance and a supported command sequence. My goal is simply to adopt the workflow you consider robust in Cubit 2025.3 for converting faceted geology to ACIS solids and getting to a clean, conformal hex mesh.
— Hadi