DWF (Design Web Format) is Autodesk's structured, read-only vector format. Submit a DWF file and receive entity geometry, layer metadata, drawing extents, and a PNG preview. DWF is a published-output format, so what you upload is what the author intended to release — no external references to resolve and no editing state to interpret.
In many AEC and manufacturing workflows, the source DWG file stays with the design team. What gets shared externally — with contractors, fabricators, clients, or document management systems — is a DWF export: a compact, read-only delivery format that preserves layers and geometry without exposing the editable source.
If your software receives DWF as the primary input — from a client portal, an email attachment, or an FTP drop — you need to parse the DWF directly. Converting it back to DWG adds complexity and round-trip fidelity risk. CADLens parses DWF natively.
DWF parsing is the right choice in these scenarios:
Authentication is an API key in the Authorization: Bearer header. The base URL is https://api.cadlens.co/v1.
Step 1 — Upload the DWF file:
POST /v1/parse
Content-Type: multipart/form-data
Authorization: Bearer <api_key>
file=<your-drawing.dwf>
// Response
{ "jobId": "job_03pn..." }Pass mode=sync as a form field for a synchronous response (uploads of 10 MB or more automatically continue asynchronously). For larger files, the job is queued and you can pass a webhook_url field to receive a callback on completion.
Step 2 — Poll for status:
GET /v1/jobs/job_03pn...
Authorization: Bearer <api_key>
// Response
{
"jobId": "job_03pn...",
"status": "COMPLETED", // PENDING | PROCESSING | COMPLETED | FAILED
"fileName": "site-plan.dwf",
"fileSize": 192000,
"createdAt": "2024-10-14T14:00:00Z",
"completedAt": "2024-10-14T14:00:05Z"
}Step 3 — Retrieve the result and preview:
GET /v1/jobs/job_03pn.../result // vector JSON GET /v1/jobs/job_03pn.../image // signed PNG URL
The result schema is versioned at 2.0.0. A typical DWF result for a published site plan:
{
"jobId": "job_03pn...",
"status": "COMPLETED",
"file": { "name": "site-plan.dwf", "format": "DWF", "version": "6.01", "units": "m" },
"summary": { "totalSheets": 1, "totalEntities": 124, "totalLayers": 4, "truncated": false },
"sheets": [{
"name": "Model", "index": 0, "entityCount": 124, "layerCount": 4,
"layers": [
{ "name": "SITE-BOUNDARY", "colorHex": "#ffffff", "entityCount": 1 },
{ "name": "BUILDINGS", "colorHex": "#808080", "entityCount": 24 },
{ "name": "ROADS", "colorHex": "#ffcc00", "entityCount": 38 },
{ "name": "ANNOTATIONS", "colorHex": "#00ff00", "entityCount": 61 }
],
"entities": [
{
"id": "4D1",
"handle": "4D1",
"type": "POLYLINE",
"category": "Geometry",
"layer": "SITE-BOUNDARY",
"geometry": {
"closed": true,
"vertices": [
{ "x": 0, "y": 0 },
{ "x": 120, "y": 0 },
{ "x": 120, "y": 80 },
{ "x": 0, "y": 80 }
]
},
"metrics": { "length": 400, "area": 9600, "perimeter": 400, "vertexCount": 4 }
}
]
}],
"imageUrl": "https://cdn.cadlens.co/results/job_03pn.../preview.png?...",
"imageUrls": ["https://cdn.cadlens.co/results/job_03pn.../preview.png?..."]
}The free plan includes 20 parse requests per month. No credit card, and keys are issued as soon as you sign in.