# Self-Supervised Representation Learning for CAD

Benjamin T. Jones
University of Washington
Seattle, WA 98195
<EMAIL_ADDRESS>
http://www.bentodjones.com Michael Hu
University of Washington
Seattle, WA 98195
<EMAIL_ADDRESS>
Vladimir G. Kim
Adobe Research
Seattle, WA 98103
<EMAIL_ADDRESS>
http://www.vovakim.com Adriana Schulz
University of Washington
Seattle, WA 98195
<EMAIL_ADDRESS>
https://homes.cs.washington.edu/$\scriptstyle\sim$adriana

###### Abstract

The design of man-made objects is dominated by computer aided design (CAD)
tools. Assisting design with data-driven machine learning methods is hampered
by lack of labeled data in CAD’s native format; the parametric boundary
representation (B-Rep). Several data sets of mechanical parts in B-Rep format
have recently been released for machine learning research. However, large
scale databases are largely unlabeled, and labeled datasets are small.
Additionally, task specific label sets are rare, and costly to annotate. This
work proposes to leverage unlabeled CAD geometry on supervised learning tasks.
We learn a novel, hybrid implicit/explicit surface representation for B-Rep
geometry, and show that this pre-training significantly improves few-shot
learning performance and also achieves state-of-the-art performance on
serveral existing B-Rep benchmarks.

Figure 1: Overview of our technique. We train a geometric self-supervision
task of a large, unlabeled dataset of CAD Boundary Representations (B-Rep) to
learn geometrically relevant representations for each B-Rep face. These pre-
trained representations are then used to train few-shot segmentation and
classification learning tasks on labeled B-Rep datasets.

##  1 Introduction

Almost every human-made object that exists today started its life as a model
in a CAD system. As the prevalent method of creating 3D shapes, repositories
of CAD models are extensive. Further, CAD models have a robust structure,
including geometric and program representations that have the potential to
expose design and manufacturing intent. Learning from CAD data can therefore
enable a variety of applications in design automation and design- and
fabrication-aware shape reconstruction and reverse engineering. An important
challenge in learning from CAD is that most of this data does not have labels
that can be leveraged for inference tasks. Manually labeling B-Rep data is
time consuming and expensive, and the specialized format requires CAD
expertise, making it impractical for large collections.

In this work we ask: how can we leverage large databases of _unlabeled_ CAD
geometry in analysis and modeling tasks that typically require labels for
learning?

Our work is driven by a simple, yet fundamental observation: the CAD data
format was not developed to enable easy visualizing or straightforward
geometric interpretation, it is a format designed to be compact, have infinite
resolution, and allow easy editing. Indeed CAD interfaces consistently run
sophisticated algorithms to convert the CAD representation into geometric
formats for rendering. Driven by this observation our key insight is to
leverage large collections of unlabeled CAD data to learn to geometrically
interpret the CAD data format. We then leverage the networks trained over the
geometric interpretation task in supervised learning tasks where only small
labeled collections are available. In other words, we use geometry as a model
of _self-supervision_ and apply it to _few-shot-learning._

Specifically, we learn to rasterize local CAD geometry using an encoder-
decoder structure. The standard CAD format encodes geometry as parametric
Boundary Representations (B-Rep). B-reps are graphs where the nodes are
parametric geometry (surfaces, curves, and points) and edges denote the
topological adjacency relationships between the geometry. Importantly, the
parametric geometry associated with each node is _unbounded_ and bounds are
computed from the topological relationships: curves bounding surfaces and
points bounding curves. As shown in Figure 2, the geometry of B-rep face is
computed by _clipping_ the surface primitive, where the clipping masked is
constructed from adjacent edges.

Figure 2: Face representation in B-Rep geometry. Above: schematic of a
parameterized surface (sphere, left) with its unrolled clipping plane (right).
Adjacent edges (dark green) implicitly define the clipping boundary. Below:
sampled signed distance field (SDF) of the clipping plane in flattened (right)
and embedded (left) form; this is the function we actually learn.

This means that B-reps are constructed pieccewise by explicitly defined
surfaces with implicitly defined boundaries. This is the observation that
drives our proposed learning architecture: reconstructing faces by jointly
decoding the explicit surface parameterization as well as the implicit surface
boundary. Our proposed encoder uses message passing on the topological graph
to capture the boundary information to encode B-Rep faces. To handle the graph
heterogeneity (nodes comprised of faces, edges, and, vertices), we use a
hierarchical message passing architecture inspired by the Structured B-Rep GCN
[16]. Our decoder uses the learned embeddings as latent codes for two per-face
neural function evaluators: one mapping from $\mathbb{R}^{2}\to\mathbb{R}^{3}$
that encodes the face’s parametric surface, and one mapping
$\mathbb{R}^{2}\to\mathbb{R}$ that encodes the face’s boundary as a signed
distance field (SDF) within the parametric surface.

We apply our proposed model of B-rep self-supervision to learn specialized
B-Rep tasks from very small sets of labeled data—10s to 100s of examples, vs
10k to 100k. This is done by using the embeddings learned on self-supervision
as input features to supervised tasks. We evaluate our approach on three tasks
and data-sets from prior work [6, 21, 3]. We validate our findings across
varying training set sizes and show that our model consistently outperforms
the prior supervised approaches with a significant improvement in performance
on smaller training sets. This result shows that self-supervision on unlabeled
CAD data can enable supervised learning on small labeled data-sets paving the
way to many exciting application is the domain—from modeling, to analysis,
reconstruction and beyond. By using less data, our approach is also
significantly faster to train, enabling applications that depend on training
speed. Since our self-supervision task in a differentiable CAD rasterizer, we
use it to prototype a reverse engineering task, demonstrating how it can be
used in the future for different applications that require gradient-based
optimization over B-Reps.

##  2 Related Work

#### Learning from CAD Collections

Recently, interest in learning from CAD data has increased due to advances in
machine learning and the release of large CAD data-sets, including collections
of B-reps and program structure [20, 36], CAD sketches [31], and CAD
assemblies [16]. Prior work has leveraged such collections for many
applications including segmentation [6], classification [3], assembly
suggestions [35, 16], and generative design of CAD sketches [31, 10, 28, 32],
B-Reps [14, 13], and CAD programs [37, 36]. There is, however, a fundamental
gap between the capabilities shown in past work and real-world applications
that can fundamentally impact CAD design, such as auto-complete modeling
interfaces or reconstruction of complex geometries: the lack for task-specific
labels in large datasets. For example, while most prior work leveraged the
Onshape Public dataset[20], this dataset contains mostly designs created by
novice CAD users, not capturing the design process of CAD experts. The Fusion
360 dataset [36] is significantly smaller compared to the Onshape collection,
and other public resources, such as GrabCAD [1], contain designs from multiple
CAD systems that are mostly unlabeled. In this work, we make a fundamental
step toward enabling novel applications on CAD learning by proposing a novel
direction for leveraging unlabeled data in supervised learning of CAD
geometry.

#### Learning on B-Reps.

A CAD B-Rep is a specialized data structure that encodes solid geometry as a
graph of parametric shapes and their topological relationships, which has the
advantages of arbitrary spatial resolution and easy programmatic editability.
B-reps can be exported to other common geometric representations, such as
polygonal meshes, using geometric CAD kernels [2]. Several techniques for
learning on B-reps use message passing networks. BRepNet [21] and and UV-Net
[15] create a reduced graph of B-Rep faces, while SB-GCN [16] propose a
hierarchical structure over the 4 classes of topological entities (faces,
loops, edges, and vertices). These methods, however, require a CAD kernel in
the loop to generate the features from the B-Rep format and large labeled sets
for learning. While we use a CAD kernel to train our encoder-decoder on
unlabeled data, our task-specific networks can be trained on small sets of
labeled data without the need of a CAD kernel at inference time.

#### Neural Shape Representations.

Neural shape generation is an active research area with a large number of
representations used by prior techniques. Some methods operate over a fixed
discretization of the domain into points [4, 9], voxel grids [5, 24], or
vertex coordinates of a mesh template [33]. Due to irregularity of geometric
data, functional representation is often used, learning to represent shapes as
continuous functions, such as surface atlases [12, 38] or signed distance
fields defined over a volume [29, 25, 7]. In this work we chose to use
functional representation of the output shape as a neural occupancy and 3D
mapping function over UV domains. Functional representation is well-suited for
heterogeneous geometry with varied levels of detail, since it does not require
choosing a fixed sampling rate. Furthermore, our representation that combines
implicit fields and atlas-like embeddings directly produces a surface and can
be easily supervised with the ground truth B-Rep data.

#### Few Shot Learning.

Performance of strongly-supervised methods is commonly hampered by lack of
training data. Few-shot learning techniques often rely on learning rich
features in a self-supervised fashion, and then using a few examples to adapt
these features to a new task [34]. One common self-supervision strategy is to
withhold some data from the original input, and train a network to predict it.
For example, one can remove color from images and train a network to colorize
[22, 40], remove part of the image and train a network to complete it [30],
randomly perturb orientation and predict the upright position [11], or
randomly shuffle patches and predict their true ordering [8, 26]. Another
commonly used tool is auto-encoders that encode input to a lower-dimensional
space and then attempt to reconstruct it with a decoder [18, 19]. Our approach
is closest to the auto-encoders, except our input and output are in two
different representations: CAD B-Reps and surface rasterizations. This enables
us to learn features related to the actual 3D geometry.

##  3 Geometric Self-Supervision

Our goal is to learn relevant features of CAD B-Reps that can be used on a
number of different modeling and analysis tasks. We use an encoder-decoder
architecture on B-Rep surfaces to learn a latent space of relevant features.
Based on the insight that the learned features should include geometric
understanding of CAD shapes, we train our encoder-decoder to learn to
rasterize CAD models. We further choose to learn this embedding at the face
level as opposed to a feature per part. This is driven by our application
domain, where tasks typically require understanding local topological
information. An overview of or architecture is shown in Figure 1.

#### Decoder

As previously discussed, the format we selected for the decoder output is
driven by the observation that B-Reps are compositions of explicitly
represented surfaces with implicitly represented boundaries. For example, the
geometry associated with faces are unbounded parametric surfaces
$S:\mathbb{R}^{2}\to\mathbb{R}^{3}$ and the boundary of such surfaces is
captured by the geometry of the neighboring edges. Edges in turn are defined
by unbounded parametric curves bounded by neighboring vertices. Vertices are
represented as points. In addition to the domain parameters, parametric
geometry has additional, fixed parameters (like radius or cone angle) that we
call _shape parameters_. A bounded surface is called a clipped surface, and
the bounding function, which is defined implicitly by the bounding topology,
is its clipping mask, illustrated in Figure 2.

For self-supervision, we need to choose an output geometric representation for
surface patches with boundary. Bounded patches do not have a natural
parameterization and so are not suitable to learn directly as parametric
functions. They also are difficult to represent as neural implicits. [27]
However, the clipping function itself defines a closed region within the
parameterization of the supporting surface, which is a function that lends
itself well to implicit representation in 2D. We therefore choose to learn an
implicit function of the clipping region as a 2D signed distance function.
Since this representation relies on an explicit surface parameterization, we
also learn the supporting surface parameterization. Crucially, this does not
require parameterizing a boundary.

We choose to use a conditional neural field as our decoder, since this
representation can capture both explicit and implicit geometry. Specifically,
the explicit parametric surface is an $\mathbb{R}^{2}\to\mathbb{R}^{3}$
function, mapping $(u,v)$ coordinates of a face’s supporting surface to the 3D
position of that point $(x,y,z)$. The clipping mask encoded as an SDF over the
parametric domain is a function $\mathbb{R}^{2}\to\mathbb{R}$, that maps the
same $(u,v)$ coordinates to a value $(d)$ measuring the signed distance to the
boundary. We combine these two function to learn a single field that maps
$\mathbb{R}^{2}\to\mathbb{R}^{4}$. We parameterize this field as a 4-layer
fully-connected ReLU network where the input coordinates and conditioning
vector are concatenated to the output at every hidden layer (similar to
DeepSDF [29]). The conditioning vector is the output of our face encoder
described below. We call the evaluation of this field “rasterization” because
raster sampling the field and filtering by $d$ yields a 3D surface
rasterization.

To normalize the field input range, and constrain the uv-space we must sample
while rasterizing, we reparameterize the uv-space of each surface prior to
training so that the clipping mask fits snugly within the unit square
($[0,1]^{2}$). This way, our encoder-decoder is learning the explicit surface,
the implicit boundary, and the support range of the implicit boundary mask.

#### Encoder

Our encoder design is driven by the same observation that B-Reps are
compositions of explicitly represented surfaces with implicitly represented
boundaries. For the encoder, this means that we must capture adjacent
topological entities. We propose to encode this using message passing on the
topological graph.

As show in Figure 3, the B-rep topological graph has a hierarchical structure;
high dimensional topological elements are only adjacent to the immediate lower
dimensional entities: faces are adjacent to their bounding edges, which are
adjacent to their end-point vertices. Driven by this observation, use as our
face-encoder a hierarchical message passing network inspired by the Structured
B-Rep GCN (SB-GCN) [16]: a graph convolutional network that leverages the
hierarchical structure of B-reps to learn embeddings for each topological
entity.

From SB-GCN, we adopt the idea of passing messages up from bounding entities
to those they bound (vertices to edges and edges to faces). Since we are only
attempting to learn local features, we stop message passing at this stage.
Unlike SB-GCN, we only use 3 layers of topological entities – vertices, edges,
and faces – avoiding an intermediate _loop_ level that aggregates edges into
closed curves labeled by whether they are interior or exterior face
boundaries. To achieve a similar goal in our architecture we use multi-headed
graph attention to handle large and variable numbers of B-Rep graph neighbors,
and graph-edge features indicating the type of relationship between B-Rep
topological entities (is a face to the left or right on a B-Rep edge, and is a
vertex the start or end of a B-Rep edge). [39]

Finally, SB-GCN (and other B-Rep representation learning networks) use
evaluated geometry information as input features in addition to the pure
parametric geometry, such as surface bounding box and area. These features are
computed by a CAD kernel: modeling software that understands how to construct
and evaluate CAD geometry. Since we want to force our network to learn the
evaluation function of a CAD kernel, as well as be fully differentiable back
to the shape parameters, we only use the parametric geometry definitions as
input features. We encode each entity with attached geometry (vertices, edges,
and faces) as a one-hot encoding of the type of surface or curve concatenated
with the continuous parameters of the function (for example, radius, center
point, and axis for a cylinder), and a flag indicating orientation of the
entity relative to the geometry (is the curve parameterization or surface
normal reversed). Geometric functions with fewer parameters are zero-padded to
create a fixed size input vector for each topological entity. In order to have
a fixed input size, we limit our input to B-Reps that have geometry with a
fixed number of parameters: planes, cylinders, cones, spheres, and tori for
surfaces, and lines, circles, and ellipses for edges. We validated this choice
by filtering the parts in the Automate data set [16], and found that 72.16%
contained only these primitives.

Figure 3: A boundary representation is made of parametric surface patches,
bounded by parametric edges, bounded by vertices. The relationship between
these entities forms a hierarchical graph.

#### Training

We trained our encoder-decoder to minimize $L^{2}$ losses at randomly sampled
uv-points on each face’s supporting surface. We used a biased random sampling
in the re-parameterized uv-square $(u,v)\in[-0.1,1.1]^{2}$ to ensure positive
and negative SDF samples were collected. CAD kernels support efficiently
querying if a point in a surface parameterization is inside or outside the
clipping function, so we approximate the SDF by sampling a large number of uv-
points (5000) and matching each inside and outside point to its nearest
neighbor in the opposite set, using a KD-Tree to accelerate these queries. We
keep $N=500$ of these points on each face for training. To bias our sample
towards the 0-level set, as is common when training implicit SDFs [29], we
sort by $|d|$ and task $40\%$ of our sample to be the nearest points to the
boundary, and randomly sample the rest.

We trained our geometric self-supervision over 23266 shapes from the training
set of Fusion 360 Gallery Segmentation Dataset [36]. Optimization was
performed using the Adam optimizer [17] with a learning rate of $.0005$. For
our experiments, we used an embedding size of 64 for all message passing
layers, 2 attention heads for the vertex to edge layer, 16 attention heads for
the edge to face layer, and a hidden size of 1024 for all self-supervision
decoder layers.

##  4 Few-Shot Learning

Since in typical task-specific applications it is challenging to find or
construct large collections of labeled CAD data, we propose levering our rich
latent space to enable supervised learning over very small collections. In
addition to enabling training on very little data our approach also ensures
that we do not need to use computationally expensive CAD kernel functionality
for generating the features at inference time.

We propose two few-shot learning setups. The first are B-Rep segmentation
tasks, which assign a task-specific label to each face of a B-Rep; for
example, what type of machining technique can be used to construct that
surface. The second are B-Rep classification tasks, which assign a label to an
entire B-Rep; for example the mechanical function of that part (gear, bracket,
etc.) We frame both of these as a multi-class classification problems.

#### B-Rep Segmentation Network

Since our encodings are learned at the face level, they can be used directly
as input for face level predictions. Because classification of a face is often
dependent on its context within a part, we use a small graph convolutional
network to capture this context; a 2-layer Residual MR-GCN. [23] We use pre-
computed face embeddings from our geometric self-supervised learning as node
features, and use face-face adjacency as edges; we construct this graph by
removing vertex nodes from the B-Rep graph and contracting edge nodes,
preserving multiple edges between faces if they exist. Output predictions for
each face are then made with a fully connected network with two hidden layers.

#### B-Rep Classification Network

While we do not have latent codes for entire B-Rep shapes, we take a similar
approach to previous B-Rep learning architectures and pool learned features
for each face. To do this we project each face’s embedding into a new vector
for pooling using a fully connected layer, followed by a second projection of
the pooled part features into the prediction output space.

##  5 Results

We validate the application of our proposed approach by applying our method to
three few-shot learning tasks. We further evaluate our method by analyzing the
rasterization results.

###  5.1 Few-Shot Construction-Based Segmentation

The first task we apply our method to is segmentation of B-Rep geometry by the
modeling operation used to construct each face (extrusion, revolution,
chamfer, etc.). This requires the model to understand how geometry is
constructed in CAD software. For this task we use 27450 parts from the the
Fusion 360 Gallery dataset, a collection of user-constructed parts annotated
with one of 8 face construction operations on each face [21].

We pre-trained our geometric self-supervision network over this dataset, then
our face-level prediction network using the face embeddings from the self-
supervision. Some classification results are shown in Figure 4. Our method is
able to achieve 65% accuracy after seeing just 10 training examples, and is
96% accurate when given all 23266 in the training set.

We compare our method against two network architectures for B-Rep learning;
BRepNet [21] and UV-Net [15]. BRepNet defines a convolution operator relative
to co-edges in a B-Rep structure and uses parametric face and edge types, as
well as concavity and edge length features. UV-Net is a message passing
network between adjacent faces, and uses grid sampled points of faces and
edges as its features. We trained and tested each network on random subsets of
the training data ranging from 10 examples to 23266. We repeated this 10 times
at each training set size (all three methods saw the same training sets).

Figure 5 plots the average accuracy at each train size across these runs with
a bootstrapped 95% confidence interval. Our method outperforms the baselines
at all dataset sizes, and does so by a significant margin in the few-shot
regime. It also has a smaller confidence interval, indicating that pre-
training on our rasterization task makes classifications more robust to choice
of training example111BRepNet’s very small confidence interval at small
training set sizes is an artifact of it predominantly or entirely predicting
one class.. In addition to these quantitative results, we show classification
comparisons at the 100 example level in Figure 6. Our method is able to start
generalizing with 10s to 100s of examples, whereas the baselines fail to
generalize and mostly learn the most frequent label at this data scale.

Figure 4: Face classification example results for the Fusion 360 Segmentation
Task. The CAD operation which created each face is indicated by color. Left is
our model’s prediction, right is the ground truth. Figure 5: Comparison of our
method versus UV-Net and BRepNet for Construction-Based Segmentation on the
Fusion 360 Gallery Segmentation dataset. The mean accuracy across 10 training
runs is plotted with a bootstrapped 95% confidence interval. Figure 6: Few
shot classification results from our method versus baseline models on the
Fusion 360 gallery task, trained over just 100 models. Face color indicates
the modeling operation used to create a face. Our model performs significantly
better in the low data regime; it can differentiate operations, whereas the
baselines are largely guessing the most common operation: ExtrudeSide.

We further note that training our method is an order of magnitude faster than
either baseline (See Figure 7). This raises the possibility of segmentation
tasks trained on-the-fly to enable predictors to be trained and deployed in
the modeling process.

Figure 7: Training times on the Fusion 360 Segmentation task. All models were
trained on an NVIDIA RTX 2080 Ti, and reported time is the time to minimum
validation loss. Face codes pre-trained using a truncated SB-GCN.

###  5.2 Few-Shot Manufacturing-Driven Segmentation

The second segmentation problem we considered is face segmentation that
classifies how each face is manufactured. We evaluated this on the MFCAD
dataset [6]. This is a synthetic dataset of 15488 CAD models where each face
is labeled with one of 16 types of machining feature (chamfer, through hole,
blind hole, etc.) The parts in this dataset are generated by applying
machining operations to square stock, and so consist entirely of planar faces
and straight line edges. As compared to the Fusion 360 Gallery dataset, this
task has twice as many classes to choose from, and will rely more on
neighborhood and boundary information since all faces are planar. It also
shows the ability of our approach to generalize pre-trained features to out-
of-distribution data, since we use face codes pre-trained on Fusion 360
Gallery models (in this and all examples), which is more naturalistic in
comparison.

We compare this task to the same two baselines, illustrated qualitatively in
Figure 8 and quantitatively in Figure 9. We had to remove curvature features
from BRepNet since they are universally zero on this dataset, and BRepNet
requires all input features to have non-zero standard deviation. As before,
our method outperforms the baselines at few-shot learning, and achieves
comparable accuracy at large data sizes (all three methods are essentially
perfect given sufficient training data). The stability of our prediction
accuracy as measured by confidence interval is significantly better than both
baselines.

Figure 8: MFCAD few shot segmentation comparison at 100 train samples. Top row
is the ground truth labeling, followed by Our, UV-Net, and BRepNet
predictions. Figure 9: Comparison of our method versus UV-Net and BRepNet for
Manufacturing-Based Segmentation on the MFCAD dataset. The mean accuracy
across 10 training runs is plotted with a bootstrapped 95% confidence
interval.

###  5.3 Few-Shot Part Classification

In addition to segmentation, we also applied our method to part
classification. For this, we used the FabWave [3] dataset, a hand-labeled
subset of GrabCAD [1] which has been categorized into classes of mechanical
parts (gears, brackets, washers, etc.) Many parts from within a category are
parametric variations of each other. This task is important for understanding
the function of mechanical parts in assemblies.

Figure 10: Comparison of our method versus UV-Net for Part Classification on
the FabWave Dataset. The mean accuracy across 10 training runs is plotted with
a bootstrapped 95% confidence interval.

As a baseline comparison we only compare against UV-Net since BRepNet does not
support classification. Again using face codes pre-trained on Fusion 360
Gallery B-Reps, we train our B-Rep Classification Network over the 26 classes
which have at least 3 examples compatible with our network (for train, test,
and validation), and use stratified sampling to create training subsets which
contain at least one part from each category in each split. Since UV-Net
cannot be run on B-Reps that do not contain edges, we restricted our test set
to only models with edges, as well as removing 2 classes which UV-Net could
not distinguish since they differ only in part orientation (our technique is
able to distinguish these classes, so keeping them in the evaluation would
both improve our accuracy and decrease UV-Net’s). Figure 10 shows the results.
Our method outperforms UV-Net across training sizes and even achieves 100%
accuracy at higher training set sizes.

###  5.4 Rasterization Evaluation

Figure 11: Shape reconstructions (right) from face embeddings on the Fusion
360 Segmentation test set, compared to ground truth (left). Each B-Rep face is
given a unique color, which is consistent between ground truth and
reconstruction. Reconstructions were created by sampling a 100x100 (u,v) grid
in the range [-0.1,1.1] for each face to create a mesh for the supporting
surface, then removing mesh vertices outside the predicted clipping plane SDF.
Supporting surface reconstructions are highly accurate, as are the clipping
masks for typical shapes with a single boundary. Complex interior and exterior
boundaries of clipping planes are sometimes predicted inaccurately.

In Figure 11 we present a collection of part renderings to illustrate
qualitatively our reconstruction and classification results. It shows a
gallery of rasterization results on unseen test examples from the Fusion 360
Gallery segmentation dataset. We see that the explicit prediction of support
surface coordinates works very well. While the implicit prediction of clipping
planes works well in many cases, it sometimes misses inner loops and complex
boundary geometry.

###  5.5 Ablations

#### Self-Supervision Ablations

In addition to the network described in Section 3, we also tried using a
truncated SB-GCN (only using its upwards pass) as the encoder network, using
the same shape parameter input features. We evaluate both explicit surface and
SDF accuracy in Table 1, and see that our architecture significantly
outperforms SB-GCN in both measures.

Model | XYZ Error | SDF Error
---|---|---
Ours | $\mathbf{0.0256}$ | $\mathbf{0.0147}$
SB-GCN | 0.035 | 0.0214
Table 1: Self-Supervision ablations. XYZ Error is the average pointwise
distance between predicted and sampled surface position. SDF Error is the
average absolute difference between predicted and actual SDF value.

#### Segmentation Ablations

We tried 3 types of face-level prediction network using our self-supervised
face embeddings to determine which was best. The first two try to directly
classify faces from the embedding directly, one using a Linear Support Vector
Machine (SVM), and the other using a Multi-Layer perceptron. These test linear
and non-linear decision boundaries based on face-codes alone. The third is the
message passing scheme described in Section 4, which tests if neighborhood
context is necessary.

To evaluate how well each method worked across labeled dataset sizes, we
trained each model repeatedly on all supported tasks at a variety of training
set sizes using a similar scheme to our baseline comparisons. Table 2 records
the average face segmentation accuracy across dataset sizes for both
segmentation tasks. Results were consistent across datasets and training
sizes; a non-linear decision boundary is more accurate than a linear one, and
neighborhood information improves accuracy, leading us to choose the message
passing network as our method.

Task / Model | Training Set Size
---|---
Fusion 360 Segmentation | Accuracy@: | 10 | 100 | 1000 | 10000 | 20000 | 23266
| Self-Supervision + SVM |  | $0.50$ | $0.66$ | $0.75$ | $0.76$ | $0.77$ | $0.77$
| Self-Supervision + MLP |  | $0.55$ | $0.67$ | $0.82$ | $0.90$ | $0.91$ | $0.91$
| Self-Supervision + MP |  | $\mathbf{0.56}$ | $\mathbf{0.68}$ | $\mathbf{0.83}$ | $\mathbf{0.92}$ | $\mathbf{0.94}$ | $\mathbf{0.94}$
MFCAD | Accuracy@: | 10 | 100 | 1000 | 10000 | 13940 | –
| Self-Supervision + SVM |  | $0.15$ | $0.50$ | $0.56$ | $0.59$ | $0.58$ |
| Self-Supervision + MLP |  | $0.35$ | $0.55$ | $0.83$ | $0.90$ | $0.91$ |
| Self-Supervision + MP |  | $\mathbf{0.38}$ | $\mathbf{0.65}$ | $\mathbf{0.95}$ | $\mathbf{0.99}$ | $\mathbf{0.99}$ |
Table 2: Segmentation ablations. Reported face classification accuracies are
the mean of 10 runs at each data set size with the train set subset at
different random seeds (each model sees the same 10 random subsets). Model
selected by best validation loss on a random 20% validation split, except for
the SVM models. Bold indicates indicates the best accuracy at each train size
for each task. Self-Supervision codes pre-trained using a truncated SB-GCN.

#### Classification Ablations

We also tested adding additional message passing layers prior to pooling for
the classification network. As Table 3 shows, this additional complexity did
not yield real improvement on

Task / Model | Training Set Fraction
---|---
FabWave | Accuracy@: | 1% | 5% | 10% | 20% | 50% | 75% | 100%
| Self-Supervision + Pooling |  | $\mathbf{0.72}$ | $\mathbf{0.93}$ | $0.97$ | $\mathbf{0.99}$ | $\mathbf{0.999}$ | $.999$ | $\mathbf{1.00}$
| Self-Supervision + MP + Pooling |  | $0.72$ | $0.93$ | $\mathbf{0.97}$ | $0.99$ | $0.999$ | $\mathbf{1.00}$ | $\mathbf{1.00}$
Table 3: Classification ablations. Reported accuracies are mean of 10 runs,
similar to Table 2. Adding message passing prior to pooling does not confer an
advantage, so we do not use it in our reported results. Self-Supervision codes
were pre-trained using a truncated SB-GCN.

###  5.6 Limitations and Future Work

Our work has three main limitations. The first is the restriction of B-Reps to
those with fixed-size parameter sets for all attached geometry. This is a
limitation of the choice of encoder network, and could be alleviated by using
a sequence or tree encoder to compute fixed-size embeddings for the generic
functional geometric expressions of each B-Rep topology.

The second limitation is that we only self-supervise on local information.
This means that we rely on additional message passing layers in our task
specific decoders to gather neighborhood features.

Finally, we only create encodings for faces, which limits the kinds of tasks
we can learn. Adding a second decoder and loss term to rasterize edges could
extend this work to edge-based tasks, however there are not currently edge-
specific tasks in the literature to compare against, and we encountered
frequently CAD kernel errors when sampling edges, so we did not take this
step.

Improving self-supervision accuracy will be a fruitful direction for future
work. Figure 12 shows that the accuracy of downstream learning tasks is
correlated with the accuracy of our model’s rasterization. Thus improvements
in rasterization performance should yield improvements in classification
performance in both few-shot and large data regimes.

Figure 12: Segmentation accuracy compared to rasterization accuracy on the
Fusion 360 segmentation task. X-axis is the log of the per-face MSE of our
rasterization, binned into 10 groups, and the Y-axis is the fraction of faces
segmented accurately within each bin. Data is aggregated across all
segmentation training set sizes and seeds (the trend is similar across all
sizes, with lower accuracies at lower training set sizes).

Improving rasterization performance could also unlock future applications in
reverse engineering. Since operating our self-supervision network as a
rasterizer creates, in effect, a differentiable CAD renderer, we can use it
for gradient-based optimization of B-Rep _shape parameters_. To demonstrate
the potential of such an application, we prototyped a shape matching
application, where an input B-Rep is optimized via stochastic gradient descent
to match a target point cloud. Figure 13 shows the results of using this
optimization to angle the face of a cube. We find that this optimization
technique struggles on more complex shapes, which may overcome by improved
rasterization performance.

Figure 13: Shape matching with differentiable rasterization. The input cube
(left) was optimized using SGD over its B-Rep shape parameters (right) to
match a target point cloud (red).

##  6 Conclusion

In this work we propose to learn a spatial embedding of B-reps and apply it to
few-short learning on supervised tasks. We validate that this approach is
effective compared to prior work on supervised learning. Our results show
comparable results on large training sets and significantly better performance
on smaller sets. By experimenting over three different tasks and data-sets, we
posit that this method will be widely applicable on a plethora of CAD
applications. Being faster to train can enable many applications in this
domains; particularly, user-guided annotation for customized predictions.
Finally, our method enables a fully differential embedding of B-rep geometry,
compared to prior work that required non-differentiable CAD kernels, paving
the way to exciting future work on CAD optimization and reverse engineering.

## References

  * [1] Grabcad.  https://grabcad.com/.  Accessed: 2022-05-19.
  * [2] Siemens. parasolid cad kernel.  https://www.plm.automation.siemens.com/global/en/products/plm-components/parasolid.html.  Accessed: 2022-05-19.
  * [3] Development of a Pilot Manufacturing Cyberinfrastructure With an Information Rich Mechanical CAD 3D Model Repository, volume Volume 1: Additive Manufacturing; Manufacturing Equipment and Systems; Bio and Sustainable Manufacturing of International Manufacturing Science and Engineering Conference, 06 2019.  V001T02A035.
  * [4] Panos Achlioptas, Olga Diamanti, Ioannis Mitliagkas, and Leonidas J Guibas.  Learning representations and generative models for 3d point clouds.  arXiv preprint arXiv:1707.02392, 2017.
  * [5] André Brock, Theodore Lim, James M. Ritchie, and Nick Weston.  Generative and discriminative voxel modeling with convolutional neural networks.  CoRR, abs/1608.04236, 2016.
  * [6] Weijuan Cao, Trevor Robinson, Yang Hua, Flavien Boussuge, Andrew R. Colligan, and Wanbin Pan.  Graph representation of 3d cad models for machining feature recognition with deep learning.  volume Volume 11A: 46th Design Automation Conference (DAC) of International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, 08 2020.
  * [7] Zhiqin Chen and Hao Zhang.  Learning implicit fields for generative shape modeling.  IEEE Computer Vision and Pattern Recognition (CVPR), 2019.
  * [8] Carl Doersch, Abhinav Gupta, and Alexei A Efros.  Unsupervised visual representation learning by context prediction.  In Proceedings of the IEEE International Conference on Computer Vision, pages 1422–1430, 2015.
  * [9] Haoqiang Fan, Hao Su, and Leonidas Guibas.  A point set generation network for 3d object reconstruction from a single image.  CVPR, 2017.
  * [10] Yaroslav Ganin, Sergey Bartunov, Yujia Li, Ethan Keller, and Stefano Saliceti.  Computer-aided design as language.  Advances in Neural Information Processing Systems, 34, 2021.
  * [11] Spyros Gidaris, Praveer Singh, and Nikos Komodakis.  Unsupervised representation learning by predicting image rotations.  In ICLR 2018, 2018.
  * [12] Thibault Groueix, Matthew Fisher, Vladimir G Kim, Bryan C Russell, and Mathieu Aubry.  Atlasnet: A papier-mache approach to learning 3d surface generation.  arXiv preprint arXiv:1802.05384, 2018.
  * [13] Hao-Xiang Guo, Shilin Liu, Hao Pan, Liu Yang, Xin Tong, and Baining Guo.  Complexgen: Cad reconstruction by b-rep chain complex generation.  ACM Transactions on Graphics (TOG), 39(4):106:1–106:14, 2022.
  * [14] Pradeep Kumar Jayaraman, Joseph G Lambourne, Nishkrit Desai, Karl DD Willis, Aditya Sanghi, and Nigel JW Morris.  Solidgen: An autoregressive model for direct b-rep synthesis.  arXiv preprint arXiv:2203.13944, 2022.
  * [15] Pradeep Kumar Jayaraman, Aditya Sanghi, Joseph G Lambourne, Karl DD Willis, Thomas Davies, Hooman Shayani, and Nigel Morris.  Uv-net: Learning from boundary representations.  In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 11703–11712, 2021.
  * [16] Benjamin Jones, Dalton Hildreth, Duowen Chen, Ilya Baran, Vladimir G. Kim, and Adriana Schulz.  Automate: A dataset and learning approach for automatic mating of cad assemblies.  ACM Transactions on Graphics, 40(6), dec 2021.
  * [17] Diederik P Kingma and Jimmy Ba.  Adam: A method for stochastic optimization.  arXiv preprint arXiv:1412.6980, 2014.
  * [18] Durk P Kingma, Shakir Mohamed, Danilo Jimenez Rezende, and Max Welling.  Semi-supervised learning with deep generative models.  In Advances in neural information processing systems, pages 3581–3589, 2014.
  * [19] Diederik P Kingma and Max Welling.  Auto-encoding variational bayes.  arXiv preprint arXiv:1312.6114, 2013.
  * [20] Sebastian Koch, Albert Matveev, Zhongshi Jiang, Francis Williams, Alexey Artemov, Evgeny Burnaev, Marc Alexa, Denis Zorin, and Daniele Panozzo.  ABC: A Big CAD Model Dataset for Geometric Deep Learning.  In 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 9593–9603, Long Beach, CA, USA, June 2019. IEEE.
  * [21] Joseph G. Lambourne, Karl D. D. Willis, Pradeep Kumar Jayaraman, Aditya Sanghi, Peter Meltzer, and Hooman Shayani.  BRepNet: A topological message passing system for solid models.  arXiv:2104.00706 [cs], Apr. 2021.  arXiv: 2104.00706.
  * [22] Gustav Larsson, Michael Maire, and Gregory Shakhnarovich.  Learning representations for automatic colorization.  In European Conference on Computer Vision, pages 577–593. Springer, 2016.
  * [23] Changjian Li, Hao Pan, Adrien Bousseau, and Niloy J Mitra.  Sketch2cad: Sequential cad modeling by sketching in context.  ACM Transactions on Graphics (TOG), 39(6):1–14, 2020.
  * [24] Jerry Liu, Fisher Yu, and Thomas Funkhouser.  Interactive 3d modeling with a generative adversarial network.  International Conference on 3D Vision (3DV), 2017.
  * [25] Lars Mescheder, Michael Oechsle, Michael Niemeyer, Sebastian Nowozin, and Andreas Geiger.  Occupancy networks: Learning 3d reconstruction in function space.  In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4460–4470, 2019.
  * [26] Mehdi Noroozi and Paolo Favaro.  Unsupervised learning of visual representations by solving jigsaw puzzles.  In European Conference on Computer Vision, pages 69–84. Springer, 2016.
  * [27] David Palmer, Dmitriy Smirnov, Stephanie Wang, Albert Chern, and Justin Solomon.  DeepCurrents: Learning implicit representations of shapes with boundaries.  In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2022.
  * [28] Wamiq Para, Shariq Bhat, Paul Guerrero, Tom Kelly, Niloy Mitra, Leonidas J Guibas, and Peter Wonka.  Sketchgen: Generating constrained cad sketches.  Advances in Neural Information Processing Systems, 34, 2021.
  * [29] Jeong Joon Park, Peter Florence, Julian Straub, Richard A. Newcombe, and Steven Lovegrove.  Deepsdf: Learning continuous signed distance functions for shape representation.  CVPR, 2019.
  * [30] Deepak Pathak, Philipp Krahenbuhl, Jeff Donahue, Trevor Darrell, and Alexei A Efros.  Context encoders: Feature learning by inpainting.  In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 2536–2544, 2016.
  * [31] Ari Seff, Yaniv Ovadia, Wenda Zhou, and Ryan P. Adams.  SketchGraphs: A Large-Scale Dataset for Modeling Relational Geometry in Computer-Aided Design.  arXiv:2007.08506 [cs, stat], July 2020.  arXiv: 2007.08506.
  * [32] Ari Seff, Wenda Zhou, Nick Richardson, and Ryan P Adams.  Vitruvion: A generative model of parametric cad sketches.  arXiv preprint arXiv:2109.14124, 2021.
  * [33] Qingyang Tan, Lin Gao, Yu-Kun Lai, and Shihong Xia.  Variational autoencoders for deforming 3d mesh models.  In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018.
  * [34] Yaqing Wang, Quanming Yao, James T. Kwok, and Lionel M. Ni.  Generalizing from a few examples: A survey on few-shot learning.  ACM Comput. Surv., 53(3), jun 2020.
  * [35] Karl DD Willis, Pradeep Kumar Jayaraman, Hang Chu, Yunsheng Tian, Yifei Li, Daniele Grandi, Aditya Sanghi, Linh Tran, Joseph G Lambourne, Armando Solar-Lezama, et al.  Joinable: Learning bottom-up assembly of parametric cad joints.  arXiv preprint arXiv:2111.12772, 2021.
  * [36] Karl D. D. Willis, Yewen Pu, Jieliang Luo, Hang Chu, Tao Du, Joseph G. Lambourne, Armando Solar-Lezama, and Wojciech Matusik.  Fusion 360 Gallery: A Dataset and Environment for Programmatic CAD Reconstruction.  arXiv:2010.02392 [cs], Oct. 2020.  arXiv: 2010.02392.
  * [37] Rundi Wu, Chang Xiao, and Changxi Zheng.  Deepcad: A deep generative network for computer-aided design models.  In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 6772–6782, 2021.
  * [38] Yaoqing Yang, Chen Feng, Yiru Shen, and Dong Tian.  Foldingnet: Point cloud auto-encoder via deep grid deformation.  In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), volume 3, 2018.
  * [39] Jiaxuan You, Rex Ying, and Jure Leskovec.  Design space for graph neural networks.  In Proceedings of the 34th International Conference on Neural Information Processing Systems, NIPS’20, Red Hook, NY, USA, 2020. Curran Associates Inc.
  * [40] Richard Zhang, Phillip Isola, and Alexei A Efros.  Colorful image colorization.  In European conference on computer vision, pages 649–666. Springer, 2016.


$\displaystyle=G_{j}\Big{(}{\textstyle\frac{x_{23}^{2}}{x_{1j}^{2}}},{\textstyle\frac{x_{24}^{2}}{x_{1j}^{2}}},{\textstyle\frac{x_{34}^{2}}{x_{1j}^{2}}},{\textstyle\frac{x_{12}^{2}x_{34}^{2}}{x_{13}^{2}x_{24}^{2}}},{\textstyle\frac{x_{14}^{2}x_{23}^{2}}{x_{13}^{2}x_{24}^{2}}}\Big{)}.$
(A.11)

Imposing the special conformal Ward identity (A.2) and choosing the special
configuration (A) then implies a $4\times 4$ matrix of differential equations
for the $G_{j}$ which for generic values of the parameters is equivalent to

$\displaystyle G_{j}^{(1)}=G_{j}^{(2)}=G_{j}^{(3)}=0,\text{ for all }j,$
$\displaystyle G_{2}+G_{3}+G_{4}=-I_{\alpha\beta},$ (A.12)

where $G_{j}^{(k)}$ denotes the derivative of $G_{j}$ with respect to its
$k$-th argument. Hence the $G_{j}$ are really only functions of the conformal
cross ratios and the vector integral decomposition takes the final form (A.3).

##  Appendix B Ward Identity Extras

Here we present the Ward identities in terms of vector coefficients for the
triple and quadruple ladder integrals.

#### Triple Ladder.

We consider the correlator (3.1) for $\alpha=3,\beta=1$

$\left\langle\text{tr}(Z^{3}(x_{1})\bar{X}(x_{2})\bar{Z}^{3}(x_{3})X(x_{4}))\right\rangle,$
(B.1)

which is represented by the triple ladder integral

$I_{31}=\int\frac{\differential^{4}x_{a}}{\pi^{2}}\frac{\differential^{4}x_{b}}{\pi^{2}}\frac{\differential^{4}x_{c}}{\pi^{2}}\frac{1}{(x_{a1}^{2}x_{a3}^{2}x_{a4}^{2})x_{ab}^{2}(x_{b1}^{2}x_{b3}^{2})x_{bc}^{2}(x_{c1}^{2}x_{c2}^{2}x_{c3}^{2})}.$
(B.2)

Again specialising (2.29) to this case will lead to information about certain
vector Feynman integrals, which represent correlators containing a descendant
field. In this case there are a priori two independent vector integrals which
can appear

$\displaystyle
I_{31}^{\mu,3}=\int\frac{\differential^{4}x_{a}}{\pi^{2}}\frac{\differential^{4}x_{b}}{\pi^{2}}\frac{\differential^{4}x_{c}}{\pi^{2}}\frac{x_{c1}^{\mu}}{(x_{a1}^{2}x_{a3}^{2}x_{a4}^{2})x_{ab}^{2}(x_{b1}^{2}x_{b3}^{2})x_{bc}^{2}(x_{c1}^{4}x_{c2}^{2}x_{c3}^{2})},$
(B.3) $\displaystyle
I_{31}^{\mu,2}=\int\frac{\differential^{4}x_{a}}{\pi^{2}}\frac{\differential^{4}x_{b}}{\pi^{2}}\frac{\differential^{4}x_{c}}{\pi^{2}}\frac{x_{b1}^{\mu}}{(x_{a1}^{2}x_{a3}^{2}x_{a4}^{2})x_{ab}^{2}(x_{b1}^{4}x_{b3}^{2})x_{bc}^{2}(x_{c1}^{2}x_{c2}^{2}x_{c3}^{2})}.$
(B.4)

These are independent in the sense that they cannot be mapped into each other
under permutations of the external points. However upon computing

$H^{\mu}_{31}=2i\mathrm{\widehat{P}}^{\mu}|_{14}\left\langle\text{tr}(Z^{3}(x_{1})\bar{X}(x_{2})\bar{Z}^{3}(x_{3})X(x_{4}))\right\rangle$
(B.5)

using (2.29) we find that only $I_{31}^{\mu,3}$ contributes

$H^{\mu}_{31}=(4I_{31}^{\mu,3}-x_{2}\leftrightarrow
x_{4})-x_{1}\leftrightarrow x_{3}.$ (B.6)

We expand $I_{31}^{\mu,3}$ in a vector decomposition (3.19)

$x_{13}^{6}x_{24}^{2}I_{31}^{\mu,3}=-\frac{x_{12}^{\mu}}{x_{12}^{2}}G_{2}(u,v)-\frac{x_{13}^{\mu}}{x_{13}^{2}}G_{3}(u,v)-\frac{x_{14}^{\mu}}{x_{14}^{2}}G_{4}(u,v).$
(B.7)

Comparing (B.6) and (3.13) we find the constraint

$u\mathcal{D}_{uv}^{31}\phi_{31}=G_{2}(u,v)-G_{4}(v,u),$ (B.8)

and the same equation with $u$ and $v$ swapped. Integral expressions for
$G_{i}(u,v)$ are given in appendix C, which were used to numerically confirm
(B.8).

#### Quadruple Ladder.

For $\alpha=4,\beta=1$ we have the correlator

$\left\langle\text{tr}(Z^{4}(x_{1})\bar{X}(x_{2})\bar{Z}^{4}(x_{3})X(x_{4}))\right\rangle,$
(B.9)

which is represented by the quadruple ladder integral

$I_{41}=\int\frac{\differential^{4}x_{a}}{\pi^{2}}\frac{\differential^{4}x_{b}}{\pi^{2}}\frac{\differential^{4}x_{c}}{\pi^{2}}\frac{\differential^{4}x_{d}}{\pi^{2}}\frac{1}{(x_{a1}^{2}x_{a3}^{2}x_{a4}^{2})x_{ab}^{2}(x_{b1}^{2}x_{b3}^{2})x_{bc}^{2}(x_{c1}^{2}x_{c3}^{2})x_{cd}^{2}(x_{d1}^{2}x_{d2}^{2}x_{d3}^{2})}.$
(B.10)

In this case there are also two independent vector integrals which can appear:

$\displaystyle
I_{41}^{\mu,4}=\int\frac{\differential^{4}x_{a}}{\pi^{2}}\frac{\differential^{4}x_{b}}{\pi^{2}}\frac{\differential^{4}x_{c}}{\pi^{2}}\frac{\differential^{4}x_{d}}{\pi^{2}}\frac{x_{d1}^{\mu}}{(x_{a1}^{2}x_{a3}^{2}x_{a4}^{2})x_{ab}^{2}(x_{b1}^{2}x_{b3}^{2})x_{bc}^{2}(x_{c1}^{2}x_{c3}^{2})x_{cd}^{2}(x_{d1}^{4}x_{d2}^{2}x_{d3}^{2})},$
(B.11) $\displaystyle
I_{41}^{\mu,3}=\int\frac{\differential^{4}x_{a}}{\pi^{2}}\frac{\differential^{4}x_{b}}{\pi^{2}}\frac{\differential^{4}x_{c}}{\pi^{2}}\frac{\differential^{4}x_{d}}{\pi^{2}}\frac{x_{c1}^{\mu}}{(x_{a1}^{2}x_{a3}^{2}x_{a4}^{2})x_{ab}^{2}(x_{b1}^{2}x_{b3}^{2})x_{bc}^{2}(x_{c1}^{4}x_{c3}^{2})x_{cd}^{2}(x_{d1}^{2}x_{d2}^{2}x_{d3}^{2})}.$
(B.12)

We compute

$H^{\mu}_{41}=2i\mathrm{\widehat{P}}^{\mu}|_{14}\left\langle\text{tr}(Z^{4}(x_{1})\bar{X}(x_{2})\bar{Z}^{4}(x_{3})X(x_{4}))\right\rangle$
(B.13)

using (2.29) and this time we find that both vector integrals contribute

$\displaystyle H^{\mu}_{41}$
$\displaystyle=(6I^{\mu,4}_{41}+2I^{\mu,3}_{41}+(2I^{\mu,3}_{41}+x_{2}\leftrightarrow
x_{4})-x_{2}\leftrightarrow x_{4})-x_{1}\leftrightarrow x_{3}$
$\displaystyle=(6I^{\mu,4}_{41}+2I^{\mu,3}_{41}-x_{2}\leftrightarrow
x_{4})-x_{1}\leftrightarrow x_{3}.$ (B.14)

We decompose (B.11) and (B.12) as (3.19)

$\displaystyle
x_{13}^{8}x_{24}^{2}I_{41}^{\mu,4}=-\frac{x_{12}^{\mu}}{x_{12}^{2}}V_{2}(u,v)-\frac{x_{13}^{\mu}}{x_{13}^{2}}V_{3}(u,v)-\frac{x_{14}^{\mu}}{x_{14}^{2}}V_{4}(u,v),$
(B.15) $\displaystyle
x_{13}^{8}x_{24}^{2}I_{41}^{\mu,3}=-\frac{x_{12}^{\mu}}{x_{12}^{2}}\bar{V}_{2}(u,v)-\frac{x_{13}^{\mu}}{x_{13}^{2}}\bar{V}_{3}(u,v)-\frac{x_{14}^{\mu}}{x_{14}^{2}}\bar{V}_{4}(u,v).$
(B.16)

Then comparing (B.14) and (3.13) leads to the following constraint between
$V_{i}(u,v)$ and $\bar{V}_{i}(u,v)$

$2u\mathcal{D}_{uv}^{41}\phi_{41}=3(V_{2}(u,v)-V_{4}(v,u))+\bar{V}_{2}(u,v)-\bar{V}_{4}(v,u),$
(B.17)

and the same equation with $u$ and $v$ swapped. This was numerically verified
using the Feynman parametrisations in appendix C.

##  Appendix C Conformal Feynman Parametrisations

In this appendix we give explicit Feynman parametrisations for scalar ladder
integrals and the vector ladder integrals appearing in section 3 and appendix
B. We show some details of the calculation for the vector double ladder
integral but otherwise we just state the results.

###  C.1 Scalar Ladders

We give conformal Feynman parametrisations for the scalar ladders $\phi_{\ell
1}$, obtained as specialisations of (3.1) and (3.3), and cases with more
general propagator powers.

#### Box.

The Feynman parametrisation for the conformal box function reads

$\phi_{11}(u,v)=\int_{0}^{\infty}\differential^{2}\alpha\frac{1}{(1+\alpha_{1}u+\alpha_{2}v)D_{\alpha_{1}\alpha_{2}}},$
(C.1)

where
$D_{\alpha_{1}\alpha_{2}}\coloneqq\alpha_{1}+\alpha_{2}+\alpha_{1}\alpha_{2}$.
For the modified box defined in (6.3) we have

$\phi_{11}^{\omega
D}(u,v)=\frac{1}{\mathnormal{\Gamma}_{\omega}\mathnormal{\Gamma}_{D/2-\omega}}\int_{0}^{\infty}\differential^{2}\alpha\frac{(\alpha_{1}\alpha_{2})^{\omega-1}}{(1+\alpha_{1}u+\alpha_{2}v)^{D/2-\omega}(D_{\alpha_{1}\alpha_{2}})^{\omega}}.$
(C.2)

#### Double Ladder.

For the double ladder, the conformal function is Feynman parametrised as

$\phi_{21}(u,v)=\int_{0}^{\infty}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{1}{(1+\beta_{1}u+\beta_{2}v)D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}}},$
(C.3)

where
$\int_{0}^{\beta}\differential^{2}\alpha\coloneqq\int_{0}^{\beta_{1}}\differential\alpha_{1}\int_{0}^{\beta_{2}}\differential\alpha_{2}$.
For the modified double ladder defined in (6.7) we have

$\phi_{21}^{\omega
D}(u,v)=\frac{1}{\mathnormal{\Gamma}^{2}_{\omega}\mathnormal{\Gamma}^{2}_{D/2-\omega}}\int_{0}^{\infty}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{[(\beta_{1}-\alpha_{1})(\beta_{2}-\alpha_{2})\alpha_{1}\alpha_{2}]^{\omega-1}}{(1+\beta_{1}u+\beta_{2}v)^{D/2-\omega}(D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}})^{\omega}}.$
(C.4)

The double ladder for fully generic conformal propagator powers (4.7) can be
written as

$I_{21}^{\nu,D}=\parbox[c]{0.0pt}{\includegraphics{FigDoubleLadderFeynmanParameters.pdf}}=V_{2,1}^{\nu,D}\phi_{21}^{\nu,D}(u,v),$
(C.5)

where
$V_{2,1}^{\nu,D}=x_{12}^{-\nu_{1}-\nu_{2}-\nu_{3}+\nu_{4}+\nu_{5}+\nu_{6}}x_{14}^{-\nu_{1}-\nu_{2}-\nu_{6}+\nu_{3}+\nu_{4}+\nu_{5}}x_{13}^{-\nu_{4}-\nu_{5}}x_{24}^{-\nu_{3}-\nu_{4}-\nu_{5}-\nu_{6}+\nu_{1}+\nu_{2}}$.
The conformal function can be Feynman parametrised as

$\phi_{21}^{\nu,D}(u,v)=c_{21}^{\nu,D}\int_{0}^{\infty}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{(\beta_{1}-\alpha_{1})^{\nu_{5}-1}(\beta_{2}-\alpha_{2})^{\nu_{1}-1}\alpha_{1}^{\nu_{4}-1}\alpha_{2}^{\nu_{2}-1}}{(1+\beta_{1}u+\beta_{2}v)^{\nu_{6}}(D_{\beta_{1}\beta_{2}})^{D/2-\nu_{6}}(D_{\alpha_{1}\alpha_{2}})^{D/2-\nu_{7}}},$
(C.6)

where the prefactor is written as

$c_{21}^{\nu,D}=v^{\nu_{2}-\nu_{5}}\frac{\mathnormal{\Gamma}_{D/2-\nu_{7}}\mathnormal{\Gamma}_{D/2-\nu_{6}}}{\prod_{i\neq
6}\mathnormal{\Gamma}_{\nu_{i}}}.$ (C.7)

#### Triple Ladder.

The triple ladder Feynman parametrisation is given by

$\phi_{31}(u,v)=\int_{0}^{\infty}\differential^{2}\gamma\int_{0}^{\gamma}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{1}{(1+\gamma_{1}u+\gamma_{2}v)D_{\gamma_{1}\gamma_{2}}D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}}}.$
(C.8)

For the modified triple ladder defined in (6.3) we have

$\phi_{31}^{\omega
D}(u,v)=\frac{1}{\mathnormal{\Gamma}_{\omega}^{3}\mathnormal{\Gamma}_{\bar{\omega}}^{3}}\int_{0}^{\infty}\differential^{2}\gamma\int_{0}^{\gamma}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{[(\gamma_{1}-\beta_{1})(\gamma_{2}-\beta_{2})(\beta_{1}-\alpha_{1})(\beta_{2}-\alpha_{2})\alpha_{1}\alpha_{2}]^{\omega-1}}{(1+\gamma_{1}u+\gamma_{2}v)^{\bar{\omega}}(D_{\gamma_{1}\gamma_{2}}D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}})^{\omega}},$
(C.9)

where we remind $\bar{\omega}=D/2-\omega$.

####  $\ell$-ladder.

The pattern persists for general $\ell$-ladders whose conformal functions are
Feynman parametrised by

$\phi_{\ell
1}(u,v)=\int_{0}^{\infty}\differential^{2}\alpha_{n}\left(\prod_{i=1}^{n-1}\int_{0}^{\alpha_{i+1}}\differential^{2}\alpha_{i}\right)\frac{1}{(1+u\alpha_{n,1}+v\alpha_{n,2})(\prod_{j=1}^{n}D_{\alpha_{j,1}\alpha_{j,2}})},$
(C.10)

and in the generalised case we have

$\phi_{\ell 1}^{\omega
D}=\frac{1}{\mathnormal{\Gamma}_{\omega}^{\ell}\mathnormal{\Gamma}_{\bar{\omega}}^{\ell}}\int_{0}^{\infty}\differential^{2}\alpha_{n}\left(\prod_{i=1}^{n-1}\int_{0}^{\alpha_{i+1}}\differential^{2}\alpha_{i}\right)\frac{\brk[s]*{\prod\limits_{k=2}^{\ell}(\alpha_{k,1}-\alpha_{k-1,1})(\alpha_{k,2}-\alpha_{k-1,2})\alpha_{1,1}\alpha_{1,2}}^{\omega-1}}{(1+u\alpha_{n,1}+v\alpha_{n,2})^{\bar{\omega}}(\prod_{j=1}^{n}D_{\alpha_{j,1}\alpha_{j,2}})^{\omega}}.$
(C.11)

###  C.2 Vector Ladders

Here we provide Feynman parametrisations for the vector ladder integrals.

#### Double Ladder.

We derive the conformal Feynman parametrisations of the vector integral
coefficients of $I_{21}^{\mu,2}$, defined in (3.26). We start with

$\displaystyle x_{13}^{4}x_{24}^{2}I_{21}^{\mu,2}$
$\displaystyle=\int\frac{\differential^{4}x_{a}}{\pi^{2}}\frac{\differential^{4}x_{b}}{\pi^{2}}\frac{x_{13}^{4}x_{24}^{2}x_{b1}^{\mu}}{x_{a1}^{2}x_{a3}^{2}x_{a4}^{2}x_{ab}^{2}x_{b1}^{4}x_{b2}^{2}x_{b3}^{2}}$
$\displaystyle=\int\frac{\differential^{4}x_{b}}{\pi^{2}}\frac{x_{13}^{4}x_{24}^{2}x_{b1}^{\mu}}{x_{b1}^{4}x_{b2}^{2}x_{b3}^{2}}\int\frac{\differential^{4}x_{a}}{\pi^{2}}\frac{1}{x_{ab}^{2}x_{a1}^{2}x_{a3}^{2}x_{a4}^{2}}.$
(C.12)

The second integral is just a scalar box. With Feynman parameters (and
subsequently evaluating one of the parameter integrals) it evaluates to [49]

$\int\frac{\differential^{4}x_{a}}{\pi^{2}}\frac{1}{x_{ab}^{2}x_{a1}^{2}x_{a3}^{2}x_{a4}^{2}}=\int_{0}^{\infty}[\differential^{2}\alpha]\frac{1}{(\alpha_{1}x_{b1}^{2}+\alpha_{3}x_{b3}^{2}+\alpha_{4}x_{b4}^{2})(\alpha_{1}\alpha_{3}x_{13}^{2}+\alpha_{1}\alpha_{4}x_{14}^{2}+\alpha_{3}\alpha_{4}x_{34}^{2})},$
(C.13)

where $[\differential^{2}\alpha]$ denotes a projective integral over
$\alpha_{1},\alpha_{3},\alpha_{4}$. For example we could take
$[\differential^{2}\alpha]=\differential\alpha_{1}\differential\alpha_{3}\delta(\alpha_{4}-1)$.
The second factor of the integrand does not depend on $x_{b}$ so we omit it
for now. We need to compute

$\int\frac{\differential^{4}x_{b}}{\pi^{2}}\frac{x_{b1}^{\mu}}{x_{b1}^{4}x_{b2}^{2}x_{b3}^{2}(\alpha_{1}x_{b1}^{2}+\alpha_{3}x_{b3}^{2}+\alpha_{4}x_{b4}^{2})},$
(C.14)

where we freely exchange loop and parametric integrals. Using Feynman
parameters this is

$\frac{\mathnormal{\Gamma}_{5}}{\pi^{2}}\int[\differential^{3}\gamma]\int\differential^{4}x_{b}\frac{\gamma_{1}x_{b1}^{\mu}}{(\gamma_{1}x_{b1}^{2}+\gamma_{2}x_{b2}^{2}+\gamma_{3}x_{b3}^{2}+\gamma_{4}(\alpha_{1}x_{b1}^{2}+\alpha_{3}x_{b3}^{2}+\alpha_{4}x_{b4}^{2}))^{5}},$
(C.15)

The denominator of (C.15) can be written as

$\sigma^{5}\left(l^{2}+\frac{\mathnormal{\Delta}}{\sigma^{2}}\right)^{5},$
(C.16)

where

$\displaystyle\sigma=$
$\displaystyle\gamma_{1}+\gamma_{2}+\gamma_{3}+\gamma_{4}(\alpha_{1}+\alpha_{3}+\alpha_{4}),$
(C.17) $\displaystyle l^{\mu}=$ $\displaystyle
x_{b}^{\mu}-\frac{x_{1}^{\mu}(\gamma_{1}+\gamma_{4}\alpha_{1})+x_{2}^{\mu}\gamma_{2}+x_{3}^{\mu}(\gamma_{3}+\alpha_{3}\gamma_{4})+x_{4}^{\mu}\gamma_{4}\alpha_{4}}{\sigma},$
$\displaystyle\mathnormal{\Delta}=$
$\displaystyle(\gamma_{1}+\gamma_{4}\alpha_{1})\gamma_{2}x_{12}^{2}+(\gamma_{1}+\gamma_{4}\alpha_{1})(\gamma_{3}+\gamma_{4}\alpha_{3})x_{13}^{2}+(\gamma_{1}+\gamma_{4}\alpha_{1})\gamma_{4}\alpha_{4}x_{14}^{2}$
$\displaystyle+\gamma_{2}(\gamma_{3}+\gamma_{4}\alpha_{3})x_{23}^{2}+\gamma_{2}\gamma_{4}\alpha_{4}x_{24}^{2}+(\gamma_{3}+\gamma_{4}\alpha_{3})\gamma_{4}\alpha_{4}x_{34}^{2}.$

The numerator $x_{b1}^{\mu}$ can be written

$x_{b1}^{\mu}=l^{\mu}-\frac{1}{\sigma}\sum_{i=2}^{4}B_{i}x_{1i}^{\mu},$ (C.18)

where

$\displaystyle B_{2}=\gamma_{2},\qquad
B_{3}=\gamma_{3}+\gamma_{4}\alpha_{3},\qquad B_{4}=\gamma_{4}\alpha_{4}.$
(C.19)

The integral over the $l^{\mu}$ piece vanishes because it is an odd integrand,
so (C.14) reduces to

$-\sum_{i=2}^{4}x_{1i}^{\mu}\int_{0}^{\infty}[\differential^{3}\gamma]\int_{0}^{\infty}\differential
l\frac{24\gamma_{1}lB_{i}}{\sigma^{6}(l^{2}+\frac{\mathnormal{\Delta}}{\sigma^{2}})},$
(C.20)

where we integrate over $l\coloneqq|l^{\mu}|$. Performing the integral over
$l$ leads to

$\frac{1}{2}x_{13}^{4}x_{24}^{2}I_{21}^{\mu,2}=-\sum_{i=2}^{4}x_{1i}^{\mu}\int[\differential^{2}\alpha][\differential^{3}\gamma]\frac{x_{13}^{4}x_{24}^{2}\gamma_{1}B_{i}}{(\alpha_{1}\alpha_{3}x_{13}^{2}+\alpha_{1}\alpha_{4}x_{14}^{2}+\alpha_{3}\alpha_{4}x_{34}^{2})\mathnormal{\Delta}^{3}}.$
(C.21)

We choose to perform the $\gamma_{2}$ integral, and make the rescaling of
Feynman parameters

$\displaystyle\alpha_{1}$ $\displaystyle\rightarrow x_{34}^{2}\alpha_{1},$
$\displaystyle\alpha_{3}$ $\displaystyle\rightarrow x_{14}^{2}\alpha_{3},$
$\displaystyle\alpha_{4}$ $\displaystyle\rightarrow x_{13}^{2}\alpha_{4},$
$\displaystyle\gamma_{1}$
$\displaystyle\rightarrow\frac{x_{34}^{2}}{x_{13}^{2}x_{24}^{2}}\gamma_{1},$
$\displaystyle\gamma_{3}$
$\displaystyle\rightarrow\frac{x_{14}^{2}}{x_{13}^{2}x_{24}^{2}}\gamma_{3},$
$\displaystyle\gamma_{4}$
$\displaystyle\rightarrow\frac{1}{x_{13}^{2}x_{24}^{2}}\gamma_{4}.$ (C.22)

This rescaling ensures that the resulting integrands are manifestly conformal
invariant [50]. We finally de-project $\alpha_{4}=\gamma_{4}=1$ and make the
change of variables $\gamma_{i}=\beta_{i}-\alpha_{i}$ for $i=1,3$. This leads
to the required form

$x_{13}^{4}x_{24}^{2}I_{21}^{\mu,2}=-\frac{x_{12}^{\mu}}{x_{12}^{2}}F_{2}(u,v)-\frac{x_{13}^{\mu}}{x_{13}^{2}}F_{3}(u,v)-\frac{x_{14}^{\mu}}{x_{14}^{2}}F_{4}(u,v),$
(C.23)

with (we further relabel
$\alpha_{3},\beta_{3}\rightarrow\alpha_{2},\beta_{2}$)

$\displaystyle
F_{2}(u,v)=u\int_{0}^{\infty}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{\beta_{1}-\alpha_{1}}{(1+\beta_{1}u+\beta_{2}v)^{2}D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}}},$
(C.24) $\displaystyle
F_{3}(u,v)=\int_{0}^{\infty}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{\beta_{2}(\beta_{1}-\alpha_{1})}{(1+\beta_{1}u+\beta_{2}v)(D_{\beta_{1}\beta_{2}})^{2}D_{\alpha_{1}\alpha_{2}}},$
(C.25) $\displaystyle
F_{4}(u,v)=\int_{0}^{\infty}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{\beta_{1}-\alpha_{1}}{(1+\beta_{1}u+\beta_{2}v)(D_{\beta_{1}\beta_{2}})^{2}D_{\alpha_{1}\alpha_{2}}},$
(C.26)

where we remind that $\int_{0}^{\beta}\differential^{2}\alpha$ is shorthand
for
$\int_{0}^{\beta_{1}}\differential\alpha_{1}\int_{0}^{\beta_{2}}\differential\alpha_{2}$
and $D_{\alpha_{1}\alpha_{2}}=\alpha_{1}+\alpha_{2}+\alpha_{1}\alpha_{2}$.

#### Triple Ladder.

Here we have

$\displaystyle
x_{13}^{6}x_{24}^{2}I_{31}^{\mu,3}=-\frac{x_{12}^{\mu}}{x_{12}^{2}}G_{2}(u,v)-\frac{x_{13}^{\mu}}{x_{13}^{2}}G_{3}(u,v)-\frac{x_{14}^{\mu}}{x_{14}^{2}}G_{4}(u,v),$
(C.27) $\displaystyle
x_{13}^{6}x_{24}^{2}I_{31}^{\mu,2}=-\frac{x_{12}^{\mu}}{x_{12}^{2}}\bar{G}_{2}(u,v)-\frac{x_{13}^{\mu}}{x_{13}^{2}}\bar{G}_{3}(u,v)-\frac{x_{14}^{\mu}}{x_{14}^{2}}\bar{G}_{4}(u,v),$

where

$\displaystyle
G_{2}(u,v)=\int_{0}^{\infty}\differential^{2}\gamma\int_{0}^{\gamma}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{u(\gamma_{1}-\beta_{1})}{(1+u\gamma_{1}+v\gamma_{2})^{2}D_{\gamma_{1}\gamma_{2}}D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}}},$
(C.28) $\displaystyle
G_{3}(u,v)=\int_{0}^{\infty}\differential^{2}\gamma\int_{0}^{\gamma}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{\gamma_{2}(\gamma_{1}-\beta_{1})}{(1+u\gamma_{1}+v\gamma_{2})D^{2}_{\gamma_{1}\gamma_{2}}D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}}},$
$\displaystyle
G_{4}(u,v)=\int_{0}^{\infty}\differential^{2}\gamma\int_{0}^{\gamma}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{\gamma_{1}-\beta_{1}}{(1+u\gamma_{1}+v\gamma_{2})D^{2}_{\gamma_{1}\gamma_{2}}D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}}},$

For $\bar{G}_{i}$ we have

$\bar{G}_{i}=\int_{0}^{\infty}[\differential^{2}\alpha][\differential^{2}\beta][\differential^{2}\gamma]\frac{E_{i}}{\Lambda_{1}\Lambda_{2}\Lambda_{3}^{2}\Lambda_{4}},$
(C.29)

where

$\displaystyle E_{2}=u\gamma\beta_{4},$ $\displaystyle
E_{3}=\gamma_{3}+u\beta_{3}\gamma+v\alpha_{3}\bar{\gamma},$ $\displaystyle
E_{4}=v\bar{\gamma}\alpha_{2},$ (C.30)

and

$\displaystyle\Lambda_{1}=\alpha_{1}\alpha_{2}+\alpha_{1}\alpha_{3}+\alpha_{2}\alpha_{3},$
(C.31)
$\displaystyle\Lambda_{2}=\beta_{1}\beta_{3}+\beta_{1}\beta_{4}+\beta_{3}\beta_{4},$
$\displaystyle\Lambda_{3}=\gamma_{3}+v\bar{\gamma}(\alpha_{2}+\alpha_{3})+u\gamma(\beta_{3}+\beta_{4}),$
$\displaystyle\Lambda_{4}=(\gamma\beta_{1}+\bar{\gamma}\alpha_{1})F_{3}+(\gamma_{3}+u\gamma\beta_{3}+v\bar{\gamma}\alpha_{3})(\bar{\gamma}\alpha_{2}+\gamma\beta_{4})+\gamma\bar{\gamma}\alpha_{2}\beta_{4}.$

#### Quadruple Ladder.

Here we can write

$\displaystyle
x_{13}^{8}x_{24}^{2}I_{41}^{\mu,4}=-\frac{x_{12}^{\mu}}{x_{12}^{2}}V_{2}(u,v)-\frac{x_{13}^{\mu}}{x_{13}^{2}}V_{3}(u,v)-\frac{x_{14}^{\mu}}{x_{14}^{2}}V_{4}(u,v),$
(C.32) $\displaystyle
x_{13}^{8}x_{24}^{2}I_{41}^{\mu,3}=-\frac{x_{12}^{\mu}}{x_{12}^{2}}\bar{V}_{2}(u,v)-\frac{x_{13}^{\mu}}{x_{13}^{2}}\bar{V}_{3}(u,v)-\frac{x_{14}^{\mu}}{x_{14}^{2}}\bar{V}_{4}(u,v),$

where

$\displaystyle
V_{2}(u,v)=\int_{0}^{\infty}\differential^{2}\delta\int_{0}^{\delta}\differential^{2}\gamma\int_{0}^{\gamma}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{u(\delta_{1}-\gamma_{1})}{(1+u\delta_{1}+v\delta_{2})^{2}D_{\delta_{1}\delta_{2}}D_{\gamma_{1}\gamma_{2}}D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}}},$
(C.33) $\displaystyle
V_{3}(u,v)=\int_{0}^{\infty}\differential^{2}\delta\int_{0}^{\delta}\differential^{2}\gamma\int_{0}^{\gamma}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{\delta_{2}(\delta_{1}-\gamma_{1})}{(1+u\delta_{1}+v\delta_{2})D^{2}_{\delta_{1}\delta_{2}}D_{\gamma_{1}\gamma_{2}}D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}}},$
$\displaystyle
V_{4}(u,v)=\int_{0}^{\infty}\differential^{2}\delta\int_{0}^{\delta}\differential^{2}\gamma\int_{0}^{\gamma}\differential^{2}\beta\int_{0}^{\beta}\differential^{2}\alpha\frac{(\delta_{1}-\gamma_{1})}{(1+u\delta_{1}+v\delta_{2})D^{2}_{\delta_{1}\delta_{2}}D_{\gamma_{1}\gamma_{2}}D_{\beta_{1}\beta_{2}}D_{\alpha_{1}\alpha_{2}}}.$

For $\bar{V}_{i}$ we have

$\bar{V}_{i}=\int_{0}^{\infty}[\differential^{2}\alpha][\differential^{2}\beta][\differential^{2}\gamma][\differential^{2}\delta]\frac{\tilde{E}_{i}}{\tilde{\Lambda}_{1}\tilde{\Lambda}_{2}\tilde{\Lambda}_{3}^{2}\tilde{\Lambda}_{4}\tilde{\Lambda}_{5}},$
(C.34)

where here

$\displaystyle\tilde{E}_{2}=uv\bar{\delta}\gamma\beta_{2},$
$\displaystyle\tilde{E}_{3}=v(\delta_{3}+v(\alpha_{3}\delta+\bar{\delta}\gamma_{3})+u\bar{\delta}\gamma\beta_{3}),$
$\displaystyle\tilde{E}_{4}=v^{2}\delta\alpha_{4},$ (C.35)

and morevover

$\displaystyle\tilde{\Lambda}_{1}=\alpha_{1}\alpha_{3}+\alpha_{1}\alpha_{4}+\alpha_{3}\alpha_{4},$
(C.36)
$\displaystyle\tilde{\Lambda}_{2}=\beta_{1}\beta_{2}+\beta_{1}\beta_{3}+\beta_{2}\beta_{3},$
$\displaystyle\tilde{\Lambda}_{3}=u\bar{\delta}\gamma(\beta_{2}+\beta_{3})+v(\alpha_{3}\delta+\bar{\delta}\gamma_{3}+\alpha_{4}\delta)+\delta_{3},$
$\displaystyle\tilde{\Lambda}_{4}=\alpha_{4}\beta_{2}\gamma\delta\text{$\bar{\delta}$}+\beta_{2}\gamma\text{$\bar{\delta}$}u\left(\alpha_{1}\delta+\text{$\bar{\delta}$}\left(\beta_{1}\gamma+\gamma_{1}\right)\right)+\beta_{2}\gamma\text{$\bar{\delta}$}\left(\delta_{3}+\beta_{3}\gamma\text{$\bar{\delta}$}u+\alpha_{3}\delta
v+\gamma_{3}\text{$\bar{\delta}$}v\right)$
$\displaystyle\qquad+\alpha_{4}\delta\left(\delta_{3}+\beta_{3}\gamma\text{$\bar{\delta}$}u+\alpha_{3}\delta
v+\gamma_{3}\text{$\bar{\delta}$}v\right)+\alpha_{4}\delta
v\left(\alpha_{1}\delta+\text{$\bar{\delta}$}\left(\beta_{1}\gamma+\gamma_{1}\right)\right)$
$\displaystyle\qquad+\left(\alpha_{1}\delta+\text{$\bar{\delta}$}\left(\beta_{1}\gamma+\gamma_{1}\right)\right)\left(\delta_{3}+\beta_{3}\gamma\text{$\bar{\delta}$}u+\alpha_{3}\delta
v+\gamma_{3}\text{$\bar{\delta}$}v\right),$
$\displaystyle\tilde{\Lambda}_{5}=u\gamma((\gamma_{1}+\gamma\beta_{1})(\beta_{2}+\beta_{3})+\gamma\beta_{2}\beta_{3})+v\gamma_{3}(\gamma_{1}+\gamma\beta_{1}+\gamma\beta_{2}).$

##  Appendix $\mathcal{D}$ Differential Operators in Terms of $z,\bar{z}$

We provide formulas for some differential operators in terms of $z$ and
$\bar{z}$. For instance $\partial_{u}$ and $\partial_{v}$ read

$\displaystyle\frac{\partial}{\partial
u}=\frac{-(1-z)\partial_{z}+(1-\bar{z})\partial_{\bar{z}}}{z-\bar{z}},$
$\displaystyle\frac{\partial}{\partial
v}=\frac{-z\partial_{z}+\bar{z}\partial_{\bar{z}}}{z-\bar{z}}.$
($\mathcal{D}$.1)

Then $\mathcal{D}_{uv}^{\alpha\beta}$ and $\mathcal{D}_{vu}^{\alpha\beta}$ are
given by

$\displaystyle\mathcal{D}_{uv}^{\alpha\beta}=\frac{\mathcal{D}_{1,z}^{\alpha\beta}-\mathcal{D}_{1,\bar{z}}^{\alpha\beta}}{z-\bar{z}},$
$\displaystyle\mathcal{D}_{vu}^{\alpha\beta}=\frac{\mathcal{D}_{2,z}^{\alpha\beta}-\mathcal{D}_{2,\bar{z}}^{\alpha\beta}}{z-\bar{z}},$
($\mathcal{D}$.2)

where we have set

$\displaystyle\mathcal{D}_{1,z}^{\alpha\beta}=z\alpha\beta+(z-1)\left(z(1+\alpha+\beta)-\frac{\alpha+\beta}{2}\right)\partial_{z}+(z-1)^{2}z\partial^{2}_{z},$
($\mathcal{D}$.3)
$\displaystyle\mathcal{D}_{2,z}^{\alpha\beta}=z\alpha\beta+z\left(z(1+\alpha+\beta)-\frac{\alpha+\beta+2}{2}\right)\partial_{z}+(z-1)z^{2}\partial^{2}_{z}.$
($\mathcal{D}$.4)

## References

  * [1] B. Basso and L. J. Dixon, “Gluing Ladder Feynman Diagrams into Fishnets”, Phys. Rev. Lett. 119, 071601 (2017), arxiv:1705.03545.
  * [2] N. I. Usyukina and A. I. Davydychev, “Exact results for three and four point ladder diagrams with an arbitrary number of rungs”, Phys. Lett. B 305, 136 (1993).
  * [3] O. Gürdoğan and V. Kazakov, “New Integrable 4D Quantum Field Theories from Strongly Deformed Planar $\mathcal{N}=$ 4 Supersymmetric Yang-Mills Theory”, Phys. Rev. Lett. 117, 201602 (2016), arxiv:1512.06704, [Addendum: Phys.Rev.Lett. 117, 259903 (2016)].
  * [4] J. Fokken, C. Sieg and M. Wilhelm, “Non-conformality of ${{\gamma}_{i}}$-deformed N = 4 SYM theory”, J. Phys. A 47, 455401 (2014), arxiv:1308.4420.
  * [5] D. Grabner, N. Gromov, V. Kazakov and G. Korchemsky, “Strongly $\gamma$-Deformed $\mathcal{N}=4$ Supersymmetric Yang-Mills Theory as an Integrable Conformal Field Theory”, Phys. Rev. Lett. 120, 111601 (2018), arxiv:1711.04786.
  * [6] N. Gromov, V. Kazakov, G. Korchemsky, S. Negro and G. Sizov, “Integrability of Conformal Fishnet Theory”, JHEP 1801, 095 (2018), arxiv:1706.04167.
  * [7] D. Chicherin, V. Kazakov, F. Loebbert, D. Müller and D.-l. Zhong, “Yangian Symmetry for Bi-Scalar Loop Amplitudes”, JHEP 1805, 003 (2018), arxiv:1704.01967.
  * [8] D. Chicherin, V. Kazakov, F. Loebbert, D. Müller and D.-l. Zhong, “Yangian Symmetry for Fishnet Feynman Graphs”, Phys. Rev. D 96, 121901 (2017), arxiv:1708.00007.
  * [9] J. M. Drummond, J. M. Henn and J. Plefka, “Yangian symmetry of scattering amplitudes in N=4 super Yang-Mills theory”, JHEP 0905, 046 (2009), arxiv:0902.2987.
  * [10] F. Loebbert, J. Miczajka, D. Müller and H. Münkler, “Yangian Bootstrap for Massive Feynman Integrals”, SciPost Phys. 11, 010 (2021), arxiv:2010.08552.
  * [11] D. Zagier, “The Dilogarithm Function”, in: “Les Houches School of Physics: Frontiers in Number Theory, Physics and Geometry”, pp. 3–65.
  * [12] B. Ananthanarayan, S. Banik, S. Friot and S. Ghosh, “Double box and hexagon conformal Feynman integrals”, Phys. Rev. D 102, 091901 (2020), arxiv:2007.08360.
  * [13] J. L. Bourjaily, A. J. McLeod, M. Spradlin, M. von Hippel and M. Wilhelm, “Elliptic Double-Box Integrals: Massless Scattering Amplitudes beyond Polylogarithms”, Phys. Rev. Lett. 120, 121603 (2018), arxiv:1712.02785.
  * [14] A. Kristensson, M. Wilhelm and C. Zhang, “The elliptic double box and symbology beyond polylogarithms”, arxiv:2106.14902.
  * [15] S. Bloch, “Double Box Motive”, SIGMA 17, 048 (2021), arxiv:2105.06132.
  * [16] J. L. Bourjaily, Y.-H. He, A. J. Mcleod, M. Von Hippel and M. Wilhelm, “Traintracks through Calabi-Yau Manifolds: Scattering Amplitudes beyond Elliptic Polylogarithms”, Phys. Rev. Lett. 121, 071603 (2018), arxiv:1805.09326.
  * [17] F. Loebbert, D. Müller and H. Münkler, “Yangian Bootstrap for Conformal Feynman Integrals”, Phys. Rev. D 101, 066006 (2020), arxiv:1912.05561.
  * [18] F. Loebbert, J. Miczajka, D. Müller and H. Münkler, “Massive Conformal Symmetry and Integrability for Feynman Integrals”, Phys. Rev. Lett. 125, 091602 (2020), arxiv:2005.01735.
  * [19] L. Corcoran, F. Loebbert, J. Miczajka and M. Staudacher, “Minkowski Box from Yangian Bootstrap”, JHEP 2104, 160 (2021), arxiv:2012.07852.
  * [20] B. Ananthanarayan, S. Banik, S. Friot and S. Ghosh, “Multiple Series Representations of N-fold Mellin-Barnes Integrals”, Phys. Rev. Lett. 127, 151601 (2021), arxiv:2012.15108.
  * [21] B. Ananthanarayan, S. Banik, S. Friot and S. Ghosh, “Massive One-loop Conformal Feynman Integrals and Quadratic Transformations of Multiple Hypergeometric Series”, Phys. Rev. D 103, 096008 (2021), arxiv:2012.15646.
  * [22] E. K. Sklyanin, “Separation of variables - new trends”, Prog. Theor. Phys. Suppl. 118, 35 (1995), solv-int/9504001.
  * [23] S. Derkachov and E. Olivucci, “Exactly solvable magnet of conformal spins in four dimensions”, Phys. Rev. Lett. 125, 031603 (2020), arxiv:1912.07588.
  * [24] S. Derkachov, G. Ferrando and E. Olivucci, “Mirror channel eigenvectors of the $d$-dimensional fishnets”, arxiv:2108.12620.
  * [25] B. Basso, L. J. Dixon, D. A. Kosower, A. Krajenbrink and D.-l. Zhong, “Fishnet four-point integrals: integrable representations and thermodynamic limits”, JHEP 2107, 168 (2021), arxiv:2105.10514.
  * [26] V. Kazakov and E. Olivucci, “Biscalar Integrable Conformal Field Theories in Any Dimension”, Phys. Rev. Lett. 121, 131601 (2018), arxiv:1801.09844.
  * [27] D. Müller, “Symmetries of Super Wilson Loops and Fishnet Feynman Graphs”.
  * [28] L. J. Dixon, C. Duhr and J. Pennington, “Single-valued harmonic polylogarithms and the multi-Regge limit”, JHEP 1210, 074 (2012), arxiv:1207.0186.
  * [29] O. V. Tarasov, “Connection between Feynman integrals having different values of the space-time dimension”, Phys. Rev. D 54, 6479 (1996), hep-th/9606018.
  * [30] M. Re Fiorentin, “FaRe: a Mathematica package for tensor reduction of Feynman integrals”, Int. J. Mod. Phys. C 27, 1650027 (2015), arxiv:1507.03527.
  * [31] G. Kälin, “Scattering Amplitudes in Supersymmetric Quantum Chromodynamics and Gravity”.
  * [32] E. Panzer, “Feynman integrals and hyperlogarithms”, arxiv:1506.07243.
  * [33] S. Derkachov, V. Kazakov and E. Olivucci, “Basso-Dixon Correlators in Two-Dimensional Fishnet CFT”, JHEP 1904, 032 (2019), arxiv:1811.10623.
  * [34] G. P. Korchemsky, “Conformal bootstrap for the BFKL pomeron”, Nucl. Phys. B 550, 397 (1999), hep-ph/9711277.
  * [35] V. S. Dotsenko and V. A. Fateev, “Conformal Algebra and Multipoint Correlation Functions in Two-Dimensional Statistical Models”, Nucl. Phys. B 240, 312 (1984).
  * [36] S. Abreu, R. Britto, C. Duhr and E. Gardi, “From multiple unitarity cuts to the coproduct of Feynman integrals”, JHEP 1410, 125 (2014), arxiv:1401.3546.
  * [37] L. Corcoran and M. Staudacher, “The dual conformal box integral in Minkowski space”, Nucl. Phys. B 964, 115310 (2021), arxiv:2006.11292.
  * [38] C. Duhr, “Function Theory for Multiloop Feynman Integrals”, Ann. Rev. Nucl. Part. Sci. 69, 15 (2019).
  * [39] O. V. Tarasov, “Application and explicit solution of recurrence relations with respect to space-time dimension”, Nucl. Phys. B Proc. Suppl. 89, 237 (2000), hep-ph/0102271.
  * [40] R. N. Lee, “Space-time dimensionality D as complex variable: Calculating loop integrals using dimensional recurrence relation and analytical properties with respect to D”, Nucl. Phys. B 830, 474 (2010), arxiv:0911.0252.
  * [41] N. Beisert, A. Garus and M. Rosso, “Yangian Symmetry and Integrability of Planar N=4 Supersymmetric Yang-Mills Theory”, Phys. Rev. Lett. 118, 141603 (2017), arxiv:1701.09162.
  * [42] N. Beisert, A. Garus and M. Rosso, “Yangian Symmetry for the Action of Planar $\mathcal{N}=$ 4 Super Yang-Mills and $\mathcal{N}=$ 6 Super Chern-Simons Theories”, Phys. Rev. D 98, 046006 (2018), arxiv:1803.06310.
  * [43] N. Beisert and A. Garus, “Yangian Algebra and Correlation Functions in Planar Gauge Theories”, SciPost Phys. 5, 018 (2018), arxiv:1804.09110.
  * [44] F. Loebbert and J. Miczajka, “Massive Fishnets”, JHEP 2012, 197 (2020), arxiv:2008.11739.
  * [45] F. Loebbert and J. Miczajka, “Massive Integrability: From Fishnet Theories to Feynman Graphs and Back”, arxiv:2109.11937, in: “European Physical Society Conference on High Energy Physics 2021”.
  * [46] J. Caetano, O. Gürdoğan and V. Kazakov, “Chiral limit of $\mathcal{N}$ = 4 SYM and ABJM and integrable Feynman graphs”, JHEP 1803, 077 (2018), arxiv:1612.05895.
  * [47] J. M. Drummond, J. Henn, V. A. Smirnov and E. Sokatchev, “Magic identities for conformal four-point integrals”, JHEP 0701, 064 (2007), hep-th/0607160.
  * [48] F. Coronado, “Bootstrapping the Simplest Correlator in Planar $\mathcal{N}=4$ Supersymmetric Yang-Mills Theory to All Loops”, Phys. Rev. Lett. 124, 171601 (2020), arxiv:1811.03282.
  * [49] A. Hodges, “The Box Integrals in Momentum-Twistor Geometry”, JHEP 1308, 051 (2013), arxiv:1004.3323.
  * [50] J. L. Bourjaily, F. Dulat and E. Panzer, “Manifestly Dual-Conformal Loop Integration”, Nucl. Phys. B 942, 251 (2019), arxiv:1901.02887.