<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An Ontological Approach for Generating Precedence Matrices of Assemblies Directly from CAD Files⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Amir Jaberi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mihai Pomarlan</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oliver Kutz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Angelika Peer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Free University of Bozen-Bolzano</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Bremen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2026</year>
      </pub-date>
      <abstract>
        <p>Assembly sequence planners require information such as eligible assembly sequences and constraints to generate feasible assembly plans. This information can be, for example, encoded in the form of a precedence matrix. This paper presents a knowledge-driven approach that integrates ontological reasoning with geometry and topology-aware properties to systematically generate precedence matrices. We use a bottom-up assembly approach to generate ontological reasoning rules by identifying an initial part and then successively attaching directly connected components until the entire assembly is complete. We implement an ontology-based reasoning framework in which Semantic Web Language rules encode and enforce priority relationships among parts based on their direct connectivity and assembly constraints. Each rule captures a specific precedence condition. We validate the correctness and generality of these rules by applying them to multiple, structurally diverse products. The reasoning mechanism reliably infers sound precedence constraints for each evaluated assembly, producing a correct partial order of operations from which valid assembly or disassembly sequences can be generated.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Assembly Sequence Planning</kwd>
        <kwd>Precedence Matrix</kwd>
        <kwd>Precedence Constraint</kwd>
        <kwd>Engineering Ontology</kwd>
        <kwd>CAD-based Reasoning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <sec id="sec-1-1">
        <title>1.1. Assembly Sequence Planning from CAD-based Collision Analysis</title>
        <p>In this category, precedence constraints are derived directly from the CAD geometry through algorithmic
collision, stability, or physics-engine simulation, without relying on human-demonstrated trajectories.</p>
        <p>
          Collision or interference tests are the classic starting point. A candidate component is “virtually removed”
along its assembly direction while all other components remain fixed; any interference identifies a
blocker and therefore a precedence relation. Early sweep-test pipelines such as Zhang et al. (2017)
building an interference matrix by collision-detection use bounding-volume and facet-intersection tests
to identify colliding part pairs and filter out spurious geometry [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Kumar et al. (2022) introduced a
purely geometric assembly-sequence-planning method that samples dozens of oblique insertion/removal
directions and uses Minkowski-sum collision maps to build a blocking graph, automatically extracting
precedence constraints between parts [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. In [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], authors proposed an automated collision-detection
approach to create a matrix of assembly-precedence constraints for axisymmetric components. The
collision-detection method, with its bounding-box and 2D section analyses, is specifically tailored
for axisymmetric components. Neb and Göke (2021) combined collision analysis and gravity analysis
(ensuring stability by checking part dependencies under gravitational forces), translating these into
assembly order rules. This integrated approach resolves both spatial and stability constraints to define
feasible sequences [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Beyond purely geometric tests, physics engines extend CAD-based analysis.
Tian et al. [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] loaded the CAD model into a signed-distance-field physics engine and casted planning as
the reverse of a disassembly-tree search: fast Signed Distance Field (SDF) collision checks, a greedy
gravitational-stability filter, and Graph Neural Networks(GNN)-guided part selection together generate
robot-executable sequences for assembly of complex products.
        </p>
        <p>Although collision analysis pipelines ofer fully automated precedence extraction by simulating
part motions and recording physical interferences to find “must-precede” relations, their capabilities
are limited by an exclusive reliance on geometric interference detection. Specifically, they overlook
semantically rich CAD-defined connection types — such as coincident, concentric, threaded, and
gear-to-gear relationships — which are critical for capturing assembly-relevant dependencies.</p>
      </sec>
      <sec id="sec-1-2">
        <title>1.2. Automatic Sequence Planning from Semantic Reasoning</title>
        <p>
          Ontology-based methods represent one of the most promising recent advances in systematically
generating precedence matrices. Ontologies provide structured semantic frameworks to formally represent
assembly knowledge, capturing both physical relationships such as spatial constraints and functional
relationships such as load-bearing constraints. Using ontologies, precedence constraints are inferred by
applying semantic rules through reasoners, often encoded using languages such as OWL (Web Ontology
Language) and SWRL (Semantic Web Rule Language) [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>
          Hu et al. (2024) [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] introduced a human-robot collaborative disassembly (HRCD) pipeline that
couples a domain ontology – whose core classes are “FunctionalPart”, “AccessoryPart” and a single
generic “Fastener” – with SWRL rules to infer precedence constraints, assign human/robot/collaborative
execution modes, and output an “optimal” disassembly sequence. But since all fasteners are aggregated
into one class and precedence is inferred purely from disassembly – they consider a basic coverage
blocking to decide the removal order – the approach cannot diferentiate screws, nuts, washers, etc. It
also cannot decide their internal order – an essential requirement for forward assembly planning – so it
remains efective for disassembly scenarios but inadequate for assembly-oriented fastener sequencing
as addressed in our work.
        </p>
        <p>
          Qian et al. (2020) [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] proposed a knowledge-based assembly-priority method that combines five
numeric indicators with ontology-driven SWRL rules, using OntoSTEP to map STEP geometry to OWL
for contact-feasibility checks. Demonstrated only on a small flat-fuze assembly, the approach illustrates
how expert knowledge can be systematically encoded, but it ofers no evidence of scalability or
generalizability to more complex products, provides limited detail on the actual contact-face implementation,
and may fail to diferentiate parts when indicator values are similar (e.g., symmetrical components);
moreover, the indicator thresholds appear tuned to that single case study and are not shown to be
transferable to other assemblies. Khan et al. [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] proposed a spatiotemporal ontology to support
dynamic assembly motion planning. While their model captures motion semantics using SWRL rules, it
does not support precedence constraint generation or reasoning over static passive assemblies extracted
from CAD data. Kim et al. [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] formalized joint types with a mereotopological OWL/SWRL model that
distinguishes look-alike connections; by contrast, we extract concentric/coincident contacts directly
from STEP and use a lightweight ontology to infer precedence. Aameri et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] provided a first-order
assembly ontology combining multi-dimensional mereotopology with qualitative boundary/incidence
axioms for configuration feasibility; while not addressing CAD parsing or sequencing, their treatment
underpins our contact semantics. Our pipeline therefore complements these strands by focusing on
automated contact extraction and precedence reasoning.
        </p>
      </sec>
      <sec id="sec-1-3">
        <title>1.3. Motivation and Objectives</title>
        <p>While collision-based pipelines excel at detecting geometric clashes, yet they remain essentially syntactic:
a collision flag explains that two parts cannot move simultaneously, but not why one part should precede
the other in the product’s functional logic. Our objective is to unify these two strands – precision
geometry and explicit semantics – into a single, fully automated workflow that (i) lifts low-level CAD
features to function-aware relations and (ii) exploits those relations to systematically generate precedence
matrices for assembly processes. In summary, our work makes the following contributions:
1. Product-agnostic derivation of precedence matrix. We introduce a generic method that
derives a precedence matrix directly from CAD data. The procedure employs OWL/SWRL
semantics and class-level rules, avoiding bill of material (BOM)-specific hard-coding and enabling
seamless application across a broad spectrum of assemblies.
2. Automatic extraction of concentric and coincident relationships from native STEP. We
develop a geometric parser that detects directly concentric (cylindrical) and the inference of
coincident (planar) connections from STEP files.
3. Ontology-based reasoning over StructuralParts and Fasteners. We design a lightweight
domain ontology that diferentiates the principal subclasses of mechanical fasteners – screws,
nuts, bolts, washers, pins, snap-rings—alongside generic StructuralParts (any load-bearing
or functional component that is not itself a fastening element and whose removal would break
the kinematic chain of the assembly). We capture how each fastener constrains the assembly
order. A set of SWRL rules encodes generic engineering axioms (e.g. “a nut typically is assembled
after its mating screw”), enabling a reasoner to infer precedence relations automatically from an
instantiated product model.</p>
        <p>Together, these elements yield a pipeline that (i) operates directly on original CAD assemblies, (ii)
extracts function-aware precedence constraints, and (iii) scales to structurally diverse products due to
the employed semantic extraction and reasoning which are driven by reusable class-level knowledge
rather than instance-specific scripts.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Methodology: Proposed Ontological Approach</title>
      <p>
        In this research, a domain ontology is developed to represent assembly-related knowledge extracted
from CAD models. Figure 1 summarises the implemented pipeline in which the ontology captures key
concepts such as components, geometric features, and their spatial relationships, which are essential
to determine the precedence matrix. This transformation from the low-level geometric
representation (extracted from STEP files) to a high-level ontological model is referred to as the semantic lift.
Semantic Web Rule Language (SWRL) rules enable reasoning to infer the assembly priority between
each two connected components, which in turn leads to generating a precedence matrix. The
emphasis is on practical reasoning and knowledge representation to derive assembly sequences from
CAD data. To formalize the semantic model of mechanical assemblies, a layered, top-down ontology
is adopted (Figure 2). The upper taxonomy – artifact, Part, Feature, Connection – captures what the
constituents are. Mereological (e.g., hasPart) and functional/kinematic relations (e.g.,
hasConcentricConnection, precedesOver) capture how they interact. Although the Connection and Feature classes
are included for conceptual completeness, we do not instantiate them in the current implementation.
Detecting contact types (concentric/coincident) requires numeric geometric computation (e.g., axis
alignment, interval overlap) that OWL/SWRL cannot perform; we therefore run this in the CAD
preprocessor and assert the results as direct part–part properties (hasConcentricConnectionWith,
hasCoincidentConnectionWith). The ontology remains essential as the semantic layer that
organizes these assertions, supports SWRL-based precedence rules over Fastener/StructuralPart
classes, and enables validation and querying at the assembly level, avoiding ontological verbosity while
capturing exactly the concepts needed for precedence sequencing (including fastener subclasses such
as screw, nut, washer, pin, snap-ring). As we will extend to additional connection types (e.g., threaded
engagements, welds, press-fits), we can reify detected links as Connection individuals to attach attributes
and check type-specific constraints, without changing the geometric pipeline. Hence, we deliberately
designed a lightweight, domain-specific ontology tailored to assembly precedence, rather than reusing
a broad upper ontology or existing standards. The primary reason is that general ontologies (e.g., BFO
or ISO 15926) are very comprehensive and domain-independent, which would introduce substantial
complexity without directly supporting our specific needs in assembly sequence reasoning. Similarly,
we didn’t use OntoSTEP ontology [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] because pulling in the full STEP schema would add substantial
model size/complexity without directly yielding precedence or joint-type assertions. This approach
ensured that our semantic rules could be implemented and tested without the overhead of reconciling
with a complex upper ontology.
      </p>
      <p>Our pipeline distinguishes two types of contact information extracted from the STEP model:
1. Concentric (cylindrical) connections. Two components form a concentric connection when
they share a coaxial cylindrical interface whose radii, axial directions, and centre-line ofsets
all lie within the specified geometric tolerances. Practically, this arises when a boss (external
cylinder) on one part mates with a hole (internal cylinder) on the other, the cross-sectional
profiles of both features being equivalent up to the tolerance band. All threaded joints (e.g.,
screw-nut engagements) are treated as a subclass of concentric connections, as they inherit
the same coaxiality constraint and analogous mating geometry. We first parse the Boundary
Representation (B-Rep) data and collect all cylindrical faces. A pair of components ⟨,  ⟩ is
marked concentric when they meet several conditions (explained in detail in section 2.1).
2. Coincident connections. A coincident connection is established when two StructuralPart
instances present mating planar faces that are coplanar within the prescribed positional and
angular tolerances, creating a flush interface. Because the plane itself ofers no intrinsic
resistance to separation along its normal, the parts are ultimately retained by external fasteners –
e.g., screw/bolt–nut sets or locating pins – inserted through the aligned clearance holes in the
coincident faces. A coincident relation is not read directly from the CAD file; instead it is inferred
from the fastening pattern. Two StructuralPart instances  and ℓ are declared coincident
if (i) each has a concentric connection with the same fastener  (pin, screw, bolt, . . . ), and (ii) the
axes of those concentric connections are colinear. (iii) For cylindrical faces classified as “hole”,
the relative positioning of their bounding boxes must adhere to a specified tolerance. These rules
capture typical face-to-face joints retained by pins or screws and avoid accidental matches.</p>
      <sec id="sec-2-1">
        <title>2.1. Geometry Analysis</title>
        <p>
          The geometric-topological pre-processing is performed entirely in Python scripts by using pythonOCC
– a high-level wrapper around the Open Cascade CAD Technology (OCCT) kernel [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. By parsing CAD
ifles, we extract a list of part names, and the full set of cylindrical faces. Each face is classified in situ
as a hole or boss by inspecting its orientation with respect to the solid’s outer shell. Moreover, for
each cylindrical face, its radius , unit axis direction d, a reference point on the axis p, and four corner
vertices {v1, . . . , v4} – two per trimming plane – are extracted. Indeed, a lateral cylindrical face is
represented as the parametric patch {(,  ) |  ∈ [0, 2 ],  ∈ [min, max]} on the canonical surface
 (,  ) = Loc +  Zdir + (︀ Xdir cos  + Ydir sin  )︀ . Consequently, its boundary comprises two
seam edges at  = 0 and  = 2 and two trim edges at  = min, max; the intersections of these
seams and trims yield the four topological “corner” vertices {1, . . . , 4} returned by the kernel.
match within  in the two coordinates orthogonal to that axis; a mismatch is tolerated only along the
axis direction), and interval-overlap predicates, admitting the pair as a concentric (cylindrical) connection
only when all three conditions succeed. In the context of our work, a cylindrical face is a face whose
supporting surface is right-circular cylindrical; it is this entity from which we extract the radius r, axis
direction d, origin p, and end-face vertices {v1, . . . , v4}.
        </p>
        <p>Algorithm 1: Interval-based concentric-connection detection</p>
        <sec id="sec-2-1-1">
          <title>Output: Set  of concentric connections (, )</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>Input: Assembly model ; tolerances  (radius),  (origin),  (interval)</title>
          <p>foreach unordered face pair (ℎ, ) with typeℎ = hole and type = boss do
foreach part  ∈  do
end
 ←
end</p>
          <p>OCCT GetCylindricalFaces();
foreach face  ∈  do</p>
          <p>store ( , d , p , type ) *[r]type ∈ {hole, boss}
if |ℎ −  | &lt;  then
if</p>
          <p>∑︁
∈{,,}
1︀( |ℎ −</p>
          <p>| &lt; )︀ ≥ 2 then
Project vertices of ℎ and  onto dℎ ;
[ℎmin, ℎmax], [min, max] ←</p>
          <p>axial intervals;
min(︀ ℎmax, max − max(︀ ℎmin, min︀) ;</p>
          <p>︀)
︀{( part(ℎ), part()︀)} ;
Δ ←
end
if Δ ≥  then</p>
          <p>←  ∪
end
end
end
return ;</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Property Schema</title>
        <p>The ontology distinguishes object properties, which connect individuals, from data-type properties that
encode geometric or literal metadata. Domains, ranges and cardinalities are declared in OWL to enable
logical validation and SWRL rule execution.</p>
        <p>Data properties.</p>
        <p>Table 1 summarises the core data-type properties that underpin our feature-level
ontology. Geometric attributes apply to every Feature: the axis-aligned bounding box is delimited by
its extremal vertices (minCornerX/Y/Z, maxCornerX/Y/Z); the frame is defined by the reference point
originX/Y/Z and the unit axis vector directionX/Y/Z. For hole and boss features, a one-dimensional
bounding interval, intervalMin/Max, measured along the feature’s principal axis. The scalar radius
specifies the cross-sectional size. Assembly semantics are declared only for
StructuralParts: an
integer hasLayer encodes for each StructuralPart to belong to which build layer, and the Boolean
isBasePart identifies the component that must be placed first. Unlike previous approaches that
compute a single axis-aligned bounding box (AABB) for an entire solid, we generate feature-level
AABBs exclusively for hole and boss primitives. Restricting the enclosure to these functional features
prevents spurious spatial relations that arise when part-level envelopes of disjoint components overlap
or merely touch in highly intricate assemblies. Consequently, by building one-to-one correspondence
between genuine mating features, eliminates false positives without sacrificing computational eficiency.</p>
        <p>Object properties. Table 2 lists the ontology’s core object properties that characterize how two
components (either StructuralPart or Fastener) relate in an assembly. The precedesOver imposes an
explicit assembly order, while isAdjacentWith flags axial proximity. Collectively, these properties
provide a compact yet expressive vocabulary for inferring connection typology and precedence between
any pair of components.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Proposed SWRL Rules</title>
        <p>2.3.1. Layer-based Ontology Approach
Our method initiates by selecting a single component from the StructuralPart class to serve as the
BasePart, which is assigned to Layer0. Subsequently, all components from the StructuralPart class
that are geometrically connected to the BasePart – either via cylindrical or coincident connections—are
identified and assigned to Layer1. This process is applied recursively: for each subsequent layer (Layer2,
Layer3, etc.), we identify components connected to any component in the previous layer, continuing
until all StructuralPart components have been assigned to a specific layer.
2.3.2. Precedence Resolution between Fasteners and Structural Parts
Table 3 encodes assembly knowledge in the form of SWRL rules to determine precedence relationships
between two connected components – either both belonging to the Fastener class, or one from the
Fastener class and the other from the StructuralPart class. When two parts are clamped using fasteners
(e.g., screw and nut), the fasteners are typically assembled after the structural parts. Proposed SWRL</p>
        <p>SWRL Rules Explanation
Fastener(?p) ^ StructuralPart(?q) ^ Ensures that when a concentric connection exists between
hasConcentricConnectionWith(?p, ?q) → a component of the Fastener class and a component of the
precedesOver(?q, ?p) StructuralPart class, the StructuralPart is assigned precedence
over the Fastener in the assembly sequence.</p>
        <p>SnapRing(?p) ^ StructuralPart(?q) ^ When a snap ring prevents the axial movement of a Structural
isAjacentWith(?p,?q) → precedesOver(?q, Part to which it is adjacent, the Structural Part must precede
?p) the snap ring in the assembly sequence to allow proper
insertion and engagement.</p>
        <p>Screw(?p) ^ Nut(?q) ^ When a screw and nut are both required to fasten two
StruchasConcentricConnectionWith(?p, ?q) → tural Parts, the screw is assigned precedence over the nut,
precedesOver(?p, ?q) as it must be installed first to accommodate the subsequent
threading and tightening of the nut.</p>
        <p>Washer(?p) ^ Nut(?q) ^ StructuralPart(?r) ^ When a screw, washer, and nut are all required to fasten two
isAjacentWith(?p,?q) ^ isAjacentWith(?p,?r) ^ Structural Parts, and the washer has been positioned before
differentFrom(?q, ?r) → precedesOver(?r, the nut during assembly, the washer is assigned precedence
?p),precedesOver(?p, ?q) over the nut, as it must be installed first to ensure proper load
distribution and to accommodate the subsequent threading
and tightening of the nut.</p>
        <p>Washer(?p) ^ StructuralPart(?q1) ^ A washer placed between two StructualParts (?q1 and ?q2)
StructuralPart(?q2) ^ isAdjacentWith(?p, ?q1) must follow whichever part has a lower layer value and
pre^ isAdjacentWith(?p, ?q2) ^ differentFrom(?q1, cede the part with a higher layer. This ensures a correct
?q2) ^ hasLayer(?q1, ?L1) ^ hasLayer(?q2, ?L2) “stacking” order between washer and two structural parts.
^ swrlb:lessThan(?L1, ?L2) → precedesOver(?q1, (Note: Since SWRL rules do not support the ’OR’ operator, we
?w), precedesOver(?w, ?q2) need to rewrite the rule separately for each option.)
StructuralPart(?p) ^ StructuralPart(?q) When a concentric (cylindrical) connection exists between
^ hasConcentricConnectionWith(?p,?q) ^ two StructuralPart instances—p and q, the part positioned on
hasLayer(?p, ?L1) ^ hasLayer(?q, ?L2) ^ the lower layer is assembled first. Due to the absence of a
swrlb:lessThan(?L1, ?L2) → precedesOver(?p, logical OR operator in SWRL, this condition is represented
?q) using two separate sub-rules ((L1) and (L2)), each capturing
one possible ordering scenario.</p>
        <p>StructuralPart(?p) ^ StructuralPart(?q) When a coincident connection—fastened by an instance of the
^ hasCoincidentConnectionWith(?p, ?q) ^ Fastener class—exists between two StructuralPart instances, p
hasLayer(?p, ?L1) ^ hasLayer(?q, ?L2) ^ and q, the part located on the lower layer is assigned assembly
swrlb:lessThan(?L1, ?L2) → precedesOver(?p, precedence.</p>
        <p>?q)
rules are relatively concise, however, their development requires careful attention to domain semantics.
Fewer than 10 rules were suficient to cover common fasteners and structural parts in the current case
studies. The method scales well with increasing part count, since reasoning operates at the component
level and avoids low-level feature modeling in OWL. However, certain limitations remain: Our current
framework assumes a flat assembly structure without nested sub-assemblies and without significant
symmetric layouts.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Results</title>
      <p>Following the workflow of Section 2, the STEP file of each assembly is processed as follows: 1. Geometry
&amp; connection export (JSON): the parser emits a JSON scene graph that records unique part identifiers
and canonical geometry, every detected mating feature, typed as cylindrical (hole–boss) or planar
coincident, and auxiliary relations (e.g., adjacentTo for washers and snap-rings). 2. Semantic lift
(OWL/Turtle): The JSON graph is automatically translated to OWL and loaded into Protégé, instantiating
object properties such as hasConcentricConnectionWith, hasCoincidentConnectionWith,
precedesOver, class assertions such as StructuralPart, Fastener::Screw, and the data
properties such as hasLayer. 3. Rule-based inference (SWRL): a library of SWRL rules derives precedence
predicates between every connected pair, thereby populating the precedence matrix.
We ran the entire pipeline on two open CAD datasets from GrabCAD1 – a 20-part bench clamp and a
23-part air-compressor (see Figure 4, including their exploded views, connection graphs, and layer-based
decomposition in Figure 5, where components are stratified into defined layers. Tables 4,5 convey
the same precedence information in formal, machine-readable form via the binary precedence matrix,
enabling direct algorithmic validation and quantitative comparison of assembly orders returned by
the SPARQL query after OWL + SWRL reasoning. A “1” in row i, column j means “part i must be
assembled before part j”, for instance, basePart dominates all components in both case studies. Such a
precedence matrix compactly encodes the partial-order constraints among assembly tasks; any human
or robotic planner can then derive one or more admissible sequences that satisfy those constraints.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>This work has established a fully automated, ontology-driven pipeline that transforms native STEP
geometry into a function-aware precedence matrix for assembly planning. We extracted automatically
concentric and coincident connections, instantiated a lightweight OWL domain ontology, and enriched
it with SWRL rules that encode generic engineering axioms for functional parts and fasteners and
then derived the precedence matrix. Parts are hierarchically stratified into connection-based layers—
starting with the BasePart in Layer 0—such that each subsequent layer contains only those components
physically attached to parts in all preceding layers. Validation on a 20-component mechanical clamp and
a 23-component air-compressor confirms that the inferred matrices reproduce expert-verified ordering
constraints.</p>
      <p>In any assembly-planning approach, the search space grows with the number of inter-part constraints.
This work is no exception; the phenomenon is inherent to the task rather than to a particular algorithm.
A notable advantage of our method, however, is that its layer-based ontological reasoning imposes
no upper bound on the number of build layers extracted from the CAD model: precedence inference
operates over an arbitrary layered hierarchy without degrading in correctness or completeness. The
current implementation relies on manually annotated part names to identify fasteners, which limits
full automation when names are missing, non-standard, or ambiguous. In future work we plan to
incorporate feature-based recognition. Furthermore, the current two-layer detector handles only
concentric and coincident relations. In future work we will extend the ontology and detection logic to
additional constraint types that commonly appear in CAD assemblies – most importantly threaded
engagements and gear-gear meshes, and planar contacts. We also plan to explore aligning our ontology
with established standards (for parthood, connection, shape, and function) in our future work.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>This work was supported by the European Union Next-Generation EU (PIANO NAZIONALE DI
RIPRESA E RESILIENZA (PNRR) – MISSIONE 4 COMPONENTE 2, INVESTIMENTO 3.3 – Decreto del
Ministero dell’Università e della Ricerca n.117 del 02/03/2023) within the Advanced-Systems Engineering
Ph.D. Program of the Free University of Bolzano and Durst Group AG. We also acknowledge the
ifnancial support through the ‘Abstractron’ project funded by the Autonome Provinz Bozen - Südtirol
(Autonomous Province of Bolzano-Bozen) through the Research Südtirol/Alto Adige 2022 Call.</p>
    </sec>
    <sec id="sec-6">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the authors used GPT-4 in order to improve grammar and spelling.
After using this service, the authors reviewed and edited the content as needed and take full responsibility
for the publication’s content.</p>
      <p>1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Rashid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Hutabarat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tiwari</surname>
          </string-name>
          ,
          <article-title>A review on assembly sequence planning and assembly line balancing optimisation using soft computing approaches</article-title>
          ,
          <source>International Journal of Advanced Manufacturing Technology - INT J ADV MANUF TECHNOL 59</source>
          (
          <year>2012</year>
          ).
          <source>doi:10.1007/ s00170-011-3499-8.</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>X.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Abusorrah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Alsokhiry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sedraoui</surname>
          </string-name>
          ,
          <article-title>Disassembly sequence planning: A survey</article-title>
          ,
          <source>IEEE/CAA Journal of Automatica Sinica</source>
          <volume>8</volume>
          (
          <year>2021</year>
          )
          <fpage>1308</fpage>
          -
          <lpage>1324</lpage>
          . doi:
          <volume>10</volume>
          .1109/JAS.
          <year>2020</year>
          .
          <volume>1003515</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>W.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , M. Ma,
          <string-name>
            <given-names>H.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <article-title>Generating interference matrices for automatic assembly sequence planning</article-title>
          ,
          <source>The International Journal of Advanced Manufacturing Technology</source>
          <volume>90</volume>
          (
          <year>2017</year>
          ). doi:
          <volume>10</volume>
          . 1007/s00170-016-9410-x.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G. A.</given-names>
            <surname>Kumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bahubalendruni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vara Prasad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ashok</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sankaranarayanasamy</surname>
          </string-name>
          ,
          <article-title>A novel geometric feasibility method to perform assembly sequence planning through oblique orientations</article-title>
          ,
          <source>Engineering Science and Technology, an International Journal</source>
          <volume>26</volume>
          (
          <year>2022</year>
          )
          <article-title>100994</article-title>
          . URL: https://www. sciencedirect.com/science/article/pii/S2215098621001038. doi:https://doi.org/10.1016/j. jestch.
          <year>2021</year>
          .
          <volume>04</volume>
          .013.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bonino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giannini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Monti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rafaeli</surname>
          </string-name>
          ,
          <article-title>Automatic assembly precedence detection in axisymmetric products</article-title>
          ,
          <source>Computer-Aided Design and Applications</source>
          (
          <year>2023</year>
          )
          <fpage>1175</fpage>
          -
          <lpage>1189</lpage>
          . doi:
          <volume>10</volume>
          . 14733/cadaps.
          <year>2023</year>
          .
          <volume>1175</volume>
          -
          <fpage>1189</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Neb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Göke</surname>
          </string-name>
          ,
          <article-title>Generation of assembly restrictions and evaluation of assembly criteria from 3d assembly models by collision analysis</article-title>
          ,
          <source>Procedia CIRP 97</source>
          (
          <year>2021</year>
          )
          <fpage>33</fpage>
          -
          <lpage>38</lpage>
          . URL: https://www. sciencedirect.com/science/article/pii/S2212827120314189. doi:https://doi.org/10.1016/j. procir.
          <year>2020</year>
          .
          <volume>05</volume>
          .201,
          <source>8th CIRP Conference of Assembly Technology and Systems.</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Tian</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. D. D. Willis</surname>
            ,
            <given-names>B. A.</given-names>
          </string-name>
          <string-name>
            <surname>Omari</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Luo</surname>
            , P. Ma,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Javid</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Gu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Jacob</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Sueda</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Chitta</surname>
          </string-name>
          , W. Matusik,
          <article-title>Asap: Automated sequence planning for complex robotic assembly with physical feasibility, 2024</article-title>
          . URL: https://arxiv.org/abs/2309.16909. arXiv:
          <volume>2309</volume>
          .
          <fpage>16909</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>L.</given-names>
            <surname>Qiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Qie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          , U. K. U. Zaman,
          <string-name>
            <given-names>N.</given-names>
            <surname>Anwer</surname>
          </string-name>
          ,
          <article-title>An ontology-based modelling and reasoning framework for assembly sequence planning</article-title>
          ,
          <source>The International Journal of Advanced Manufacturing Technology</source>
          <volume>94</volume>
          (
          <year>2018</year>
          ).
          <source>doi:10.1007/s00170-017-1077-4.</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hu</surname>
          </string-name>
          , C. Liu,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Jia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <article-title>An ontology and rule-based method for human-robot collaborative disassembly planning in smart remanufacturing</article-title>
          ,
          <source>Robotics and ComputerIntegrated Manufacturing</source>
          <volume>89</volume>
          (
          <year>2024</year>
          )
          <article-title>102766</article-title>
          . URL: https://www.sciencedirect.com/science/article/ pii/S0736584524000528. doi:https://doi.org/10.1016/j.rcim.
          <year>2024</year>
          .
          <volume>102766</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Qian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , C. Shao,
          <string-name>
            <given-names>H.</given-names>
            <surname>Gong</surname>
          </string-name>
          , D. Liu,
          <article-title>Assembly sequence planning method based on knowledge and ontostep</article-title>
          ,
          <source>Procedia CIRP 97</source>
          (
          <year>2021</year>
          )
          <fpage>502</fpage>
          -
          <lpage>507</lpage>
          . URL: https://www.sciencedirect.com/ science/article/pii/S2212827120314980. doi:https://doi.org/10.1016/j.procir.
          <year>2020</year>
          .
          <volume>05</volume>
          . 266,
          <source>8th CIRP Conference of Assembly Technology and Systems.</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>M. T. H. Khan</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Demoly</surname>
          </string-name>
          , K.-Y. Kim,
          <article-title>Constructing assembly design model capable of capturing and sharing semantic dynamic motion information in heterogeneous cad systems</article-title>
          ,
          <source>International Journal of Advanced Manufacturing Technology</source>
          <volume>111</volume>
          (
          <year>2020</year>
          ).
          <source>doi:10.1007/s00170-020-06046-7.</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>K.-Y. Kim</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Yang</surname>
          </string-name>
          , D.-W. Kim,
          <article-title>Mereotopological assembly joint information representation for collaborative product design</article-title>
          ,
          <source>Robotics and Computer-Integrated Manufacturing</source>
          <volume>24</volume>
          (
          <year>2008</year>
          )
          <fpage>744</fpage>
          -
          <lpage>754</lpage>
          . URL: https://www.sciencedirect.com/science/article/pii/S0736584508000367. doi:https: //doi.org/10.1016/j.rcim.
          <year>2008</year>
          .
          <volume>03</volume>
          .010, fAIM
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>B.</given-names>
            <surname>Aameri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Cheong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Beck</surname>
          </string-name>
          ,
          <article-title>Towards an ontology for generative design of mechanical assemblies</article-title>
          ,
          <source>Applied Ontology</source>
          <volume>14</volume>
          (
          <year>2019</year>
          )
          <fpage>1</fpage>
          -
          <lpage>27</lpage>
          . doi:
          <volume>10</volume>
          .3233/AO-190207.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Krima</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Barbau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Fiorentini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sudarsan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. D.</given-names>
            <surname>Sriram</surname>
          </string-name>
          , Ontostep ::
          <article-title>owl-dl ontology for step</article-title>
          ,
          <year>2009</year>
          . URL: https://doi.org/10.6028/NIST.IR.
          <volume>7561</volume>
          . doi:
          <volume>10</volume>
          .6028/NIST.IR.
          <volume>7561</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Open</given-names>
            <surname>Cascade</surname>
          </string-name>
          <string-name>
            <given-names>SAS</given-names>
            ,
            <surname>Open</surname>
          </string-name>
          <string-name>
            <surname>CASCADE</surname>
          </string-name>
          <article-title>Technology (occt</article-title>
          ), https://dev.opencascade.org/,
          <year>2025</year>
          . Accessed:
          <volume>20</volume>
          Jun.
          <year>2025</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>