Ziya Burak
Göztaş

Mechatronics engineer. I turn CAD and simulation geometry into data and models: B-Rep learning for part retrieval, generative meshing, and simulation automation.

Gaussian curvature on a triangle mesh. Drag to rotate.

Work

BracketSearch

Ford Otosan · current role

A 3D part search tool that lets designers find an existing part before they draw a new one. I lead its development, from the learning approach to the pilot release.

  • Started with point clouds and meshes, found they lost the structure that separates similar parts, and moved to B-Rep graph learning (UV-Net, BRepNet) on CAD faces and edges.
  • Built the pipeline that turns bulk STEP files of production parts into training data, and fine-tuned the model on them.
  • Two-stage retrieval: a geometric hash for exact matches, learned embeddings for similar parts. Desktop client in PyQt5 on OpenCASCADE B-Rep geometry.
  • Designed the PLM integration: a service extracts features and material data from JT files and writes them back to Teamcenter.

MeshCrafter

A generative model that writes a finite-element mesh element by element, the way a language model writes a sentence: a graph neural network encodes the part, and an autoregressive decoder emits the refined mesh. Started in a TÜBİTAK 2209-B research project with Ford Otosan as industry partner; I am the sole developer.

  1. Paired meshesAn ANSA API script exports a refined mesh and a raw mid-surface mesh for every part. Ansa_Macro
  2. Graph featuresEach mesh becomes canonically ordered graph data with normals, curvature, boundary and adjacency. NasMeshLib
  3. GenerationA GNN encoder and an autoregressive decoder learn to produce the refined mesh from the raw one.

NasMeshLib's curvature is checked against shapes with known answers:

ShapeMean curvatureExactGaussian curvatureExact
Sphere, R = 100.09990.10.01000.01
Cylinder, R = 5 (quads)0.10000.10.00000
Plane0000

Mesh settings from geometry

B.Sc. thesis, Jan 2025 · Ansys_Macro

Can a model pick Ansys Mechanical mesh settings from a part's geometry, before meshing? I split GrabCAD automotive STEP assemblies into 317 parts with pythonocc, extracted B-Rep features, and drove Ansys through its Python API to mesh every part with 64 setting combinations: about 21,000 automated meshing runs. XGBoost models then predict the settings and forecast element quality.

Ansys mesh of a brake-disc-like part with default global settings: coarse, uneven triangles
Default settings. Element quality mean 0.57, std 0.20.
The same part meshed with the predicted settings: fine, even triangles
Predicted settings. Element quality mean 0.82, std 0.10.

That is one part. Across parts the model has never seen, the signal is weaker (5-fold cross-validation, split by part):

ModelR²MAEBaseline MAE
Quality forecast, element quality mean0.230.0360.043
Quality forecast, element quality std0.290.0200.024
Settings prediction, mean over 8 targets0.20––

The thesis reported R² of 0.65–0.96. A later review found that noise augmentation ran before the train/test split, putting near-copies of training rows into the test set. Split correctly, the mean R² drops from 0.83 to 0.20. The lesson I took: a few global numbers cannot describe how a mesher sees a part, which is why my later work represents the part by its topology.

Education

M.Sc., in progress
Deep Learning, Finite Element Method, Engineering Mathematics, Modern Control Systems.
B.Sc. Mechatronics Engineering, Sakarya University of Applied Sciences
January 2025. Thesis advisor: Assoc. Prof. Ergün Nart.