CADLens parses customer-supplied part drawings into structured vector JSON — entities, layer data, and bounding box — so your quotation engine can read hole counts, path lengths, and feature geometry programmatically. No CAD software on your servers, no manual interpretation.
Quoting a machined or sheet-metal part requires reading the drawing: how many holes, what total cut length, which features sit on which layers, what are the overall dimensions? When a customer uploads a DWG or DXF, someone has to open a CAD tool, measure, and transfer numbers into the quoting system by hand. That adds minutes or hours per quote and introduces transcription errors.
Automating this step requires parsing the CAD file programmatically — something that is surprisingly hard to do reliably across the range of DWG versions and DXF dialects real customers produce.
When a customer uploads a part drawing, your backend sends it to POST /v1/parse. CADLens returns three data objects your quotation logic can act on directly:
A PNG preview is also available so your quotation UI can show the customer exactly what was parsed before confirming the quote.
The typical integration in a manufacturing quotation platform:
POST /v1/parse with multipart/form-data and your Authorization: Bearer <api_key> header. For files under ~2 MB add wait=true to block on the response.job_id immediately. Poll GET /v1/jobs/{job_id} (status: PENDING → PROCESSING → COMPLETED) or register a webhook_url on the parse request to be notified on completion.GET /v1/jobs/{job_id}/result to get the full vectorJson, layersJson, and metadata.Not every field in the response is relevant to quoting. The ones that drive pricing logic:
"circle" for hole counts, "polyline" for cut profiles, "arc" for radii and corners, "text" for tolerance annotations.{ x, y } points on polylines. Sum segment distances for cut length in the drawing's native units.layersJson for the layer color and total entity count on that layer.{ width, height } in drawing units. Convert to mm or inches using metadata.units for blank-size estimation.A simplified extract from a /v1/jobs/{job_id}/result response for a sheet-metal bracket drawing (schema version 2024-01):
{
"schemaVersion": "2024-01",
"metadata": {
"units": "mm",
"boundingBox": { "width": 240.0, "height": 180.0 }
},
"layersJson": [
{ "name": "CUTS", "colorHex": "#FF0000", "entityCount": 12 },
{ "name": "HOLES", "colorHex": "#00FF00", "entityCount": 8 },
{ "name": "BENDS", "colorHex": "#0000FF", "entityCount": 4 }
],
"vectorJson": [
{
"type": "polyline",
"layer": "CUTS",
"closed": true,
"vertices": [
{ "x": 0.0, "y": 0.0 },
{ "x": 240.0, "y": 0.0 },
{ "x": 240.0, "y": 180.0 },
{ "x": 0.0, "y": 180.0 }
]
},
{
"type": "circle",
"layer": "HOLES",
"center": { "x": 30.0, "y": 30.0 },
"radius": 4.5
}
]
}From this response, a quotation engine can determine: outer profile cut length (2 × (240 + 180) = 840 mm), 8 holes of radius 4.5 mm on the HOLES layer, 4 bend features, and a blank size of 240 × 180 mm.
CADLens extracts geometry as drawn. It does not interpret manufacturing intent beyond what is encoded in the file:
type: "insert") are returned with their insertion point and block name but are not automatically exploded. If your customers nest geometry inside blocks, you will need to resolve references using the insert entity data.metadata.units reflects what is set in the drawing file. If a customer saves in inches without noting this, your length calculations must apply the correct conversion.Connect your quotation engine to the CADLens API. No CAD software to install or maintain.