A method for providing high-resolution touch sensing on 3D objects

The method optimizes capacitive touch sensing on 3D surfaces by computing electrode layouts using quad meshing and dual-edge graph to ensure uniform electrode distribution and reduce controller complexity, achieving high-resolution multi-touch detection with improved SNR and spatial accuracy.

WO2026013614A1PCT designated stage Publication Date: 2026-01-15CONSIGLIO NAT DELLE RICERCHE +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2025/056996
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-12
Filing Date
2025-07-10
Publication Date
2026-01-15

AI Technical Summary

Technical Problem

Existing capacitive touch sensing technologies struggle to provide high-resolution multi-touch detection on complex 3D surfaces due to the requirement of a uniform distribution of sensing electrodes and efficient wiring, leading to inconsistent readings and increased complexity.

Method used

A method for designing a capacitive touch sensing arrangement on 3D objects involves computing a grid of transmit and receive electrode lines using quad meshing and dual-edge graph to minimize the number of touch controllers and cables, ensuring uniform electrode distribution and accurate multi-touch detection.

Benefits of technology

The method achieves high-resolution, seamless touch sensitivity on complex 3D surfaces by optimizing electrode placement and reducing the number of touch controllers and cables, resulting in good Signal-to-Noise Ratio (SNR) and spatial accuracy of about 1 mm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2025056996_15012026_PF_FP_ABST
    Figure IB2025056996_15012026_PF_FP_ABST
Patent Text Reader

Abstract

A method for providing high-resolution touch sensing on 3D objects A computer-implemented method is disclosed for designing a touch sensing arrangement for a 3D object (B), the method includes (i) performing a quad meshing of the surface of the body, the quad mesh including a plurality of quadrangular areas (Q) having side dimensions matching the mutual spacing between pairs of adjacent transmit electrode lines (T) and between pairs of adjacent receive electrode lines (R) of the touch sensing arrangement, (ii) computing a quad patch layout comprising a plurality of quad patches (P), each including a plurality of adjacent quadrangular areas (Q) of the quad mesh, selectively grouping the quad patches (P) into a plurality of clusters (C) of adjacent patches (P) and packing the clusters (C) into a plurality of cluster sets, each cluster set being associated with a respective touch controller (TC), wherein the transmit electrode lines (T) and the receive electrode lines (R) of the touch sensing arrangement are designed according to a dual edge graph of the quad mesh, and interconnecting conducting paths are established between transmit and receive electrode lines (T, R) of each cluster set and the respective touch controller (TC) through the internal volume of the object (B).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] A method for providing high-resolution touch sensing on 3D objects

[0002] Field of the Invention

[0003] The present invention relates to capacitive touch sensing and particularly to capacitive multitouch sensing on generic 3D objects.

[0004] Specifically, the invention relates to providing high-resolution multitouch sensing on a 3D object and more specifically to a method for designing a touch sensing arrangement for a 3D object according to the preamble of claim 1.

[0005] Description of the Related Art

[0006] Touch is a natural way to interact with everyday objects and surfaces and can provide an intuitive and convenient user interface. To enable touch sensing a range of technologies has been developed including optical methods such as frustrated total internal reflection (FTIR) and depth cameras, as well as acoustic and resistive methods. Additionally, electric field sensing, impedance profiling, time-domain reflectometry, and electric field tomography have been explored. Among these technologies, projected capacitive sensing has emerged as the most widely adopted method. This technology offers the advantage of high accuracy and resolution in detecting touch events. There are various operating modes of projected capacitive sensing, the most robust and accurate technology commonly used for commercial touchscreens and detecting multiple simultaneous touch contacts being mutual-capacitance sensing technology.

[0007] Researchers have developed a variety of approaches to enable capacitive touch interaction on everyday objects and surfaces while preserving their distinct geometric, visual, and tactile features. Objects that are inherently conductive can act themselves as the touch sensor. A common approach for sensing on a wider range of objects is to print a deformable touch sensor on different materials using inkjet printing or screen printing. Moreover, existing objects can be enhanced with a thin sensing layer through hydrography, by spraying functional materials on the objects, or by attaching functional stickers or patches. Another approach involves creating artificial skin with embedded tactile sensation for human-robot interaction.

[0008] Mutual-capacitive sensing is the most common technology for achieving high-resolution, multi-touch detection on planar surfaces. This technique leverages the capacitive coupling effect, which occurs when two conductive objects (transmit and receive electrodes) are positioned in close proximity. When an additional conductive object, such as the human body, approaches the electrodes, it establishes capacitive coupling with the electrodes, causing a displacement of the current through the body to the ground. By measuring the reduction in current at the receive electrode, the proximity of the body can be accurately determined.

[0009] A mutual capacitance touch sensor comprises two layers of conductors including a plurality of transmitting electrodes and a plurality of sensing electrodes, respectively, conventionally called transmit electrodes (Tx) and receive (or sensing) electrodes (Rx), that are depicted in Figure 1(a) and indicated T and R respectively. These layers are electrically insulated from each other by a dielectric material. The electrodes are arranged in a two-dimensional regular grid pattern, creating intersecting points. These intersections yield distinct touch-coordinate pairs each forming a sensor node N, enabling a touch controller (not shown) to which the plurality of transmit and receive electrodes are connected to measure each intersection independently. Fig. 1(b) shows an exemplary implementation of mutual capacitance touch sensing based on a rectangular electrode layout formed by overlapping straight electrode lines. Although this pattern is marginally less efficient than the more commonly used diamond pattern shown in Fig. 1(c), it is easier to implement and fabricate.

[0010] In mutual capacitance sensors, it is essential to maintain a uniform spacing between pairs of transmit electrodes and pairs of receive electrodes (so-called pitch distance) for achieving reliable and accurate touch detection. The spacing between the transmit and receive electrodes influences the capacitance coupling between them. If the spacing between the electrodes is not uniform, it can lead to variations in the coupling capacitance at different points on the sensor surface. These variations can result in inconsistent or inaccurate readings. While capacitive touch sensing has been widely implemented on flat surfaces such as touchscreens, the growing demand for more intuitive and immersive user experiences has led to exploring touch sensing on 3D surfaces. Capacitive touch sensing on complex 3D surfaces offers new possibilities for interaction and expands the range of objects that can be transformed into interactive interfaces. With the increase in interactivity possibilities that are emerging due to the pervasiveness of computing and "active" objects, sensing the touch in a precise way is becoming important. However, extending high-resolution touch sensitivity to a more complex shape, i.e. covering a large and highly irregular surface with touch sensing, is still challenging due to the requirement of a uniform distribution of the sensing electrodes on the surface for consistent touch sensitivity across the surface, and the wiring and readout of the sensing electrodes.

[0011] It is therefore desirable to have seamless integration of touch interfaces on complex geometries.

[0012] Summary of the invention

[0013] It is an object of the present invention to provide a method for capacitive touch sensing on 3D surfaces which allows for the detection of high-resolution multi-touch positions on objects of any shape by adapting capacitive sensors used on flat or single curvature surfaces to 3D objects with more complex surfaces.

[0014] It is a further object of the invention to provide a method for capacitive touch sensing on 3D surfaces that allows for mapping a capacitive sensor arrangement to achieve uniform coverage of the surface of a given 3D object while minimizing the number of touch controllers and cables needed to provide touch sensitivity functionality to said object.

[0015] According to the present invention, these objects are achieved by a computer-implemented method having the features recited in claim 1.

[0016] Particular embodiments form the subject matter of the dependent claims, the contents of which are intended to be a part of the present description.

[0017] In summary, the present invention provides a method to adapt the sensor layout of common capacitive multi-touch sensors to a given external surface (or body) of a 3D object, by computing a grid of transmit and receive electrode lines (or, more generally, electrodes) with as regular distribution as possible over said given surface that ensures high-resolution, robust multi-touch detection. In the following disclosure a rectangular electrode layout formed by straight electrode lines is considered for exemplary purposes, but the term "electrode lines" refers to both straight electrode lines, as in a rectangular pattern, and electrode lines having a periodically variable local width, as in a diamond pattern, whose common feature is a linear extension along a corresponding longitudinal axis. The spacing between pairs of transmit electrodes and pairs of receive electrodes (the so-called pitch distance) is therefore generally defined as the spacing between the electrode axes. The method is based on the computation of a proxy surface geometry of a 3D object model by quad meshing, which is then used to place the electrode lines on the object body through a dual-edge graph of the computed quad mesh, and the electrode lines are designed to be arranged on the object body to minimize the number of touch controllers required for capacitive sensing and the number of input / output pins of said touch controllers that are interconnected with the respective electrode lines. A simplification and clustering procedure for a regular quad-patch layout is applied considering the geometric constraints of the given 3D shape of the object, to optimize the routing of the transmit and receive electrode lines in a minimum plurality of touch controllers. In an exemplary physical implementation of the designed touch sensing arrangement, the transmit and receive electrodes are hosted in grooves carved on the surface body of the object and connected to the touch controllers through pipes extending in the internal volume of the object.

[0018] The proposed method focuses on three design requirements of a mutual-capacitive sensor arrangement based on an electrode line pattern. The first requirement is to uniformly distribute the intersections of the sensor grid made by the transmit and receive electrodes on the surface of the given object, aiming to ensure precise and accurate multi-touch detection. The second requirement is to minimize the number of capacitive touch controllers for sensing the entire surface of the object, reducing the complexity and cost of the electronic hardware. The third requirement is to minimize the number of internal connections to connect the transmit and receive electrodes to the touch controllers to ensure a practical fabrication process of the physical object.

[0019] Further features and advantages of the invention will be set out in more detail in the following detailed description of an embodiment thereof, given by way of non-limiting example, with reference to the accompanying drawings, in which:

[0020] Figure 1 is a schematic representation of the structure of a multi-touch capacitive sensing arrangement;

[0021] Figure 2 is a flow diagram of a method for designing a touch sensing arrangement for a 3D object according to the invention;

[0022] Figure 3 is an exemplary representation of the steps of the method of Figure 2 applied on exemplary 3D objects;

[0023] Figure 4 is a visual schematic representation of a simplification step of the method according to the invention;

[0024] Figure 5 is a more detailed exemplary representation of some steps of the method in Figure 2, applied on the exemplary 3D object in Figure 3(a);

[0025] Figure 6 is a visual schematic representation of some operations of the simplification step of the method according to the invention;

[0026] Figure 7 is a visual schematic representation of a first operation of a geometric optimization step of the method according to the invention;

[0027] Figure 8 is a visual schematic representation of a second operation of the geometric optimization step of the method according to the invention;

[0028] Figure 9 is a visual schematic representation of a third operation of the geometric optimization step of the method according to the invention;

[0029] Figure 10 is a visual schematic representation of a fourth operation of the geometric optimization step of the method according to the invention;

[0030] Figure 11 is a visual schematic representation of a packing step of the method according to the invention; and

[0031] Figure 12 is an exemplary representation of the exemplary 3D object of Figure 3(a) provided with touch sensitivity.

[0032] Detailed description of a preferred embodiment of the invention

[0033] A 3D object to which the method of the present invention is applied is any general object having a 3D body with an external surface and enclosing an internal, for example at least partially hollow, volume. Providing a functionality of touch sensitivity to the object includes coupling to said body a grid of capacitive touch sensors or sensor nodes that are formed at superposition areas of pairs of intersecting, e.g. locally orthogonal, transmit and receive line electrodes, in the form of elongated conductive wires or tracks, the transmit and receive line electrodes being connected at their ends to output and input pins, respectively, of at least one associated touch controller having a respective sensing region, through interconnection conductors. Pairs of adjacent transmit line electrodes and pairs of adjacent receive line electrodes are arranged with a respective spacing according to the desired touch sensing accuracy.

[0034] In the following disclosure, the term 3D object will be used both for referring to a physical object and for referring to a mathematical model or similar representation of the physical object.

[0035] The method for providing a touch sensing arrangement for a given 3D object according to the invention is performed by processing means running a program for designing a layout of multi-touch sensors on a 3D body and is disclosed in the following with reference to the flow diagram of Figure 2.

[0036] The input to the method of the present invention is a watertight triangle mesh model of the 3D object to be enriched with multi-touch sensing. Such a triangle mesh model is a mathematical description of the external surface body of the 3D object that may be acquired from a local or remote storage or calculated based on a geometric description of the object at step 100. The triangle size depends on the desired approximation of the surface curvature: the smaller the triangles, the more accurate the surface approximation. The final goal is to create a sensor grid (on the triangle mesh) that is as regular as possible, enabling the detection of multiple touch points on the surface body of the 3D object. In a preferred embodiment, for example, a 7 mm spacing among the transmit (Tx) and receive (Rx) electrode lines of the sensor grid is chosen to obtain a spatial accuracy of 1 mm, the accuracy being defined as the mean distance between a ground truth position on the surface and the position detected by the sensor when the user touches this ground truth position. In order to accommodate the sensor grid on the surface body of the object, two types of conductive line or traces are needed: a grid of lines or traces, such as for example grooves, on the surface body of the object to accommodate the Rx and Tx electrode lines and a set of internal conductive lines or traces, such as wires housed into pipes or conduits, to connect the Tx and Rx electrode lines from (and through) the surface body of the object to the one or more touch controllers through the object's internal volume, where the object's internal volume may or may not be hollow. Although in the following reference is made to an exemplary embodiment where electrode lines or traces include surface groves and internal pipes, the more general definition of conductive lines or traces always apply in the context of the invention.

[0037] The method included the main following steps.

[0038] First, at step 200, a data preparation step is carried out that performs two tasks. A first, possible task detects and removes critical surface regions of the triangle mesh that cannot host electrode lines. The second task performs a quad meshing to achieve quadrangular areas (quads) that are as regular as possible, ensuring an average edge length matching the desired spacing among the touch sensor electrode lines, hence the desired accuracy of touch sensing. In this way, a more uniform distribution of the intersection points of the sensor grid on the surface may be attained. The arrangement of the sensor grid is determined by the edges of the dual graph of the quad mesh and is referred to as the sensor grid mesh.

[0039] The quad mesh is the input for a following simplification and packing procedure for obtaining a final quad patch layout. The main goal is to compute the minimum number of clusters of quad patches covering the surface body of the object that, once coupled with the sensing region of respective touch controllers, minimize the number of required touch controllers and their input / output pins, that correspond to the conductors interconnecting the touch controller(s) with the transmit and receive electrodes.

[0040] In a patch decomposition step 300, initially, a quad patch layout of the quad mesh is computed using a straightforward motorcycle graph algorithm. Quad patches comprise a plurality of quadrangular areas of the quad mesh. The ultimate key concept is to efficiently pack quad patches within a rectangular sensing area of a respective touch controller, defined by the number of its Rx and Tx electrode lines. A simple solution may be using a 2D bin packing algorithm, where each patch is packed independently. However, this approach has a drawback: it demands a high number of input / output pins to connect the electrode lines of each patch on the surface and the respective touch controller. Specifically, it requires a number of input / output pins equal to the sum of the semi-perimeter of all patches.

[0041] An alternative procedure according to the invention is based on two steps to achieve the goal of minimizing the number of required touch controllers and their input / output pins (which ultimately correspond to the electrode conductors crossing the object internal volume for interconnecting the plurality of transmit line electrodes and the plurality of receive line electrodes to the respective touch controller).

[0042] The first step is a simplification step 400 that prunes edge chains in the motorcycle graph. This simplification reduces the number of patches, eliminating small patches composed of a quad strip or a single quad. During simplification, the creation of regular patches is enforced where all irregular vertices are along the borders and all the internal vertices are regular vertices. This constraint allows the dual-edge graph to transform each patch into a regular grid.

[0043] The second step includes a greedy clustering (step 500) and packing procedure (step 600) to partition the simplified quad layout into a minimum number of clusters of adjacent patches, preserving the continuity of the Tx-Rx field generated by the Tx and Rx electrode lines. These clusters can be packed efficiently within the sensing region of the touch controllers, minimizing both the number of input / output pins and the number of required touch controllers. The outcome of this procedure is a sensor grid mesh, generated as the dual edge graph of the quad mesh, which indicates the electrode placement on the surface quad mesh based on the constraints defined by the packing process. The sensor grid mesh provides the necessary information to arrange electrically continuous transmit and receive electrode lines on the surface body of the 3D object, as well as the arrangement of their surface ends that are joined with the interconnection conductors extending through the object internal volume.

[0044] From the arrangement of the transmit and receive electrodes, a 3D model for the physical object is defined by back-projecting the sensor grid mesh onto the original triangular mesh at a geometry generation step 700. The sensor grid mesh is used to generate surface grooves that serve as conduits to accommodate the line conductors of the transmit and receive electrodes on the surface body of the object. To allow the physical arrangement of the electrode lines, the Tx and Rx lines are placed at different depths just below the surface to create the intersection points.

[0045] Since the packing procedure potentially maps quad strips located far apart on the surface to the same electrode line, i.e. the packing procedure can break the same Tx or Rx electrode line in multiple segments located far apart on the surface, connections among these segments need to be established in a serial way using only a single interconnecting conductor. Internal pipes within the internal volume of the object are generated to connect the electrode lines on the surface with the associated touch controller, which may be for example placed outside the object's volume. Generating the pipes is based on two constraints: a curvature constraint to facilitate the smooth passage of the electrode interconnecting conductors and a minimum distance constraint among the pipes to prevent a cross-talk effect between closely parallel electrode interconnecting conductors.

[0046] Finally, at step 800, the physical object (be it a prototype or the actual object) may be manufactured e.g. by 3D printing with a dielectric material. The sensor conductors of the transmit and receive electrodes may be inserted inside the pipes and along the grooves in a following manufacturing step or embedded in the object by simultaneously printing of dielectric and conductive materials, before being connected to the respective touch controllers, e.g. by methods that include, but are not limited to 3D printing, water transfer printing, etching, spray painting, etc.. It will be clear to a skilled person that the object manufacturing step may be considered a separate step from the steps for designing the touch sensing arrangement for the object, the essential features of the invention concerning the touch sensing arrangement designing which is carried out by processing means based on an object model.

[0047] 3D-printed prototypes have been evaluated by the inventors measuring the Signal-to-Noise Ratio (SNR) and the spatial accuracy of the touch detection in static and dynamic conditions. The test results show good SNR values and an excellent spatial accuracy of about 1 mm.

[0048] The above steps 200 to 700 will be described in more detail in the following, with reference to exemplary 3D objects B, S and CB represented in Figure 3.

[0049] Data preparation

[0050] The data preparation step 200 involves two operations: i) the detection and removal of the critical regions of the triangular mesh that will not sensorized and ii) the quad meshing of the remaining surface.

[0051] The first operation is to identify regions of the surface body of the object that are too thin to physically accommodate the sensor grid.

[0052] To ensure the proper arrangement of electrode lines made by conductors with a diameter of dwin, a minimum object thickness tmin is required. This thickness is determined by the sum of the minimum depth dsensors = 4 dwire required to host the two types of electrode lines (Rx and Tx) within grooves in the body just below the surface (at different depths ZRX and ZTX to permit the physical creation of intersection between the lines) keeping them isolated from the internal pipes, and the minimum space needed to create at least an internal pipe with diameter dpipe.

[0053] The proposed approach detects and removes surface areas where the object body can only have a thickness below the threshold tmin. Additionally, a small user-selected area may be removed, typically at the bottom of the object, for the possible exit of internal pipes connecting the surface electrodes with the touch controllers in an embodiment where touch controllers are arranged outside the object.

[0054] The second and final preparation step involves quad meshing of the remaining triangle mesh (e.g. the portion of the original surface that needs to be sensorized). A state-of-the-art algorithm may be employed, such as that disclosed by Nico Pietroni, Stefano Nuvoli, Thomas Alderighi, Paolo Cignoni, and Marco Tarini, "Reliable Feature-Line Driven Quad- Remeshing", in ACM Trans. Graph. 40, 4, Article 155 (July 2021), that ensures high-quality isometric, pure-quad, conforming meshing while preserving feature lines such as borders and sharp creases. The remeshing algorithm's isometry and regularity properties enable the generation of quads Q with more uniform edge lengths, resulting in a sensor grid with evenly distributed line intersections. Preserving feature lines is important for achieving a high- quality quad mesh on the borders of the cut areas.

[0055] Patch decomposition

[0056] Starting from the quad meshing, a quad patch layout decomposition is computed using the motorcycle graph algorithm, as disclosed by David Eppstein, Michael T. Goodrich, Ethan Kim, and Rasmus Tamstorf, "Motorcycle Graphs: Canonical Quad Mesh Partitioning", Computer Graphics Forum 27, 5 (2008), 1477-1486, to find a layout of regularly gridded patches P that can host the Tx-Rx electrode lines. The algorithm traces motorcycle particles along the edges of the quad mesh spawned at each no-border edge around the irregular vertices. Specifically, an internal irregular vertex with a valence of deg(v) 4 generates deg(v) motorcycles (represented by vertices R and G in Figure 4), while a border irregular vertex with a valence of deg(v) > 4 generates deg(v) — 2 particles (represented by vertices Y in Figure 4). The tracing is done in parallel, and each motorcycle advances straight in a topological sense. A motorcycle stops when it reaches a vertex already visited by another motorcycle or a mesh border. If two motorcycles collide in the same regular vertex from orthogonal directions during the same tracing iteration, the motorcycle created by the irregular vertex with higher valence is stopped. If they have the same valence, the motorcycle generated by the vertex with the higher index is stopped. The output is a partition of the mesh in regular rectangular patches P with all the irregular vertices located on the border, such as in Figure 4(a). Here and in the following rectangularity of patches need not be intended in the strict sense of planar geometry, but as a planar model of a curved surface in space.

[0057] The resulting partition of the motorcycle graph algorithm is an over- segmentation, and computing a partition with the minimum number of patches is an NP-complete problem. A well-defined approach to reduce the number of patches is to trace a smaller number of motorcycles n = [deg(v) / 2] for each irregular valence-deg(v) vertex, ensuring that no two consecutive incident edges of the irregular vertex remain unused. However, the selection criteria for determining which edges to use around each irregular vertex significantly impact the quality of the final quad layout partition, specifically in terms of the number of patches and their shape quality, as shown in Figure 4(c). It is an objective of the invention is to avoid the creation of a partition with quad strips (i.e patches formed by a quadrangular areas Q aligned along a single direction) or single quad patches (i.e. patches formed by a single quadrangular area Q), as they require a higher number of input / output pins concerning the covered area. These low-quality patches arise from singularity configurations generated by the quad meshing algorithm. One configuration involves a quad with two irregular vertices on the diagonal, each having a different valence (typically 5 and 3). This configuration generates a single quad patch and two quad strips (as shown in Figure 4(a)). The second configuration produces a quad strip due to the misalignment of two irregular vertices. This misalignment originates from the singularity alignment term within the patch-side tessellation process, which may not be satisfied in specific shape configurations because it is modelled as a soft constraint.

[0058] To minimize the number of patches P and improve their shape quality, a new simplification algorithm for the quad patch layout generated by the motorcycle graph is proposed that leads to the patch layout of Figure 4(b). Referring to Figure 5, picture (a) shows the quad patch layout generated by the motorcycle graph (where patches generated by the motorcycle algorithm are denote Pm). The algorithm prunes edge chains generated by the motorcycle particles by solving a global Integer Linear Program (ILP) followed by an energy optimization to improve the shape quality of the patches, the result of which is shown in picture (b) of Figure 5. Once the patch layout has been simplified, the patches P are packed within a rectangular sensing region defined by the number of Tx and Rx electrode lines of an associated capacitive touch controller. The objective is to establish a mapping function of each patch inside the sensing region that preserves the adjacencies between patches as much as possible, i.e. where two patches are neighbours on the surface of the triangle mesh, the closeness of the patches should be preserved when they are mapped inside the sensing regions of the controllers.

[0059] This problem is tackled by solving the global assignment of the Tx and Rx roles to each patch side, aiming to minimize discontinuities between adjacent patches. For each patch, a role is assigned to vertical strips (Tx and Rx) and the other to horizontal strips. To minimize the number of conductors, the continuity of roles among adjacent patches must be enforced as much as possible. For example, if two patches are one close to the other in the horizontal direction, both patches should have the same role on the horizontal strips. Subsequently, a greedy approach to cluster the quad patches P is employed, ensuring the minimum number of clusters C is created to reduce the total number of input / output pins, as shown in picture (c) of Figure 5. Each cluster C must have a bounding rectangle that does not exceed the size of the sensing region. Finally, the clusters C are packed within the sensing region, optimizing their placement to reduce the overall number of required touch controllers, as shown in picture (d) of Figure 5.

[0060] Patch simplification

[0061] Using the paths generated by the motorcycles, the relative tracing graph G = (V= VSU Vt, E) is built, where the set V contains the irregular vertices Vsand the T- vertices Vt generated by a motorcycle collision with the path of another motorcycle or with the mesh border (vertices B in Figure 4). The set E contains an edge for every pair of vertices in V connected by a chain of edges of the quad mesh visited by a single motorcycle (connecting an irregular vertex and a T- Vertex) or by two motorcycles after a head-on collision (connecting two aligned irregular vertices). For an edge e, that includes a T-vertex, its multiplicity is computed as mt= 1, while for edges without a T-vertex, the multiplicity is m, = 2. Additionally, each edge stores its list of edges within the quad mesh as a half-edge list.

[0062] A per-vertex multiplicity a is defined for each edge = (v(, Vk) to handle loops around the same irregular vertex. This multiplicity is a = 2 if Vi = Vk, and a = 1 otherwise.

[0063] For every T-vertex Vi c Vtis assigned the orthogonal edge that led to its generation, corresponding to the edge where the motorcycle collided during the tracing process. Additionally, the orthogonal weight bi for each T-vertex, defined as the quad edge distance from the close vertex along the orthogonal edge, is computed considering both irregular vertices and T-vertices if they are on the same edge side. Specifically, bi represents the shortest distance from the next corner of either of the two patches created by Vi. To compute this distance, the half-edge list of the internal perimeters of these patches is navigated in opposing order (one counterclockwise and the other clockwise) starting from Vi. Furthermore, the orthogonal weight CH for each edge is computed. If the edge is connected to a T-vertex, the weight CH equals the orthogonal weight bi of that T-vertex. If the edge connects two irregular vertices, the weight CH is set to the maximum value of bi among all the T-vertices.

[0064] In the following, Z(v,) c E is denoted as the set of incident edges for the vertex Vi ordered counterclockwise.

[0065] The tracing graph G is used as input for a binary ILP problem to prime its edges. The objective is to minimize the number of quad patches Pmcreated by the motorcycle algorithm, preserving a regular quad partition and removing as many quad strips and single quad patches as possible.

[0066] Let Xi E {0, 1 } be a binary variable for the edge in G, where Xi = 0 means that the edge is pruned in the final layout, and Xi = 1 indicates that is kept. The following minimization problem is set: ill i where the edge weights Wi are defined by where amax is the maximum orthogonal weight at over all the edges.

[0067] To model different requirements, three sets of linear constraints are employed.

[0068] The first set of constraints encodes the idea of using n = [deg(v) / 2] incident edges for each irregular deg(v) vertex to produce a valid partition with fewer quad patches. These constraints are as follows:

[0069] Specifically, equation 2 constrains the minimum number t of edges to be used in the simplified layout to ensure a regular quad patch partition. The value of t is defined as: where V4irepresents the internal irregular vertices and Vsb represents the border irregular vertices (V4= VSiU Vsb). Equation 3 enforces the minimum number of edges to be selected for each irregular vertex. Equation 4 ensures that at least one edge must be used in the final layout for every pair of consecutive edges of an irregular vertex.

[0070] The second set of constraints focuses on a specific issue that frequently affects the final quality of the patch layout: single quad patches. For this situation the edge selection is modelled around a single quad patch with two irregular vertices of different valence on the diagonal (as shown in Figure 6(a)).

[0071] These constraints aim to select the edges that generate only one of the two T-vertices on the opposite diagonal of the two irregular vertices. In this way, the single quad patch can be removed without creating dangling T-vertices.

[0072] The third set of constraints deals with the T-vertices to ensure a valid patch layout after the pruning process (as shown in the Figure 6(b)). x > - Xi > 0

[0073] This constraint prevents the creation of a dangling T- vertex. If the edge e, is selected in the final layout and creates a T- vertex on the edge e, then the selection of e, is forced. This constraint could be removed by applying an additional tracing procedure starting from all the created dangling T-vertices at the end of the ILP solving. This approach does not guarantee a better-quality layout when new quad strips are generated by the additional tracing step. The constraint can be relaxed, allowing for the pruning of the orthogonal edge ej while preserving edge e, if there exists an edge ei, that can be reached by the dangling T- vertex with a single tracing step. In such cases, the tracing step is considered safe since it does not result in additional quad strips and it may be substituted with the new constraint: (8)

[0074] Finally, the quad strip patches created by two not aligned irregular vertices are addressed introducing a soft constraint in the minimization problem defined in Equation 1.

[0075] This constraint is based on the weight Wi assigned to each edge, given by the equation: where a max is the maximum orthogonal weight cu over all the edges. The purpose of this weight assignment is to prefer the removal of edges with T-vertices resulting in narrow patches. A soft constraint may be opted for to avoid an unsolvable problem for some graph configurations.

[0076] The output patch layout computed by the ILP solver is a feasible solution that may contain more edges than the minimum number defined by t (Equation 5). These additional edges are introduced by the inequalities in Equations 2 and 3, which are necessary to ensure the solvability of the ILP problem for more complex shapes. Setting these constraints to strict equalities makes the ILP solver often unable to find a feasible solution. Therefore, to further improve the quality of the layout, a greedy geometric optimization is adopted. The main objective is to modify the patch layout created by solving the ILP problem through a sequence of local operations to decrease the energy by modifying the patches' size.

[0077] The total energy of the partition is defined as the sum of the energies of all the individual patches. For each patch P, the energy is computed using the following equation: where P, A and S are the perimeter, the area and the shape ratio (width-to-height ratio) operators. The energy takes into account both the compactness of the patch and its shape ratio. Its minimization encourages the creation of larger, square-shaped patches while preventing small and elongated ones. This approach aims to reduce the number of electrode lines required for the patches, which is proportional to their semi-perimeter.

[0078] The geometric optimization process consists of two iterative steps, each aimed at reducing the partition energy until further improvement is not possible.

[0079] In the first step, an Edge Swap operator is defined to identify a sequence of swap operations to invert the selection state of some edges in the tracing graph G. At each iteration, all the feasible potential swap operations on pairs of consecutive edges (e, e7) are gathered, belonging to the same irregular vertex v, but with opposite selection states. A swap operation is feasible if it meets three conditions: the edge to be deselected should have a multiplicity m = 1 (it creates a T-vertex), its deselection should not result in the creation of dangling T- vertices, and the operation must not violate the constraint outlined in Equation 4. For each potential swap, the energy changes AE introduced in the sizes of the affected patches is evaluated. In Figure 7, AE is calculated as where Pi and P2 represent the patches that are removed by the swap, and P3 and P4 denote the newly created ones. Then, the potential operations are sorted by energy change and the one with the maximum energy decrease (with the maximum AE) is performed. The swaps that result in the most significant energy reduction are preferably prioritized.

[0080] In the second step, a series of split and merge operations are applied. Two types of operators are defined: the Merge operator and the Split&Merge operator. The Merge operator joins two adjacent patches if their corners over the shared side coincide (Figure 8). This operation reduces the number of patches by one. The Split&Merge operator divides a patch by tracing a set of particles from the selected side for the split to the opposite one. A particle for each T-vertex and for each no-corner irregular vertex along the selected side is generated. Then, it merges the adjacent patches on the split side using the same condition of the Merge operator. The Split&Merge operator can reduce the number of patches by one if the merge operations can be applied to all the adjacent patches on the selected side for the split. Otherwise, it only reduces the energy while keeping the number of patches constant. These two versions are referred to as Symmetric Split&Merge (Figure 9) and Asymmetric Split&Merge (Figure 10), respectively. The optimization process begins by collecting a list of all Merge and Split&Merge operations that can be performed on the layout. The operation that maximizes the decrease in energy, defined as the difference between the energy of the removed patches and the energy of the newly created ones, is selected and performed. Finally, the adjacency information in the layout and the list of operations are updated. The process is iterated until no further operations can be performed.

[0081] Patch clustering

[0082] In this stage, the sensor grid is generated using the edges of the dual graph of the quad mesh. A greedy procedure is proposed to assign the sensing role (Tx or Rx) to each electrode line of the sensor grid. The procedure is composed of two steps: the clustering of the quad patches P of the simplified layout that, preserving the adjacency among the patches, reduces the total number of input / output pins; the packing of the computed clusters C inside the sensing regions of the minimum number of capacitive touch controllers.

[0083] Before the procedure, if a patch P exceeds the dimensions of the sensing region of the touch controller, it is split into multiple patches, avoiding the creation of quad strips or single-quad patches.

[0084] The procedure starts by pre-assigning the sensing roles (Tx or Rx) to each side of the quad patches P to minimize role cuts among adjacent patches. A role cut occurs when two adjacent patches have different role assignments on their shared side, generating orthogonal Tx-Rx fields. Since each cut introduces an additional conductor to connect the grid electrodes to the touch controllers, the required input / output pins can be decreased by minimizing the length of these cuts.

[0085] To solve the pre-assignment, a simple ILP problem is formulated. Two binary variables for each quad patch, Xio, xn £ {0, 1 } are defined. These variables represent the role assignment for a pair of opposite sides of the patch, where Xij = 1 indicates that the grid lines orthogonal to the corresponding sides are transmitters and Xij = 0 indicates that the grid lines orthogonal to the corresponding sides are receivers. For each patch P, the two variables are constrained to have opposite values: Xio + xn = 1.

[0086] Let S be the set of all pairs of adjacent patches {Pi, Pj)lk.

[0087] For each pair, a binary cut variable is defined, that correspond to the exclusive OR between the variables of the adjacent sides of the two patches. Here, I and k represent the indices of the adjacent sides of the two patches

[0088] (modulo two). The variable D indicates whether the shared border between the two patches is a cut (i.e. when xu and xtk have opposite values) or not. The assignment problem is defined as a minimization of the weighted sum of the cut variables: where Wij is the length of the shared edge list between the adjacent patches. The objective is to minimize the total length of the sensing role cuts.

[0089] The sensing role assignment is used in a greedy clustering procedure to create the smallest number of clusters C, each with a bounding rectangle contained in the sensing region of the touch controller.

[0090] For each patch P, its largest potential cluster C is computed through an iterative method that, in each iteration, adds an adjacent patch P to the current cluster border. The next patch to insert into the cluster must satisfy three conditions. The first condition allows adding the patch if at least one edge shared with an adjacent patch on the cluster border is not a role cut. With this condition, uninterrupted electrode lines can be created across the border edges, reducing the number of input / output pins by one for each adjacent edge that is not a role cut. The second condition checks if adding the patch would not result in the bounding rectangle of the cluster exceeding the size of the sensing region. The third condition checks if adding the patch does not create an overlap collision with other patches inside the cluster. When a new patch is added to the cluster, it is therefore checked that the area it should cover in the sensing region of the controller is not already assigned to another patch that already belongs to the cluster. The area to be occupied by the new patch depends on the close patches and the 3D geometry configuration around it. Among the patches that meet these requirements, the patch with the maximum number of shared non-cut edges on the adjacent border is added to the cluster. This selection criterion maximizes the removal of input / output pins.

[0091] Given the potential clusters, each one generated by a patch, the cluster C with the maximum number of removed input / output pins is kept, all the patches P belonging to the cluster C are marked as visited, and the method is restarted using only the not-visited patches. This method concludes when all patches are successfully assigned to a cluster.

[0092] Patch packing

[0093] The final step involves packing the computed clusters C within the sensing region of the touch controllers.

[0094] A raster-based texture packing algorithm is used. Given a texture with dimensions corresponding to the maximum number of Tx and Rx electrode lines, the aim is to pack the clusters C in the minimum number of controllers while minimizing empty space.

[0095] The algorithm starts by sequentially packing the clusters in the sensing region of the first controller, following a descending order based on the cluster area. When no more clusters can be accommodated in the current controller, the algorithm allocates a new one and restarts the process using the remaining unpacked clusters. The packing position inside the sensing regions is computed by minimizing modifications to the top and right horizons before and after inserting the cluster. This energy change is computed using two lists that store all the free space in the texture along its rows (from left to right) and columns (from bottom to top). To achieve better packing efficiency, the best position for each cluster is computed by evaluating a set of transformed versions. These transformations include ±90° rotation (if the rotated cluster remains within the sensing region), 180° rotation, vertical and horizontal flipping, and their combinations.

[0096] Figure 11 shows the clustering and the packing results for the object B shown in Figures 3 and 5 using three touch controllers with 21 Tx and 12 Rx electrode lines.

[0097] Specifically, starting from 31 patches P obtained on the object B model by the steps of patch decomposition 300 and simplification 400, the clustering step 500 creates 7 clusters C, and the following packing step 600 packs the 7 clusters C in 3 touch controllers TC with 21 Tx and 12 Rx input / output pins, which are identified in the figure by the chequering.

[0098] Geometry generation The clustering and packing of the quad patch layout into the sensing regions of the capacitive touch controllers TC provide the information needed to compute the position of the sensor electrodes on the body of the object.

[0099] For each controller, an independent sensor grid is created using the dual graph of the mesh, which is referred to as the sensor grid mesh. Each intersection in the grid represents a quad in its dual form. This is depicted shown in Figure 12 where the enlarged detail on the surface body of the object B shows a quadrangular area Q of the calculated quad mesh where a transmit electrode line T and a receive electrode line R, laying on different layers of the surface body, intersect in a superposition condition at a central region of the quad Q, defining a sensor node N.

[0100] Associated with each controller, an electrode is created for each line (transmit and receive) consisting of one or more poly-line segments on the surface. The electrode is divided whenever it crosses an edge between two quads mapped in consecutive positions along the line but not adjacent along this edge in the mesh, forming ends E that are joined with the interconnection conductors extending through the object’s internal volume to the touch controller. Since the touch controllers require a single conductor for each electrode line, two types of traces to place the sensor on the body of the object are needed: surface grooves V to accommodate the conductors on the body and internal pipes PP to connect each electrode line T, R to the associated touch controller TC and segments of the same electrode line belonging to distant patches in series, through the object's internal volume.

[0101] The first step involves projecting the sensor grid mesh onto the triangular mesh. Each vertex of the sensor grid mesh is moved to the nearest point on the triangle mesh, and an iterative refine procedure is applied to create smoother polylines for each line segment, i.e. polylines with smoother curvatures. In other terms, for each vertex of the polyline that defines the position of the electrodes on the surface of the quad mesh, the closest point on the triangle mesh is computed, and the polyline is projected on the triangle mesh. Specifically, Laplacian smoothing is performed while keeping the position of the intersections between the transmit and receive electrode lines fixed. The smoothed vertices are then reprojected onto the triangulated surface.

[0102] The grooves are generated using a procedural method that uses different depths, denoted as Ztx and Zrx, for transmit and receive electrodes, respectively. The two depths allow the creation of the intersections between Tx and Rx electrode lines (the sensing nodes) with the physical arrangement of the sensors just beneath the surface body of the object.

[0103] For each polyline in the sensor grid mesh, in the manufacturing of the physical object a rectangular profile may be extruded with a snapping mechanism to hold the physical conductors on the surface still. To determine the orientation of the profile, the vector connecting each vertex of the polyline with its closest point on the inner surface at distances Ztx for the transmit electrode and Zrx for the receive electrode is used.

[0104] Two types of pipes need to be generated with diameters dpipefor each electrode line: exit pipes and intra-pipes. The exit pipes are necessary to connect the electrodes on the surface with the touch controllers. They extend from the starting point of the first groove of each line, corresponding to an end of the electrode line, to a point inside the exit region selected by the user (typically located at the bottom of the object). The potential endpoints are precomputed and evenly distributed around the centre of the exit region. They are assigned to each pipe during the routing process to form a compact cluster around the centre. The intra-pipes are required to connect the different grooves in the same electrode line in series between distant patches belonging to the same touch controller. Each intra-pipe connects an end of a groove to a starting point of the next one, i.e. the end of an electrode line of a patch strip to the start of an electrode line of another patch strip on the same electrode line of the same touch controller. In other terms, for each Tx and Rx line (also called vertical and horizontal lines in the grid sensor) of the controller, a single conductor must be used. Since the patch clustering and packing can map pieces of geometry far away on the same Tx or Rx line, these pieces have to be connected with pipes to allow the passage of a unique wire. For example, in Figure 11, a unique wire has to be generated for each row and column that must connect only the coloured quad (covered by a patch). To prevent conflicts with the surface grooves, the pipes are generated inside the volume of the object at a distance tmin. Consequently, all the start and end points of the grooves are projected onto the inner surface of the object body, establishing the initial edge for all the pipe paths, which remains unchanged throughout the subsequent processing steps.

[0105] The routing of the pipes is computed using Dijkstra's algorithm on the graph constructed from the edges of the solid voxelization of the volume of the inner surface at tmin. This graph is enhanced by incorporating the endpoints of the grooves and the edges connecting them at the 4-nearest voxelization vertices. A voxelization with an edge length equal to dpipeis performed to ensure that the pipes do not intersect during path generation.

[0106] Before routing, the order in which the conductors must traverse the different grooves belonging to the same electrode line in series is reevaluated. The objective is to minimize the conductor length while preserving the intersections between the transmit and the receive electrodes.

[0107] The routing method proceeds by handling one path at a time: it extracts a path, removes the used vertices from the graph, and continues extracting the following path. This approach aims to generate paths as close as possible to the centre of the internal volume of the object, thereby preventing a pipe from obstructing the generation of other pipes due to the proximity to the inner surface of the body of the object. To meet this requirement, two aspects are to be focussed. The first aspect involves the distance function Lbused in Dijkstra's algorithm between the current vertex m and an unvisited one where Wj is the shortest distance from the unvisited node to the border surface of the volume. This function reduces the distance for points farther from the border, attracting the path closer to the centre. The time-dependent constant a determines the speed of this attraction effect. During the routing of the exit pipes, a is increased to relax the routing constraint within the centre of the volume, as the previously generated pipes should have already occupied this region. In particular, a = fc is set where k is the generation order index of the current path.

[0108] The second aspect concerns the order in which the paths are generated. First, the exit pipes are routed, followed by the intra-pipes. Within each group, the pipe with the longest path is first computed. To approximate the path length, the shortest path tree calculated from the centre of the exit region to the end points of the polylines for all electrode lines is used. For an exit pipe, the length of the path connecting the root of the tree to the start point of the pipe is considered. For an intra-pipe, the shortest path connecting the two endpoints of the pipe on the shortest path tree is considered.

[0109] While the start and end points of the intra-pipes are well-defined, determining the endpoint for the exit pipe requires selecting from the candidate points generated around the centre of the exit region. For the path generation of each exit pipe, the set of not-as signed exit points on the border of the regions containing the ones already assigned to the previously generated pipes is acquired. Then, the shortest paths from each of them to the start point of the pipe are computed. The path generated by the exit point that minimizes the sum of the path length and its distance from the barycentre of the already assigned exit points is selected. Both distances are normalized by the longest path length and the farthest exit point distance, respectively. The objective is to choose the exit point that not only results in the shortest path but also minimizes the spread of the exit points, thereby creating a compact cluster.

[0110] The final step involves smoothing the generated paths by alternating Laplacian and Bilaplacian smoothing. Bilaplacian smoothing prevents small curvature radii along the path, particularly near the fixed endpoints. In both smoothing steps, two types of repulsive forces are defined. The first repulsive force guarantees a minimum distance between the pipes, preventing cross-talk among the electrode lines. These forces are applied from the closest points of neighbouring pipes. The second repulsive force confines the position of the paths within the object's internal volume. These forces are applied from the inner surface of the object’s surface body. The final paths of the pipes serve as the basis for generating their geometry, achieved through the extrusion of a circular profile along the paths.

[0111] The geometry of the final object is generated by performing a boolean difference operation between the triangle mesh and the shapes of the grooves and internal pipes. In other terms, the geometry of the grooves and pipes is subtracted (i.e., removed) from the triangle mesh to place the electrodes. The object, or a prototype thereof, may be fabricated by 3D printing, for example by employing a material jetting 3D printer, and equipped with the sensor electrodes Of course, the principle of the invention remaining the same, the embodiments and details of realisation may vary widely from what has been described by way of non-limiting example, without departing from the scope of protection of the invention as defined by the annexed claims.

Claims

CLAIMS1. A computer-implemented method for designing a touch sensing arrangement for a 3D object (B) having a body with an external surface enclosing an internal volume, wherein said touch sensing arrangement includes a grid of transmit and receive electrode lines (T, R) intersecting to form capacitive touch sensor nodes (N) of a sensor grid mesh, said transmit and receive electrode lines (T, R) being connected to at least one associated touch controller (TC) having a respective sensing area defined by the number of input and output connections with respective transmit and receive electrode lines (T, R), wherein pairs of adjacent transmit electrode lines (T) and pairs of adjacent receive electrode lines (R) are arranged with a mutual spacing according to a predetermined touch sensing spatial accuracy, characterised in that the method includes the steps of: performing a quad meshing of said external surface, the quad mesh including a plurality of quadrangular areas (Q) of said external surface having side dimensions matching said mutual spacing between pairs of adjacent transmit electrode lines (T) and between pairs of adjacent receive electrode lines (R), wherein a transmit electrode line (T) and a receive electrode line (R) are associated with each quadrangular area (Q); computing a quad patch layout comprising a plurality of quad patches (P), each including a plurality of adjacent quadrangular areas (Q) of said quad mesh, by minimizing the total energy of the plurality of patches (P) defined as the sum of the energies of each patch (P) computed aswhere P, A and S are the perimeter, the area and the shape ratio (width-to-height ratio) operators applied to each patch (P); selectively grouping said quad patches (P) into a plurality of clusters (C) of adjacent patches (P) and packing said clusters (C) into a plurality of cluster sets, each cluster set being associated with a respective touch controller (TC), by minimizing the number of touch controllers (TC) and the number of input and output connections of each touch controller (TC) while preserving the continuity of the field generated by the transmit and receive electrode lines (T, R) within each cluster,the transmit electrode lines (T) and receive electrode lines (R) of the touch sensing arrangement being designed according to a dual edge graph of said quad mesh, and interconnecting conducting paths being established between transmit and receive electrode lines (T, R) of each cluster set and the respective touch controller (TC) through the internal volume of the 3D object (B).

2. The method according to claim 1, wherein computing a quad patch layout includes: applying a motorcycle graph algorithm to said quad mesh to obtain a partition of the quad mesh in quadrangular patches (P) where irregular vertices of the quad mesh are located on the borders of said patches (P) and all vertices of quadrangular areas (Q) internal to the patches are regular vertices; and pruning edge chains in generated by the motorcycle graph algorithm by solving a global Integer Linear Problem to remove patches (P) of said quadrangular areas (Q) that include a single quadrangular area or a unidimensional strip of quadrangular areas.

3. The method of claim 1, wherein grouping said quad patches (P) into a plurality of clusters (C) includes minimizing the number of input and output connections of transmit and receive electrode lines (T, R) to each touch controller (TC) while preserving the continuity of the field generated by the transmit and receive electrode lines (T, R) within each cluster, and packing said clusters (C) into a plurality of cluster sets includes minimizing the number of touch controllers (TC).

4. The method of claim 1, wherein establishing interconnecting paths through the internal volume of the 3D object (B) includes applying a curvature constraint to said interconnecting paths and a minimum distance constraint among said interconnecting paths.

5. The method according to claim 1, further including designing channels (V) on the external surface of the 3D object (B) for accommodating said transmit electrode lines (T) and said receive electrode lines (R), and wherein establishing interconnecting conducting paths between transmit and receive electrode lines (T, R) of each cluster set and the respective touch controller (TC) includes designing pipes or conduits (PP) for accommodating said interconnecting conducting paths that cross the internal volume of the3D object (B).

6. The method according to any one of the preceding claims, further including providing a digital 3D model of the 3D object (B) comprising a watertight triangle mesh representing the external surface of said 3D object (B), said triangle mesh including a plurality of triangular areas of said surface, and removing areas of said triangular mesh corresponding to regions of the surface of the 3D object (B) where the thickness of the body of the 3D object (B) is lower than a predetermined threshold, said quad mesh of the external surface being calculated on the residual triangular mesh of said external surface.

7. The method according to any one of the preceding claims, wherein the internal volume of the 3D object (B) is at least partially hollow.

8. A method for manufacturing a 3D object (B) having a body with an external surface enclosing an internal volume and a touch sensing arrangement including a grid of transmit and receive electrode lines (T, R) coupled to said body and connected to at least one associated touch controller (TC), comprising: designing said touch sensing arrangement by performing a method according to any one of claims 1 to 7 ; and3D printing the body of the object (B).

9. The method according to claim 8, wherein 3D printing the body of the object (B) includes 3D printing a dielectric material with grooves (V) arranged on respective layers of said surface that are electrically insulated from each other by said dielectric material and pipes or conduits (PP) in the internal volume of the object (B), wherein said transmit and receive electrode lines (T, R) are laid in said grooves (V) and are connected to a respective touch controller (TC) through interconnecting conducting paths laid into said pipes (PP).

10. The method according to claim 8, wherein 3D printing the body of the object (B) includes selectively 3D printing a dielectric material and a conductive material wherein the conductive material is printed on respective layers of said surface electrically that are insulated from each other by said dielectric material to generate said transmit and receiveelectrode lines (T, R) and along said established interconnecting conducting paths in the internal volume of the object (B).