The 2D CAD engine.
Everything a professional drafting application needs, with the interaction style CAD users already know: command prompts, object snaps, grips, typed values and instant undo.
Construction methods users expect.
Each one interactive, with snaps, live preview and typed values.
- Compositelines + arcs
- Blockscale · rotate
- Circle3 tangents
- Arctangent arc
- Filletwith radius
- Trimto an edge
- Polar arraycount & angle
- Dimensionschained
Illustrations of the interaction, not screenshots.
A few examples, not every capability: the complete list is at the end of the page.
Drawing, editing and annotation.
Drawing
- Composite curves — lines and arcs chained into a single entity: draw them directly, build them by joining existing curves, explode them back; trim, extend, fillet, chamfer and grip-edit them as a whole.
- Blocks — define blocks from a selection, insert them with scale and rotation in single or repeated placement, paste as block, edit and explode; keep them in single-file block libraries with search by name or tag and preview thumbnails.
- Lines — 2-point, horizontal/vertical, polylines, tangent, bitangent, normal, parallel (through a point or at a distance), mid-parallel, bisector
- Circles and arcs including tangent-tangent-tangent constructions
- Rectangles (2-point, 3-point, from centre), ellipses, interpolated splines
- Points with display styles, and raster images
- Text — single-line, multi-line and along a curve
- Hatch with built-in patterns plus user-defined ones; boundary from a picked point with island detection
Annotation
- Dimension commands — linear, aligned, angular (2 ways), radius, diameter, arc length, arc angle, ordinate, continue, baseline, centre mark
- Full dimension control: arrowheads, tolerances, prefix/suffix, units, precision, zero suppression, scale
Modify & transform
- Move, copy, rotate, scale, mirror — with copy option and interactive dragging
- Rectangular and polar arrays, AutoCAD-style stretch
- Offset, trim, extend and adjust (trim/extend two curves to their intersection)
- Fillet, chamfer, join, explode, convert to sketch
- Clipboard copy, cut, paste and paste as block
- Duplicate and overlap detection & cleanup
Grip editing
Per-entity editors with grips, multi-entity editing and context-menu actions; every edit validated, undoable and announced through events.
Organisation
- Layers with undoable changes and usage counts; line types, line weights and colours per entity
- Draw order — front, back, above, under; picking prefers geometry over fills
Selection
Pick, window, polygon, select-all; filters by entity type, layer, colour, line type, weight or your own rules.
Data on every entity
Persistent IDs, links between entities and free custom data on entities and on the document — saved in the native file, propagated on copy, split and join.
Precision, intent and robustness.
Beyond drawing tools, CoreCAD.NET captures design intent — constraints, variables and parametric history — and protects the user's work.
- 14 geometric: coincident, horizontal, vertical, parallel, perpendicular, tangent, concentric, equal length, equal radius, fixed, collinear, symmetric, midpoint, point-on
- 5 dimensional: distance, angle, length, radius, diameter — as driving dimensions
- Diagnostics: degrees of freedom, redundant and over-constrained states, typed rejection reasons
- Auto-constraints from snaps; re-solve after grip edits, transforms and deletes — in one undo step
- Suppress / unsuppress, on-screen glyphs, saved in the drawing
| Variable | Expression | Value |
|---|---|---|
| d1 | 190 | 190 |
| h | d1 / 2 | 95 |
| hole | min(d1, h) * 0.2 | 19 |
| angle | deg(atan2(h, d1)) | 26.57 |
- Named variables and expressions (+ − × ÷ % ^, π and functions), evaluated in dependency order with cycle checks
- Variables drive dimensions and feature parameters; one undo step per change
Precision aids
- 16 object-snap modes: end, middle, centre, intersection, quadrant, perpendicular, tangent, nearest, extension, parallel, geometric centre and more
- AutoCAD-style tracking from acquired points (extension, parallel, perpendicular)
- Ortho (toggle or hold Shift), grid with density presets, viewport rulers
- Typed input at the cursor: absolute, polar, incremental and direction values
- Command line with history and typed options, plus an inline input bar
Object snaps
Markers shown are illustrative. Snap modes are flags: enable any combination.
Some of the 16 modes, not all of them: the complete list is at the end of the page.
- Endpoint
- Midpoint
- Center
- Intersection
- Quadrant
- Perpendicular
- Tangent
- Nearest
- Extension
- Parallel
- Geom. centre
- Tracking
Application services
- Multiple documents, recent-file list, viewport layouts saved with the drawing
- Recovery: unsaved documents are snapshotted when Windows shuts down or the process is ended, and offered back at the next start
- Adaptive foreground colours (AutoCAD colour 7 behaviour) and low-contrast warnings
- High-DPI aware, English and Italian, pluggable logging
Parametric framework. Features that regenerate when their source geometry is edited, with undo, persistence and a plug-in registry — the foundation of CoreModel.NET and of your own parametric objects.
Every 2D capability.
Open an area to read what it covers.
012D drawingThe 2D entity set and its drawing commands: lines in every construction (tangent, perpendicular, parallel, bisector), arcs, circles, ellipses, curves, polylines, rectangles, points, texts, pictures and hatches.9 capabilities
- Lines can be drawn between two points, horizontal or vertical, parallel to a line through a point or at a distance, perpendicular to an entity, tangent to one or two circles or arcs, as the midline between two parallel lines or as the bisector of an angle.
- Circles and arcs can be drawn through three points, from a centre and a radius or point, from two points and a radius, or tangent to two or three existing lines, circles, arcs, ellipses or splines, and new circles and arcs can be concentric with an existing one.
- Polylines (also with horizontal and vertical segments only), rectangles from two corners, three points or a centre and a corner, ellipses from two foci and a point or from two axes, smooth splines through picked points, and composite curves that chain line and arc segments, optionally tangent, can be drawn interactively.
- Single-line texts are placed with a typed content and rotation in the current style and height, can keep the same content or angle over several placements, and can be laid along a line or curve, following its direction.
- Hatches fill the closed region around a clicked point, finding its boundary and any islands among the curves on screen, with a standard pattern such as ANSI31 or BRICK at any scale and angle, or a user- defined pattern of parallel or crossed lines at a chosen spacing.
- Points are drawn with a symbol (dot, cross, X, tick, circle or square, alone or combined) sized in drawing units or in screen pixels.
- Divide and measure place points or blocks along a curve, at a number of equal parts or at a fixed distance, optionally aligned with the curve, on the picked curve or on every selected one.
- Raster images in PNG, JPEG, BMP, GIF, TIFF and other common formats are placed by their lower-left corner and width, keeping their proportions, and are picked by their border so the geometry under them stays clickable.
- New entities take the current layer, colour, line type and line weight, each set explicitly or inherited from the layer, and every new drawing starts with standard line types, text styles and hatch patterns.
02Editing & transformationsCommands that change existing geometry: trim, extend, offset, fillet, chamfer, join, explode and stretch; move, copy, rotate, scale, mirror and arrays; grip editing; clipboard; undo and redo.11 capabilities
- Trim removes the clicked part of a curve up to its nearest intersections, extend lengthens a curve up to a picked boundary, and adjust trims or extends two curves so that they meet.
- Break removes the part of a curve between two points or splits it in two at one point, a circle becoming an arc, on the picked curve or on every selected one, and lengthen changes the length of a line or an arc at its picked end by a delta, a percentage, a new total or by dragging.
- Offset copies a curve at a typed distance on the side the user points to, and fillet and chamfer join two curves with an arc of given radius or a straight bevel at a given distance from the corner, trimming or extending them, each with a preview.
- Join merges curves that meet end to end into one composite curve, finding the whole chain from a single picked curve, explode splits blocks, polylines and composite curves into their parts, and delete removes the selection.
- Move, copy, rotate, scale (by a factor or against a reference length) and mirror act on the current selection or on entities picked after the command starts, with a live preview, and rotate, scale and mirror can keep the originals.
- Align moves and rotates entities so that one or two source points land on their destination points, and can scale them so that both pairs match exactly.
- Rectangular arrays repeat entities in rows and columns, polar arrays repeat them around a centre in one or more rings, and stretch moves what lies inside a crossing window while stretching the entities it crosses.
- Selected entities show grips that reshape or move them by dragging, a grip shared by several entities moves them together, and hovering a grip shows its measurements and a menu of actions such as extending a line, changing an arc radius or editing a text.
- Cut, copy and paste go through the clipboard, and pasted entities follow the cursor until they are placed.
- The layer, colour, line type, line weight and other properties of existing entities can be changed, or copied from one entity to others, in a single undoable step.
- Every change made by a command, a grip or a property edit can be undone and redone step by step, with no fixed limit on the history.
03Precision inputTools for exact input: object snaps, construction aids such as ortho, numeric input, a command line with typed arguments, the work plane and the grid.8 capabilities
- Object snaps attract the cursor to 16 kinds of points, each switchable on its own and also found inside blocks, namely end, middle and centre points, quadrants, vertices, insertion points, intersections, perpendicular, tangent and nearest points, centres of closed shapes, grid points, and tracking along extensions, parallels and perpendiculars.
- While a point is being picked, a construction aid next to the cursor shows and accepts typed X and Y, DX and DY from the last point, or distance and angle, keeps a typed value fixed while the mouse sets the other, and changes mode with the arrow keys.
- Ortho mode keeps each new point horizontal or vertical from the previous one, either permanently or while Shift is held.
- A command line control takes commands, also as unambiguous abbreviations, recalls earlier ones with the arrow keys, shows prompts and messages in colour, and accepts points typed as absolute, relative (@dx,dy) or polar (distance<angle) coordinates.
- A command can be typed together with its arguments, for example a view name, a 1:50 scale and a position, and they reach the command as typed values (texts, numbers, yes/no values or named options), while anything that does not fit is left to the command's own prompts.
- Numbers and texts a command needs, such as an offset distance or a block name, are asked from the host, which shows its own input box, or typed on the command line.
- A grid with its own step, major lines, automatic step and density presets is drawn on the work plane in every viewport and follows it when the host moves the work plane to XY, XZ, YZ or any other plane.
- Enter ends a multi-point input or, with no command running, repeats the last command, Esc cancels the running command, and the recently used commands are kept in a list a context menu can offer.
04Dimensions & annotationLinear, aligned, angular, radial, diametric, ordinate and arc dimensions; baseline and continued chains; centre marks; smart dimensioning that picks the dimension type from the entity under the cursor.7 capabilities
- Linear (horizontal or vertical) and aligned dimensions are placed between two points or on a picked line, including one segment of a polyline or composite curve.
- Angular dimensions measure the angle between two lines or through three points, and an arc can be dimensioned by its angle or by its length along the curve.
- Radius and diameter dimensions apply to circles and arcs, and centre marks draw a cross on each selected circle or arc, sized in drawing units or as a percentage of the radius, optionally on a dedicated layer.
- Ordinate dimensions give the X or Y distance of a point from a chosen datum, picking the axis from the direction of the leader.
- Baseline and continued dimensions build stacked or head-to-tail chains from an existing linear dimension, with a set spacing between stacked lines, and each chain is undone in one step.
- Smart dimensioning starts the matching dimension when the user drags from a line, arc or circle with no command running, aligned or (with Shift) linear for a line, radius or (with Shift) arc length for an arc and diameter for a circle, and the host can turn it off.
- Dimensions take their text height, colour and gap, arrowhead type and size, scale factor, unit format (decimal, engineering, architectural, fractional or scientific), precision, zero suppression, prefix and suffix, tolerances (symmetrical, deviation or limits) and text and arrow placement from the current settings.
05Layers, blocks & organizationLayers, blocks and a block library with previews, draw order for overlapping entities, selection filters, and cleanup of overlapping lines and circles.7 capabilities
- Each layer has a colour, line type, line weight, visibility and a lock against selection, and adding, changing or removing a layer can be undone, a removal taking the layer's entities with it, including those inside blocks.
- Selected entities can be turned into a named block with a base point and replaced by a reference to it, and blocks can be inserted with a rotation and scale, one placement after another, or made directly from the clipboard contents.
- Block libraries are files holding many blocks with preview images, and a host can create and open several at once, add blocks from the drawing, import them into it, update, rename and remove them, and render the previews from the drawing or with its own renderer.
- A draw order keeps hatches, also inside blocks, under the lines, texts and dimensions they cover, so that fills never hide them or catch their clicks; entities can be brought to the front, sent to the back or placed above or under another, and the order is saved with the drawing.
- Entities are selected by clicking, with a window dragged left to right, with a crossing window dragged right to left, or with a polygon started while Shift is held (Shift and Ctrl to keep only entities fully inside).
- Selection filters restrict what can be picked by entity type, layer, colour, line weight, line type or a custom rule from the host, an entity having to pass all of them, and can be switched off as a whole.
- Duplicate and overlapping lines, arcs, circles, ellipses, polylines and composite curves are found in the background with progress and cancel, then duplicates are removed and collinear lines or arcs on the same circle merged, in undoable steps.
06Constraints & variablesGeometric constraints and driving dimensions on the free 2D drawing, with the degrees of freedom left in view; document variables with expressions that drive values; sketches.8 capabilities
- 14 geometric constraints (coincident, collinear, concentric, equal length, equal radius, fixed, horizontal, midpoint, parallel, perpendicular, point on curve, symmetric, tangent and vertical) keep the lines, arcs and circles of the free 2D drawing in relation, each applied with its own command.
- 5 kinds of driving dimension (distance, length, radius, diameter and angle) set sizes that the geometry follows, and a double click on one edits its value or binds it to an expression of document variables.
- When constrained entities are edited with grips, moved, rotated, scaled, mirrored, trimmed, extended, filleted, chamfered, joined or stretched, the constraints are solved again and the edit and its correction undo as one step, and deleting an entity removes the constraints that referred to it.
- A constraint that duplicates or contradicts the existing ones, or would collapse the geometry, is refused with its reason and leaves the drawing unchanged, and the host can ask how many degrees of freedom a group of constrained entities has left.
- Constraints can be shown as symbols on the drawing that describe themselves on hover, select their entities on a click and can be suppressed or removed from a context menu or by command, a suppressed constraint being kept but left out of the solve.
- Two optional aids can be switched on: constraints created automatically from the snaps used while drawing (coincident on end and centre points, midpoint on the middle of a line), and a live preview that shows the constrained geometry already solved while a grip is dragged.
- Document variables are named expressions, with arithmetic, trigonometry and other functions and references to other variables, that drive driving dimensions and the numeric parameters of parametric features, and changing one updates everything that depends on it in a single undo step.
- Sketches are constrained profiles drawn in their own editing mode on any plane or converted from existing entities, and can be merged, duplicated, renamed or exploded back into separate entities.
07Views & displaySingle and multiple viewport layouts, zoom and pan, foreground colours that follow the background, entity highlighting, and views saved with the document.7 capabilities
- The model space can be split into one, two, three or four viewports in horizontal or vertical arrangements, each with its own view of the drawing.
- Commands zoom to the drawing extents, to a window, in and out, pan, and step back and forward through the previous views.
- Mouse navigation can be configured: which mouse button pans or zooms, whether the wheel zooms towards the cursor, and the direction of the wheel.
- When the background colour changes, layers in pure white or pure black switch between the two to stay visible, and entities whose colour cannot follow are reported to the host as low contrast.
- The viewport layout, the active viewport and the view in each viewport are saved in the native EYE file, so a drawing reopens as it was left, and a host can capture and restore a viewport layout itself.
- Entities can be highlighted with a temporary frame without changing the selection, so a host panel can show which objects one of its rows refers to.
- Hardware acceleration and anti-aliasing with its sample count can be requested when a document is created, anti-aliasing can be switched on and off while it runs, and what the graphics card actually granted is reported to the host and logged at start-up.
Paper space, printing and file exchange are on the Drawings & exchange page; hosting and extensibility on the For developers page.
Have a CAD problem worth solving?
Tell us what you're building. We'll give you a clear assessment of whether we're the right team, and how we'd approach it.
sales@cadwaresoft.com