DWF (Design Web Format) is Autodesk's structured, read-only vector format — and it is the recommended input for CADLens. Submit a DWF file and receive entity geometry, layer metadata, drawing extents, and a PNG preview. Because DWF does not require a proprietary binary conversion step, it offers the most reliable and fastest parse path in the API.
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..." }For files under roughly 2 MB, pass ?wait=true for a synchronous response. 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 2024-01. A typical DWF result for a published site plan:
{
"jobId": "job_03pn...",
"status": "COMPLETED",
"metadata": {
"units": "m",
"boundingBox": { "width": 120, "height": 80 }
},
"layersJson": [
{ "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 }
],
"vectorJson": [
{
"type": "POLYLINE",
"layer": "SITE-BOUNDARY",
"closed": true,
"vertices": [
{ "x": 0, "y": 0 },
{ "x": 120, "y": 0 },
{ "x": 120, "y": 80 },
{ "x": 0, "y": 80 }
]
}
],
"imageUrl": "https://cdn.cadlens.co/results/job_03pn.../preview.png?..."
}Free tier includes 50 parse requests per month. No credit card required.