Drawing to CAD

An assisted rebuild you check, not a conversion. The output is a new unsaved part with a real feature tree, and nothing verifies it against the print except the model measuring its own work.

What it is

A request, not a button. You ask for the model a drawing describes, and CADABRA reads the sheet, hands what it read to Agent Mode, and builds the solid with the ordinary native operations.

The result is a new, unsaved part with a real feature tree: sketches, extrudes, cuts, holes, fillets, each editable and each rebuildable. The drawing you started from is left open and untouched.

The two ways in

  1. The drawing is open in SOLIDWORKS. Make it the active document and ask. It has to have been saved once, because the read works from the file on disk.
  2. You have a picture of the print. Attach a PNG or JPG with no drawing open and ask. There is then no API read behind the picture, so every value comes off the image.

Phrase it as a build: model this drawing, build this part from the print, recreate the part on this sheet. With neither a drawing active nor a picture attached, the reply is Open the drawing you want built as a model (make it the active document), or attach a picture of it, then ask again. A drawing that has never been saved has to be saved first.

Ask from Drawings or Agent. From a read-only mode, Ask, Plan, Debug or Imagine, the reply is This mode can read the drawing but not build from it. Switch to Agent mode and ask again.

Only the active sheet is captured

The sheet image handed to the model is a capture of the active sheet. On a multi-sheet drawing, activate the sheet carrying the part you want built before you ask, and run the sheets one at a time.

What the read contains

Two sources go to the model together.

The API read of the sheet

  • Units, sheet scale, projection and the sheet count.
  • Every view the API returns, with its type, the orientation it looks along, its scale and its label.
  • Up to 40 dimensions a view, each with its text, its type, and whether it is a hole callout or a reference dimension. Dimensions that name no view are listed separately, as measurements of the same solid.
  • Up to 30 sheet notes, and the title block fields that carry a value.
  • Feature control frames, datum tags and surface finishes, each against the view it sits in.

A PNG of the sheet

Attached to the turn as source-drawing-sheet.png. It matters because the API read carries values and labels, not geometry: shapes, hole patterns and how the views line up are read from the picture. The read says so to the model in its own words, so a sheet where nothing captured is answered with what could not be confirmed rather than a guess.

On the picture-only path there is no API read and no dimension list to check against. The model is told to read every value off the image, quote it as it uses it, and name any figure it cannot make out.

The build order it follows

  1. 01

    Reconcile the views

    The views are projections of one solid. A circle in one view is a hole, a boss or a fillet depending on what the other views show at that position, and a dimension seen once constrains the same feature everywhere.

  2. 02

    Establish the envelope

    The overall sizes first, from the dimensions that state them, saying which dimension each figure came from.

  3. 03

    Base profile, then material removal

    The base profile and its extrusion or revolution, naming the plane each sketch sits on, then cuts, then holes, then fillets and chamfers.

  4. 04

    Trace every size

    Each size has to trace to a dimension, a note, or an inference it states out loud. A size that is genuinely absent is named as absent, with the assumption made in its place.

  5. 05

    Build into a new part

    A new document is created and the features are built into it. The drawing document stays open and is not edited.

  6. 06

    Measure and compare

    The finished solid is measured and compared against the overall dimensions the drawing states, and the comparison is reported, including anything that does not match.

What you check before it goes anywhere

  • The overall dimensions, against the print rather than against the model's own report of them.
  • Every hole: position, diameter, and whether it is through or blind. A hole callout that the API could not read is a circle in a picture.
  • Which side of the part each feature is on, and any feature that appears in one view only.
  • Everything the answer flagged as inferred or assumed. It says so explicitly; read that part of the reply.
  • Tolerances, GD&T, finish and material, none of which are applied.
  • That the tree rebuilds when you change a driving dimension. A part built from a sheet can carry sketches that solved once and will not solve again.

A DXF or DWG is a different thing

A DXF or DWG is imported as a single unfiltered sketch. Every layer lands in that one sketch, border and dimension lines included. It is 2D geometry to build on, not a rebuild: delete what you do not want, then instruct the features from it.

The same two formats are also accepted as drawing-standard references, where they are stored and nothing is learned from them. Only .slddrw and .pdf are learned from. See drawing standards.

Worked prompts

Model this drawing
The whole flow with no steering. The reply states the envelope it concluded, the plane each sketch sits on, and the measured comparison at the end.
Build the part on this sheet, and treat the 40 mm as the overall length
A stated assumption is used and quoted rather than inferred, which is the fix when the first attempt read an ambiguous dimension the wrong way.
Build this from the attached print. It is a turned part, so start from a revolve
Names the base feature. Useful on a picture-only rebuild, where nothing but the image says whether a profile was extruded or revolved.
Which dimensions on this sheet did you not use?
Ask afterwards, in the same chat. The dimensions the read captured are still in context.