Skip to content

ll_stepnet — Overview

ll_stepnet is a neural-network package for processing STEP / B-Rep CAD files, built with a clean separation of concerns. It turns raw STEP text into token IDs, geometric features, and a topology graph, fuses them in a transformer + graph-neural-network encoder, and exposes task-specific heads for classification, property prediction, similarity, captioning, and QA.

The installed top-level package is stepnet (import from stepnet import ...).

ModuleResponsibility
stepnet.tokenizerConvert STEP text → token IDs
stepnet.featuresExtract geometric properties per entity
stepnet.topologyBuild entity-reference graphs
stepnet.encoderTransformer + GNN encoder fusing all representations
stepnet.tasksTask-specific prediction heads
stepnet.dataDataset / DataLoader helpers
stepnet.trainerTraining loop
STEP File
→ Tokenizer → Token IDs → Transformer Encoder → Token Embedding
→ Feature Extractor → Geometric Features
→ Topology Builder → Graph → Graph Neural Network → Graph Embedding
Token Embedding + Graph Embedding → Fusion Layer → Final Encoding → Task Head
from stepnet import STEPTokenizer, STEPFeatureExtractor
tokenizer = STEPTokenizer()
step_text = "#31=CONICAL_SURFACE('',#1837,2.6797,0.7854);"
token_ids = tokenizer.encode(step_text)
extractor = STEPFeatureExtractor()
features = extractor.extract_geometric_features(step_text)
print(features["entity_type"], features["numeric_params"])

stepnet also provides the generative models (STEPVAE, StructuredDiffusion, VQVAEModel, CADGenerationPipeline). The valid-CAD generation path now lives in ll_gen as trained, program-based generators (autoregressive command model + latent diffusion).

Use the sidebar for Installation, Usage, and the API Reference.