SysML v2 gives shapes, coordinate frames and units a meaning that tools can reason over. Lets overview SysML v2 geometry capabilities from a ten-line car envelope to requirements that are rechecked in CATIA / 3DEXPERIENCE.
Full demo:
Note: All figures are renders and screenshots from running models.
In short
SysML v2 ships a standard geometry library: parametric shapes, a coordinate frame on every spatial item, and dimensions that carry units.
Positions can be expressions, so design parameters and simulated values move the geometry.
Envelopes, keep-out zones and clearances become requirements with verification cases.
The same envelopes can be generated in 3DEXPERIENCE CATIA and checked against the real design.
Value
A spatial conflict found in the architecture phase costs a model edit. Found in the design review, it costs rework across several teams.
Thermal, structural and software engineers look at one picture, early.
Space allocation stays traceable to the requirement that caused it.
The gap this closes
SysML v2 is built on the Kernel Modeling Language (KerML), and it treats a part as an occurrence: something that occupies space over time. Shapes and frames are part of the standard library, with defined semantics. A tool can therefore answer spatial questions from the system model itself, and interference analysis can move from after CAD to the architecture phase.
Five reasons to put geometry in the system model
| Benefit | What it means in practice |
|---|---|
| Shared picture, early | Low-fidelity 3D configurations align thermal, structural and software teams before detailed design starts. |
| Spatial checks | An obstruction, such as a solar array in a star tracker's field of view, is found in the model and handed to the designer as a requirement. |
| Keep-out volumes | Stay-out zones, access space and physical interfaces are checked while they are still cheap to change. |
| Mass and centre of gravity | Mass, centre of gravity and inertia roll up along the logical architecture. |
| One digital thread | Through the standard API, geometry joins requirements, functions and logical architecture, and can seed the first CAD assembly tree. |
What the standard library gives you
SpatialItem is a coordinate frame plus a shape. Any part can carry a shape; a spatial item also has a frame to place it.
ShapeItems holds the parametric shapes: box, cylinder, cone, sphere, prisms, pyramids, quadrics and planar shapes.
Constructive solid geometry: union, difference and intersection build complex solids from simple ones.
Frames nest like a CAD tree. A
TranslationRotationSequenceplaces a part relative to its owner, level by level.Quantities and units follow ISO 80000, so
4800 [mm]is a length, and a vector is interpreted in a named frame.
The shape catalogue: 38 parts, one per construct of ShapeItems.
A car's envelope in ten lines
package Model {
private import ShapeItems::Box;
private import SI::mm;
part car {
item boundingBox : Box [1] :> boundingShapes {
:>> length = 4800 [mm];
:>> width = 1840 [mm];
:>> height = 1350 [mm];
}
}
}Behaviour moves the geometry
A dimension can be an expression. Once it refers to a value that a state machine assigns, the simulation drives the shape:
:>> height = 1050 [mm] + roofUp * 300 [mm];Two states, Up and Down, switch every two seconds and assign one number, roofUp. The view shows the active state in green and the last transition in orange; the box follows between 1350 and 1050 mm.
Rotation works the same way. Four cylinder wheels are placed with coordinate frames, and each one spins about its own axle by a simulated angle:
new Rotation((0, 0, 1)[source], controls.wheelAngle['°'])
|
|
|
A one-state machine adds 30 degrees a second. Left: the controlling part. Centre and right: spokes level, and three seconds later.
The same ideas scale to real products
Define once and reuse, nest frames, write positions as expressions, let parameters drive them. Nothing else is needed for the samples below.
|
|
|
|
|
|
Top: a drone built from one arm and four rotations; a pipe flange whose bolts are placed by cos and sin; a satellite with a hinged panel chain. Bottom: an aircraft whose engines follow the wing when the span changes; a wind farm of 219 parts from one turbine definition; a V8 whose piston positions come from the crank angle.
Bind geometry to the value that carries the meaning
In the simulation samples the state machine assigns a few plain numbers, and the geometry is arithmetic on them. There is no special animation language.
|
|
|
|
|
|
Water tank: one simulated level moves the liquid, the float, its arm and the gauge. Robot cell: a pick-and-place sequence in which four joint angles are expressions in one pose value. Flashing light: the light cone exists only while the lamp is on; otherwise its size collapses to zero.
Send Simulation Events from Viewer
The flashing light during a run: model, viewer and simulation side by side. Double-click or right-click the part in viewer - the viewer lists the signals its current state accepts.
Boundaries as requirements
Once geometry is in the model, the space a subsystem may occupy can be specified like any other requirement: an envelope, keep-out zones, clearances, the region for the centre of mass. Each requirement has a subject, is satisfied by a part, and can be verified by a verification case.
The envelope and a simple reference car in one model. The viewer draws the envelope see-through, so a part that leaves it is visible at once.
The checks that need geometry, such as "is inside", "intersects" and "clearance", are computed by the viewer plugin on the shapes it draws. Evaluate command of CATIA Magic returns the same value. A violated requirement can also be sent into the running simulation as an event, so the behaviour can react to it.
Hand over to CAD, and keep checking
The envelope should not stay in the system model. From the same model, the plugin writes EKL actions for 3DEXPERIENCE CATIA that can do three things:
Generate the envelope as a product with its shape, at the position the system model states.
Build the reference shapes: simple bodies that stand for the equipment until the detailed part exists.
Verify the boundaries: read the real positions and report every part that leaves its envelope.
In 3DEXPERIENCE CATIA: the envelope and the reference car generated from the system model, with the actions that created them and the action that checks the fit.
Limitations
The Geometry Viewer and the EKL export are prptotypes - not a part of the standard product.
The shapes are simple on purpose. The checks work on boxes, cylinders and other primitives; they do not replace interference analysis on detailed CAD geometry.
During a run the viewer follows the values of the simulation window about once a second, so keep that window visible.
References
Object Management Group. OMG Systems Modeling Language (SysML) version 2.0, formal specification.
Hans Peter de Koning. Advanced Modelling Capabilities with SysML v2 Textual Notation. Sensmetry, recorded presentation.
INCOSE. SysML v2 Exchange: Basic Geometry Modeling and Execution Semantics. Recorded webinar.
Systems Modeling. VehicleGeometryAndCoordinateFrames.sysml, SysML v2 pilot implementation repository.
MBSE Podcast, episode 37: Geometry Modeling in SysML v2.
