You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Push/Pull on masses (#71). Massing → Push/Pull (PP) in a 3D view: click a face of a mass, move the pointer along its arrow or type the distance, and click or press Enter. The top changes the height, the bottom the base, a side of an extrusion moves its edge with the neighbors keeping their directions; a mass with a floor at every level it spans keeps one at every level it spans after. New command mass_face_move.
Movable tags. Tags of doors, windows, beams, columns and footings can be dragged in a plan with the Select tool; a moved tag gets a leader to its element, each plan keeps its own tag positions, and Reset Tag in the properties puts one back. New command tag_move (by delta, to an offset, or reset).
Conceptual masses (#31). Architecture → Massing → Mass (MS) sketches an outline and extrudes it to the level above; mass_create also lofts it to a top outline (top, or top_inset to set the base outline in). Masses are see-through in 3D views, elevations and sections and cut in the plans they cross. Mass floors at the levels a mass spans give the area of each storey: plans label the floor of their level, the properties list the levels with a box each, and the new Masses schedule shows the number of floors, the gross floor area and the volume. New commands mass_create, mass_floors_set, mass_floors and mass_type_create. Project files move to format version 14. With masses selected, Walls by Face, Floors from Mass Floors and Roof by Face build the walls (exterior faces on the mass, joined at the corners), a floor on each mass floor and a flat roof on the top; commands mass_walls_create, mass_slabs_create and mass_roof_create.
Update Now. When a newer version is out, the notice and the check's dialog offer Update Now where ConstructCAD can replace itself: it downloads the package that fits how it was installed (AppImage, Windows installer or .zip, macOS disk image), checks its SHA-256 against the release's SHA256SUMS.txt before anything changes, and puts it in place: the AppImage and the Windows .zip swap their files and offer a restart, the Windows installer runs when the app closes and opens it again, the disk image is opened to drag the app to Applications. A .deb copy shows the apt command instead. Downloads come only from this repository's release links, and one that does not match is deleted.
Views placed on a sheet are edited there (#90). Picking a view on a sheet shows, under its position, the view's own properties (scale, graphics, crop, phase…), and changes there update the sheet at once; a double click on a placed view opens it.
Close Inactive Views (#89): a button in the quick access toolbar and in View → Windows closes every view tab but the active one, and right-clicking a tab offers Close Other Views. It is unavailable while only one view is open.
Door and window heights in the properties (#70). Doors now have a Base Offset (how high they stand above the wall's base, for a raised floor or a step), windows keep their Sill Height, and both show a Head Height that can be typed: it moves the opening and keeps its height. The wall opening, the door or window pieces, plans and IFC follow, as they already did for windows.
Align by faces, at any angle, with clear feedback (#86). The face or line under the pointer is drawn thick, and the reference, once picked, shows as a red dashed line across the view. Elements align by the face or side picked: a wall by either face, not only its location line. When the two lines are not parallel, the element turns about the point clicked until they are, instead of being refused. element_align uses the outline edge nearest to pick and reference_pick for every element (grids and calls without a point keep the location line).
Window and crossing selection in 3D views (#68). With the Select tool, Shift+drag draws a selection box as in plans: dragged to the right it takes the elements wholly inside it, dragged to the left also those it touches (hidden faces count, hidden elements do not; Ctrl adds to the selection). Preferences → Interface → Dragging in 3D views selects swaps the gestures: a plain left drag selects and Shift+drag orbits.
Custom keyboard shortcuts: a new Keyboard shortcuts page in Preferences lists every command with its keys. Typing two letters in a command's box gives it new keys at once (tooltips, the palette and views follow); keys another command has are refused and the row names it; an empty box takes the keys away and Default brings them back; a search finds commands by name or keys. Ctrl shortcuts stay fixed. The choices are kept with the other preferences.
Import DWG and DXF drawings as underlays (#27). File → Import CAD… (or dropping .dwg/.dxf files on the window) places a drawing in the active floor plan, ceiling plan, elevation, section or legend, as thin grey lines and texts under the model, to trace walls and elements over. DXF (ASCII and binary, any version, pre-2007 code pages included) is read by a new in-house reader in the cc_cad crate: layers (off and frozen ones start hidden), blocks (nested, scaled, rotated, arrayed; layer 0 and BYBLOCK colors follow the insert), lines, polylines with bulges, circles, arcs, ellipses, splines, points, TEXT and MTEXT (formatting stripped), dimensions (their blocks), hatch boundaries (solid ones filled), solids, 3D faces and leaders, in their object coordinate systems; other entities are counted and skipped, and file size, primitives, nesting and work are bounded. DWG files (R12 to 2018 and later) are read with the acadrust library and go through the same reader. The drawing starts pinned, snaps to its endpoints, midpoints, centers and lines, and is picked only where no model element is. Its properties set units (from the file, else assumed), scale, rotation, position, colors (grey, layer colors or black), halftone and which layers show; the Imported CAD category hides or overrides it in Visibility/Graphics. It prints on sheets and exports, and is left out of 3D views and IFC export. New commands: cad_import, cad_layers, cad_layers_set; element_set edits the placement.
Equalities and sketch points (component modeling environment, phase 3). Equality (EQ) keeps a reference plane halfway between two parallel ones ((a + b) / 2), drawn as two dimensions marked EQ; commands component_equal_add and component_equal_delete. A sketched piece's properties list its points (and a sweep's path and section, a blend's top) as expressions, each lockable to a plane seen edge-on in the sketch's view.
Sweeps and blends (component modeling environment, phase 2). Sweep carries a rectangular or round section along a path of lines and arcs drawn in a view, mitered at the corners; Blend joins a bottom outline to a top outline drawn in the same view (the outlines are resampled evenly around, so a square can blend into a circle). Both are solid or void pieces whose coordinates lock to reference planes. component_piece_add takes kind: "sweep" (with path) and kind: "blend" (with top), and component_piece_set changes them. The quick editor lists their fields too.
Sketched component pieces (component modeling environment, second part). Extrusion and Revolution in the Create tab draw an outline (lines with arcs, a rectangle or a circle) in the plan, front or side view, solid or void; points on reference planes are locked to them, so pieces follow the parameters that drive the planes. A revolution's axis is a vertical plane or a point. Pieces are selected by their edges and edited in the left panel (name, void, shown in plans, material, start and end or axis and angle, lockable to planes). New engine commands component_piece_add, component_piece_set and component_piece_delete; examples/component_bench.ccmacro models a parametric bench with commands only.
Component modeling environment, first part. Edit Component opens a workspace of its own for a component: plan, front, side and 3D views, a Create ribbon tab, and a left panel with the component's types, parameters and the selected plane or dimension. Components gain reference planes (three origin planes, CenterX, CenterY and Base, plus planes drawn with Reference Plane) whose positions are expressions and whose names every expression of the component can read. Dimension measures two parallel planes, and labeling it with a parameter makes the parameter drive the plane. Every change applies to all types of the component in one undo step; Finish keeps the changes, Cancel Editing undoes them. The older editor stays as Quick Edit…. New engine commands: component_get, component_param_add/set/delete, component_ref_plane_add/set/delete, component_ref_line_add/delete and component_dimension_add/set/delete.
Imperial units (#80). The project length unit can be decimal feet, decimal inches, feet and fractional inches (12'-6 1/2") or fractional inches (150 1/2"); for the fractional ones the precision goes from 1" to 1/64" and values round to it. Areas can be square feet or square inches, volumes cubic feet, cubic yards or US gallons. Lengths are typed the same ways — 12'6", 12'-6 1/2", 12' 6.5", 6 1/2", 3/4", 12ft 6in, and in feet and inches bare numbers as feet then inches (10 6 1/2); metric values with their symbol (2,5 m) still work — in property fields, dimension values and while drawing. Beam, column and footing section tags and pipe, conduit and bar diameters show in inches. Imperial (US) in the Project Units dialog (or units_set with preset: "imperial") sets feet and inches to 1/16", square and cubic feet and point decimals; Restore Defaults goes back to metric. The model still stores meters. Project files move to format version 13.
Ordinate (running) dimensions (#83). The new Ordinate dimension tool (Annotate tab) measures from an origin along one dimension line: click the origin and the first point, place the line (above or below measures horizontally, beside vertically), then each click adds another point, until Enter, Esc or a right-click. Each point shows its running total from the origin, written along its witness line; the origin is marked with a small circle and each point with an arrow. Every point is its own dimension from the shared origin, so the totals follow the elements they were placed on, and giving one a new value moves the element at its point, never the origin. The new dimension_ordinate_create command places a whole set (origin first, then the points, with direction or angle and offset) in one undo step, and dimension_create takes kind: "ordinate". Project files move to format version 13.
Simplified Chinese interface (简体中文, zh-CN) (#67). It is picked from the system language for zh, zh-CN, zh-SG and zh-Hans; zh-TW, zh-HK, zh-MO and zh-Hant keep Traditional Chinese. The system's CJK fonts now also have to cover a Simplified-only character, so Simplified glyphs never show as boxes.
Changed
Preferences window: pages listed with icons, the current one marked; settings grouped under headings, each with its explanation shown under it; folders with an icon, long paths shortened in the middle (whole on hover) and framed Browse…, Clear and Remove buttons; Restore defaults resets the page shown. The footer now spans the whole window.
Fixed
Dark theme: the home screen's Open, New and Preferences buttons, and the icon tile of the properties header, were drawn white, so their light text and icons could not be read (only the hovered button turned dark). They now take the theme's colors.
The units quantities are shown in are kept per thread, so sessions on other threads (tests, scripts) no longer overwrite each other's project units; a schedule could come out in meters right after switching a project to feet and inches.
Box selection in plans and other 2D views (#93). A crossing (dragged to the left) now takes what it cuts or lies in: a wall crossed between its ends, a floor around the box, a text note anchored in it; it used to look at the ends of lines only, so it seemed to work only sometimes. Room areas and imported drawings are left out of a crossing. A drag starting inside a floor, a hatch or another fill now draws a box instead of moving that element: a drag moves what it starts on only from an element's line, or an element already selected.
Elements pasted on another level keep their span (#99): a column, wall, stair or ramp whose top is attached to a level now has its top moved up or down as many levels as its base (a ground-floor column up to the first floor, pasted on the first floor, reaches the second). Before, the top stayed on the level it was copied with, so copies pasted on that level ended at their own base. With no level that high the top is left unconnected at the same height. The paste preview shows the same.
Renaming a view in the project browser never ended (#82): the name field took the focus back every frame, so Enter or a click elsewhere did nothing, the name did not change, and no other field (a level's elevation, for one) took typing. It now takes the focus once; Enter or a click elsewhere keeps the name and Esc cancels.
Text fields that change the model as you type no longer undo the typing (#82): a level, view, filter, template, system or project name, a type's identity data, a filter rule value, the schedule filter and the currency now show what was typed while they have the focus. Before, a space typed at the end of a name vanished (the command trims it), emptying a name to type a new one brought the old one back, and the names of view filters and view templates (kept when the field is left) could not be typed at all.