# Musa CAD Wiki — full text Every page of https://wiki.musacad.org/ as plain Markdown, for Musa CAD 0.8.0. Each page starts with its address. --- # Musa CAD Wiki URL: https://wiki.musacad.org/ Checked against: Musa CAD 0.8.0 (complete) Musa CAD is a free program for 2D technical drawings: parts, plans, sections and sheets. If you have used AutoCAD, you already know how to use it. The commands, prompts, ribbon and keyboard shortcuts are the same. This wiki shows you how to install it, how to draw with it, and what every command does. ## Start here - [Install Musa CAD](https://wiki.musacad.org/get-started/install-linux/): Windows, Linux (Flathub or AppImage) and the macOS preview. Five minutes. - [Your first drawing](https://wiki.musacad.org/get-started/first-drawing/): Draw a plate with two holes, add dimensions and print it to PDF, step by step. - [Coming from AutoCAD](https://wiki.musacad.org/get-started/coming-from-autocad/): What works the same, what is different, and what is not there yet. - [Find a command](https://wiki.musacad.org/reference/): Every command and setting, with its shortcut and where it is on the ribbon. ## What makes Musa CAD different **Type where you draw.** With Dynamic Input, the command, the prompt and the exact length or angle all appear next to your cursor. You type the number there and keep your eyes on the drawing. It is on from the first start. [How Dynamic Input works](https://wiki.musacad.org/user-manual/dynamic-input/) **Automate whole drawings.** A Musa CAD drawing is a plain text file that any program can write, and the `musacad` command checks and prints drawings without opening a window. Scripts and AI agents can produce finished drawing sets. [Scripting and automation](https://wiki.musacad.org/scripting/) **Open the files you already have.** Musa CAD reads and writes DXF directly. It opens and saves DWG through the free ODA File Converter, which it downloads for you in one click. **Free, open source, no account.** It runs on Windows and Linux, with a macOS preview. There is no licence key, no sign-in and no subscription. ## News New releases and longer write-ups are on the [blog](https://wiki.musacad.org/blog/). The latest: [Musa CAD 0.8.0 is out](https://wiki.musacad.org/blog/musa-cad-0-8-0/). ## How to read this wiki Every page tells you how far to trust it, just under its title: - **Complete** means the page covers its topic. - **Partial** means it covers part of it, and says what is missing. - **Not written yet** means the page only shows what Musa CAD itself reports, such as a command's name, shortcut and first prompt. - **Checked against Musa CAD 0.8.0** is the release the page was last tested with. If a newer release comes out and the page has not been checked again, a note at the top says so. The command lists and the pictures of drawings are made by Musa CAD itself whenever the wiki is built, so they always match the release it was built for. Nothing here is copied from Autodesk's documentation. Every page is written from Musa CAD's own source code, its own prompts and real use. --- # Get started URL: https://wiki.musacad.org/get-started/ Checked against: Musa CAD 0.8.0 (complete) This section takes you from nothing to a saved, dimensioned drawing printed to PDF. If Musa CAD is new to you, read the pages in order. If you already use AutoCAD, start with [Coming from AutoCAD](https://wiki.musacad.org/get-started/coming-from-autocad/). It tells you which habits work straight away. ## The pages in this section 1. [What Musa CAD is](https://wiki.musacad.org/get-started/what-is-musa-cad/): what it does well, and what it does not do. 2. Install it on [Windows](https://wiki.musacad.org/get-started/install-windows/), [Linux](https://wiki.musacad.org/get-started/install-linux/) or [macOS (preview)](https://wiki.musacad.org/get-started/install-macos/). You can also [build it from source](https://wiki.musacad.org/get-started/build-from-source/). 3. [Your first drawing](https://wiki.musacad.org/get-started/first-drawing/): a plate with two holes and two dimensions, saved and printed to PDF. 4. [A tour of the interface](https://wiki.musacad.org/get-started/interface-tour/): the names of the parts of the window, so the rest of the wiki makes sense. 5. [Coming from AutoCAD](https://wiki.musacad.org/get-started/coming-from-autocad/): what carries over, what is different, and what is missing. ## Check your graphics first The drawing area needs a graphics driver that supports **OpenGL 4.5**. Up-to-date drivers for Intel, AMD and NVIDIA graphics on Windows and Linux all do. macOS does not, which is why the Mac version is only a preview for now. If your computer cannot run the drawing area, Musa CAD does not just show a black window. It tells you what it found and what it needs, and then closes. - [Download page](https://github.com/MusaCAD/MusaCAD/releases/latest): The newest release on GitHub: Windows installer, AppImage, Flatpak bundle and Mac disk image. - [Musa CAD on Flathub](https://flathub.org/apps/org.musacad.MusaCAD): The easiest Linux install. Updates arrive with your other apps. --- # What Musa CAD is URL: https://wiki.musacad.org/get-started/what-is-musa-cad/ Checked against: Musa CAD 0.8.0 (complete) Musa CAD is a free program for making 2D technical drawings: mechanical parts, floor plans, sections, wiring layouts and the sheets they are printed on. It works the way AutoCAD works. The commands, the aliases (like `L` for LINE), the prompts, the ribbon and the keyboard shortcuts are the same. So if you know AutoCAD, you can sit down and draw. It is open source under the LGPL-3.0-or-later licence. It costs nothing, needs no account and has no licence key. [Screenshot: The Musa CAD window: the ribbon with its Home, Insert, Annotate, Parametric, View, Manage and Output tabs; three drawing tabs; a house floor plan with one outside wall selected and its grips showing; the Properties palette on the right listing the wall's layer and width.] ## What you can do with it - **Draw** lines, polylines (with widths and curved segments), circles, arcs, ellipses, splines, rectangles, polygons, points, multilines, revision clouds, hatches and gradient fills. - **Edit** with move, copy, rotate, mirror, scale, stretch, trim, extend, fillet, chamfer, offset, array, break, join and explode. Every object has grips you can drag. - **Draw accurately** with object snaps (endpoint, midpoint, centre and the rest), polar tracking, ortho, grid snap, and exact coordinates such as `@50,0` or `@50<45`. - **Annotate** with text, dimensions of every common kind, leaders, tables, and geometric tolerance frames (GD&T). - **Organise** a drawing with layers, linetypes, lineweights, blocks with attributes, external references, images and groups. - **Print** layouts with viewports to PDF or to a printer, one sheet or a whole set at once. - **Exchange files** in DXF directly, and DWG through a free converter. Each release adds more. The [release notes](https://github.com/MusaCAD/MusaCAD/releases) list what each version added, and what is still missing. ## Two things that set it apart ### You type where you draw Musa CAD has **Dynamic Input**, and it is switched on from the first start. When you start typing, the command appears next to your cursor, with the list of matching commands under it. The prompt (`Specify next point or [Close/Undo]:`) appears there too. While you draw, the length and angle of the line you are drawing sit in small boxes beside it, and you can type an exact value straight into them. You never have to look down at a command line at the bottom of the screen. If you prefer that classic command line, press F12 and it comes back. [Read how Dynamic Input works](https://wiki.musacad.org/user-manual/dynamic-input/). ### Whole drawings can be made by programs Every Musa CAD drawing is a plain text file (`.musa`) that any program or script can write, line by line. DXF works the same way. The `musacad` command can check a drawing for problems and print it to PDF without opening a window, so it runs on servers, in scheduled jobs and in build pipelines. This is enough for an AI agent to produce complete drawing sets. One real example is the [fabrication pipeline](https://github.com/MusaCAD/fabrication_pipeline). It takes 3D models made in FreeCAD and turns them into finished A4 fabrication drawings, with views, sections, dimensions, tolerances and a filled-in title block, without anyone drafting by hand. [Read about scripting and automation](https://wiki.musacad.org/scripting/). ## What it runs on | Platform | What you get | |---|---| | **Windows** | A 64-bit installer, `MusaCAD--x86_64-setup.exe`. | | **Linux** | Flathub (`org.musacad.MusaCAD`, for x86_64 and ARM64), an AppImage, and a Flatpak file on each release page. | | **macOS** | A preview for Apple silicon. The command line works, but the drawing area does not open yet, because it needs OpenGL 4.5 and macOS does not provide it. | ## What it does not do (yet) - **3D.** Musa CAD is for 2D drawings only. There is no 3D modelling, and none is planned at the moment. - **AutoLISP, VBA or plug-ins.** These do not run inside Musa CAD. Automation works from the outside instead: a program writes the drawing file and calls the `musacad` command to check and print it. See [Scripting and automation](https://wiki.musacad.org/scripting/). - **DWG on its own.** Musa CAD's own format is `.musa`. DWG files go through the free ODA File Converter, which Musa CAD downloads for you. DXF needs nothing extra. - **Everything AutoCAD has.** Musa CAD is at version 0.8.0, released on 22 October 2026, the eighth release since June. Most everyday drafting is covered. Some tools are still missing. On the ribbon, those tools appear greyed out, and their tooltip says they are not built yet. ## How it is built For the curious: Musa CAD is written in C++23 with Qt 6. It splits work across three threads: one for the interface and commands, one for geometry, and one for drawing on screen. That is why a drawing with a million lines still pans and zooms smoothly. It has its own geometry engine, so it does not depend on any other CAD library. The details are in [Architecture](https://wiki.musacad.org/developer/architecture/) in the developer guide. ## Where to go next - [Install Musa CAD](https://wiki.musacad.org/get-started/install-linux/) on your computer. - Already installed? Make [your first drawing](https://wiki.musacad.org/get-started/first-drawing/). - Using AutoCAD today? Read [Coming from AutoCAD](https://wiki.musacad.org/get-started/coming-from-autocad/). - Found a bug or want something added? Open an issue on [GitHub](https://github.com/MusaCAD/MusaCAD/issues). If Musa CAD ever crashes, it offers to save a crash report the next time it starts. Attach that report to the issue. --- # Install on Windows URL: https://wiki.musacad.org/get-started/install-windows/ Checked against: Musa CAD 0.8.0 (complete) Applies to: windows Musa CAD for Windows comes as a normal installer, `MusaCAD--x86_64-setup.exe`. You download it from the release page on GitHub. :::note[Version 0.8.0 on Windows] Version 0.8.0 came out on 22 October 2026 for Linux and macOS first. The Windows installer is added to the same release once it has been tested on a real Windows PC. When it arrives, an installed 0.7.0 offers the update by itself. Until then, the newest Windows version is [0.7.0](https://github.com/MusaCAD/MusaCAD/releases/tag/v0.7.0). ::: ## What you need - Windows 10 or 11, 64-bit. - A graphics driver that supports **OpenGL 4.5**. Current Intel, AMD and NVIDIA drivers all do. If yours does not, Musa CAD tells you so when it starts. - Nothing else. There is no account, licence key or internet connection needed to use it. ## Install it 1. Download `MusaCAD--x86_64-setup.exe` from the [latest release](https://github.com/MusaCAD/MusaCAD/releases/latest). The `.sha256` file next to it lets you check the download if you want to. 2. Run the installer. Windows will show one or more warnings first; the next section explains them. 3. Choose whether to tick **Register .musa / .dxf file types**. This makes Musa CAD open `.musa` files when you double-click them. For `.dxf` and `.dwg` files it only adds Musa CAD to the "Open with" list. It never takes those files away from another program. 4. Click Finish. Musa CAD is now in the Start menu. Musa CAD installs into `C:\Program Files\Musa CAD` and needs administrator rights to do so. To update, you can run a newer installer over the old one. ## Why Windows warns you The installer is not yet signed with a code-signing certificate. Without one, Windows does not know who made the file, so it shows warnings. You may see any of these: - Your browser says the file is not commonly downloaded. - SmartScreen says "Windows protected your PC". Click **More info**, then **Run anyway**. - The administrator prompt says **Publisher: Unknown**. This does not mean Windows found anything harmful. It only means the file is new to Windows. Getting the installer signed is planned; the options are written up in [WINDOWS_SIGNING.md](https://github.com/MusaCAD/MusaCAD/blob/main/docs/WINDOWS_SIGNING.md). ## Two programs, and why Musa CAD installs two programs side by side: | Program | Use it for | |---|---| | `musacad_app.exe` | Drawing. This is what the Start menu and double-clicked files open. | | `musacad.exe` | Scripts and the command prompt. It runs the app, waits for it, and passes back its exit code. | The second one exists because Command Prompt and PowerShell do not wait for a windowed program to finish. Use `musacad.exe` in scripts. To check that the install works from a terminal: ```powershell & "C:\Program Files\Musa CAD\musacad.exe" --version ``` The [command line page](https://wiki.musacad.org/scripting/command-line/) explains everything `musacad.exe` can do, such as checking a drawing or printing it to PDF without opening a window. ## Updates Once a day, Musa CAD checks GitHub for a newer version. If there is one, a small notice appears in the status bar at the bottom of the window. Click it to open the Update window. On Windows, that window can download the new installer and run it for you. It first checks the download's size, its SHA-256 checksum and its version number, and refuses a file that does not match. You can turn the daily check off in **Options** (type `OP`). ## Uninstall Open **Settings ▸ Apps ▸ Musa CAD ▸ Uninstall**, or run `uninstall.exe` in the install folder. Your drawings and settings are not deleted. ## Opening DWG files To open or save DWG files, Musa CAD uses the free ODA File Converter. Open **DWG Setup…** from the application menu (the Musa CAD logo at the top left) and click **Download ODA File Converter…** to set it up. DXF files work without it. ## Next [Make your first drawing](https://wiki.musacad.org/get-started/first-drawing/). --- # Install on Linux URL: https://wiki.musacad.org/get-started/install-linux/ Checked against: Musa CAD 0.8.0 (complete) Applies to: linux There are three ways to install Musa CAD on Linux. Most people should use Flathub. All three include everything Musa CAD needs, so you do not have to install Qt or anything else. Your graphics driver must support **OpenGL 4.5**. Mesa (for Intel and AMD graphics) and NVIDIA's driver both do. If yours does not, Musa CAD says so when it starts. ## Option 1: Flathub (recommended) Updates then arrive with your other apps. Flathub has Musa CAD for both x86_64 and ARM64 computers. ```sh flatpak install flathub org.musacad.MusaCAD flatpak run org.musacad.MusaCAD ``` If you have never used Flatpak, [Flathub's setup page](https://flathub.org/setup) shows the two commands to set it up on your distribution. Many software centres (GNOME Software, KDE Discover) can also install it with a click. ### What the Flatpak can and cannot see The Flatpak version runs in a sandbox and cannot see your files on its own. When you open or save a drawing, your desktop's own file dialog appears, and Musa CAD gets only the file you choose. In practice this means: - If a drawing uses images or other drawings stored next to it, Musa CAD asks you to choose that folder, so it can find them. - In **Save As**, a name you type without `.musa` is kept exactly as you typed it. - From a terminal, you must give it access to your files, or it cannot open them: ```sh flatpak run --filesystem=home org.musacad.MusaCAD --check ~/drawings/part.musa ``` Without `--filesystem=home`, the same command answers `Cannot open file`. ### DWG files in the Flatpak The ODA File Converter (for DWG files) downloads fine inside the Flatpak. It needs an X11 display to run. On an X11 desktop that just works. On a Wayland desktop, the converter has to run outside the sandbox, which you allow once with this command: ```sh flatpak override --user --talk-name=org.freedesktop.Flatpak org.musacad.MusaCAD ``` The DWG Setup window tells you when this is needed. If you already have a DWG converter installed on your system, choose **Use a converter installed on the host (Flatpak)**. ## Option 2: the AppImage One file you download and run. It works on most Linux distributions from the last few years (x86_64 only). Get it from the [latest release](https://github.com/MusaCAD/MusaCAD/releases/latest): ```sh chmod +x MusaCAD-0.8.0-x86_64.AppImage ./MusaCAD-0.8.0-x86_64.AppImage ``` Good to know: - The AppImage needs FUSE 2 (the `libfuse2` package on Debian and Ubuntu). Without it, run it with `APPIMAGE_EXTRACT_AND_RUN=1` in front, and it unpacks itself and runs. - It runs natively on Wayland, and on X11 when that is what you use. - It does not add itself to your applications menu. You can keep the file wherever you like. - It is the best choice for scripts and servers, because it runs headless (with no screen at all): ```sh ./MusaCAD-0.8.0-x86_64.AppImage --plot part.musa part.pdf --paper A3 --landscape ``` ## Option 3: the Flatpak file Each release also has a file called `MusaCAD-.flatpak`. Use it to install one exact version, for example on a computer without internet. It still needs the KDE runtime, which Flatpak downloads from Flathub if it can: ```sh flatpak install --user MusaCAD-0.8.0.flatpak flatpak run org.musacad.MusaCAD ``` Installed this way, Musa CAD still tells you about new versions, but it does not update by itself. ## Check that it works ```sh flatpak run org.musacad.MusaCAD --version ./MusaCAD-0.8.0-x86_64.AppImage --version ``` Both print `Musa CAD 0.8.0`. ## Next [Make your first drawing](https://wiki.musacad.org/get-started/first-drawing/). If you want to build Musa CAD yourself, see [Build from source](https://wiki.musacad.org/get-started/build-from-source/). --- # Install on macOS (preview) URL: https://wiki.musacad.org/get-started/install-macos/ Checked against: Musa CAD 0.8.0 (complete) Applies to: macos :::caution[Please read this first] On a Mac, Musa CAD's drawing area does not open yet. The drawing area needs OpenGL 4.5, and macOS stops at OpenGL 4.1. When you start the app, it shows a message explaining this and closes. Mac support is tracked in [issue #2](https://github.com/MusaCAD/MusaCAD/issues/2). ::: What does work on a Mac is the command line. You can check drawings and print them to PDF without opening a window, which is useful for scripts and automation. ## What you get Each release page has a disk image for Apple silicon Macs, `MusaCAD--arm64.dmg`. It contains `MusaCAD.app`. ## Install it 1. Download the disk image from the [latest release](https://github.com/MusaCAD/MusaCAD/releases/latest) and open it. 2. Drag `MusaCAD.app` into Applications. 3. If macOS refuses to open it because it cannot check the developer, right-click the app and choose **Open** once. ## Use the command line The program sits inside the app bundle: ```sh /Applications/MusaCAD.app/Contents/MacOS/musacad_app --version /Applications/MusaCAD.app/Contents/MacOS/musacad_app --check part.musa /Applications/MusaCAD.app/Contents/MacOS/musacad_app --plot part.musa part.pdf --paper A4 ``` It works exactly as on Windows and Linux. The [command line page](https://wiki.musacad.org/scripting/command-line/) explains every option. ## When will the drawing area work? The drawing area needs a second graphics back end, either Metal or a simpler OpenGL 4.1 path. The code is already split so that one can be added. When it lands, the release notes and this page will say so. --- # Build from source URL: https://wiki.musacad.org/get-started/build-from-source/ Checked against: Musa CAD 0.8.0 (complete) You can build Musa CAD from its source code with a few standard tools. It does not depend on any other CAD library. This page is the quick version for a Linux desktop. [Building](https://wiki.musacad.org/developer/building/) in the developer guide covers Windows and macOS, the debug and sanitizer builds, and more. ## What you need | Tool | Version | |---|---| | A C++23 compiler | GCC 13, Clang 17, or Visual Studio 2022 (17.8) | | CMake | 3.25 or newer | | Ninja | 1.10 or newer | | Qt 6 (Core, Gui, Widgets) | 6.4 or newer | | Vulkan loader and headers | 1.3 or newer (needed to configure; the program itself draws with OpenGL) | On Debian or Ubuntu, one command installs them: ```sh sudo apt-get install -y build-essential cmake ninja-build qt6-base-dev libvulkan-dev ``` Everything else (such as the test framework) is downloaded by the build itself. ## Build it ```sh git clone https://github.com/MusaCAD/MusaCAD.git cd MusaCAD cmake --preset release cmake --build --preset release ``` The program is then at `build/release/bin/musacad_app`. Check it: ```sh ./build/release/bin/musacad_app --version ``` For development, the `dev` preset builds a debug version with memory checks and the unit tests. Run the tests with `ctest --preset dev`. ## DWG support DWG support is not compiled in, and needs nothing at build time. Musa CAD runs a separate converter program (the ODA File Converter, or LibreDWG's `dwg2dxf`) when you open or save a DWG file. A fresh build handles DXF straight away. For DWG, open **DWG Setup…** in the application menu and let it download the converter. See [DWG files](https://wiki.musacad.org/file-formats/dwg/). ## Windows and macOS Both are built by the project's GitHub workflows. [Building](https://wiki.musacad.org/developer/building/) explains how to set up Visual Studio and Qt for a Windows build on your own PC. A Mac build gives you a working command line, but the drawing area cannot open yet (see [Install on macOS](https://wiki.musacad.org/get-started/install-macos/)). ## Next Draw something: [Your first drawing](https://wiki.musacad.org/get-started/first-drawing/) takes about ten minutes. --- # Your first drawing URL: https://wiki.musacad.org/get-started/first-drawing/ Checked against: Musa CAD 0.8.0 (complete) In about ten minutes you will draw the plate below: 120 units wide, 80 high, with two round holes and two dimensions. Then you will save it and print it to a PDF. Each step shows exactly what Musa CAD asks and what you type, so you can follow along. [Drawing: A rectangular plate, 120 wide by 80 high, drawn in outline, with two round holes of radius 10 at its left and right thirds. A horizontal dimension under the plate reads 120.00 and a vertical dimension on its left reads 80.00.](https://wiki.musacad.org/rendered/first-part.svg) ## Before you start - Musa CAD opens with an empty drawing called **Drawing1**. Think of one unit as one millimetre. - **Just start typing.** You do not need to click anywhere first. What you type appears next to your cursor, and so do Musa CAD's questions (the *prompts*). This is called Dynamic Input. If you prefer a command line at the bottom of the window, press F12. - Enter or Space confirms what you typed. Esc cancels. In the boxes below, `↵` means "press Enter". - Roll the mouse wheel to zoom in and out. Hold the middle button and drag to move around (pan). ## Draw the plate 1. Type `REC` and press Enter. This starts the RECTANG command. Type the first corner, then the second corner. The `@` means "measured from the last point": ```musacad Command: REC Specify first corner point or [Chamfer/Elevation/Fillet/Thickness/Width]: 0,0 Specify other corner point or [Area/Dimensions/Rotation]: @120,80 ``` :::tip[The same thing with Dynamic Input] After the first corner, move the mouse up and to the right. Two boxes appear beside the rectangle, showing its width and its height. Type `120`, press Tab, type `80`, and press Enter. ::: If the rectangle is too small to see, type `Z`, press Enter, then type `E` and press Enter. This zooms to fit everything (Zoom Extents). 2. Draw the first hole. Type `C` for CIRCLE, give the centre, then the radius: ```musacad Command: C Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: 30,40 Specify radius of circle or [Diameter]: 10 ``` 3. Draw the second hole. Musa CAD remembers the last radius and offers it in angle brackets, so you only need to press Enter: ```musacad Command: C Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: 90,40 Specify radius of circle or [Diameter] <10.0000>: ↵ ``` **Tip:** pressing Enter when no command is running repeats the last command. That is a quick way to start the second circle without typing `C` again. ## Add the dimensions 1. Type `DLI` for DIMLINEAR. It asks for the two points to measure between, then where to put the dimension line. You can type the points, or hover over a corner until the Endpoint snap marker appears and click: ```musacad Command: DLI Specify first extension line origin or : 0,0 Specify second extension line origin: 120,0 Specify dimension line location or [Mtext/Text/Angle/Horizontal/Vertical/Rotated]: 60,-15 ``` The dimension shows the width, 120. Musa CAD measures it from the two points, so the number is always right, even if you change the plate later. 2. Now the height, on the left side. Musa CAD works out whether the dimension is horizontal or vertical from where you put the dimension line: ```musacad Command: DLI Specify first extension line origin or : 0,0 Specify second extension line origin: 0,80 Specify dimension line location or [Mtext/Text/Angle/Horizontal/Vertical/Rotated]: -15,40 ``` Made a mistake? Press Ctrl+Z to undo. To move a dimension's text, click the dimension, then drag the small square on its text. ## Save it Press Ctrl+S. Because the drawing has never been saved, the Save window opens with the file type **Musa CAD (*.musa)**. Name it `first-part.musa`. The tab at the top now shows the file name. From now on Ctrl+S saves straight away, and Ctrl+Shift+S is Save As. A `.musa` file is Musa CAD's own format. It is plain text, so you can even open it in a text editor. Files saved by version 0.8.0 need 0.8.0 or newer to open. Older files always open in newer versions. ## Print it to PDF Press Ctrl+P, or type `PLOT`. In the Plot window, choose: - **Printer/plotter:** PDF File… - **Paper size:** A4, **Orientation:** Landscape - **Plot area:** Extents (the whole drawing) - **Scale:** Fit to paper. For a real drawing you would pick a fixed scale instead. - **Plot style (CTB):** Monochrome (all black), which is how a workshop usually wants a drawing. Click **Preview…** to check the sheet, then **Plot** and choose where to save the PDF. The PDF is made of real lines, not pixels, so it stays sharp however far you zoom in. You can also print it without opening Musa CAD at all. The picture at the top of this page was made exactly that way: ```sh musacad --plot first-part.musa first-part.pdf --paper A4 --landscape --monochrome ``` ## What you learned - Start commands by typing their short names: `REC`, `C`, `DLI`, `Z`. - Read the prompt: options are in `[square brackets]`, the default is in ``, and Enter accepts it. - Type exact points: `30,40` is a point on the drawing, `@120,80` is measured from the last point, and `@50<45` means 50 units at 45 degrees. - Dimensions measure the drawing; you never type their numbers. - Save as `.musa`, print to PDF. ## Next - [A tour of the interface](https://wiki.musacad.org/get-started/interface-tour/) names every part of the window. - [Dynamic Input](https://wiki.musacad.org/user-manual/dynamic-input/) shows how to draw faster by typing values right at the cursor. - The drawing from this page is yours to keep: [download first-part.musa](https://wiki.musacad.org/examples/first-part.musa) and open it with **File ▸ Open**. --- # A tour of the interface URL: https://wiki.musacad.org/get-started/interface-tour/ Checked against: Musa CAD 0.8.0 (complete) This page names the parts of the Musa CAD window, so the rest of the wiki makes sense. The layout and the names are the same as AutoCAD's "Drafting & Annotation" workspace, so if you know AutoCAD you can skim it. [Screenshot: The Musa CAD window. At the top: the application menu button with the Musa CAD logo, the Quick Access Toolbar, and the ribbon showing its Home tab with the Draw, Modify, Annotation, Layers, Block, Properties, Groups, Utilities and Clipboard panels. Below the ribbon are three drawing tabs. The drawing area shows a house floor plan with one outside wall selected and small square grips on it. On the right is the Properties palette. At the bottom is the status bar with the OSNAP, GRID, ORTHO, SNAP, POLAR, OTRACK and DYN buttons.] ## The ribbon The ribbon is the strip of buttons across the top. It has seven tabs: **Home**, **Insert**, **Annotate**, **Parametric**, **View**, **Manage** and **Output**. Each tab is split into panels. The Home tab, for example, has the Draw, Modify, Annotation, Layers, Block, Properties, Groups, Utilities and Clipboard panels. A few things worth knowing: - **Hover over any button** to see the command's name, its short alias and what it does. - **A small arrow under a button** opens more ways to use it. Circle, for instance, has six ways to draw a circle. - **A small arrow in a panel's corner** opens the matching window, such as the Dimension Style Manager. - **A greyed-out button** is a tool Musa CAD does not have yet. Its tooltip says so. The whole Parametric tab is like that in version 0.8.0. When the window gets narrow, the panels shrink to icons so everything still fits. Extra tabs appear while you work on a hatch, a text, a block or in the Block Editor. ## The application menu and the Quick Access Toolbar Click the **Musa CAD logo** at the top left for the application menu: New, Open, Save, Save As, Import, Export, Plot, DWG Setup, Options, Check for Updates, Save Bug Report, About and Exit. Next to it is the **Quick Access Toolbar** with New, Open, Save, Save As, Undo, Redo and Plot. Its small drop-down arrow lets you add more buttons, or move the toolbar below the ribbon. ## Drawing tabs You can have several drawings open at once. Each one gets a tab above the drawing area. Ctrl+Tab moves to the next tab, and Ctrl+W closes the current one. Each drawing keeps its own view, selection and undo history. You can copy objects from one drawing and paste them into another. ## Typing commands: Dynamic Input [Screenshot: REC typed in a small box next to the crosshair on a house plan. Under it, a list offers RECTANG and RECTANGLE, each with a one-line description.] This is the part of Musa CAD you will use most, and it is switched on from the start. You never need to click into a command line. **Just start typing** on the drawing: - The command you type appears next to the cursor, with a list of matching commands and what each one does. Press Enter to run it. - Musa CAD's question, the *prompt*, also appears next to the cursor, for example `Specify next point or [Close/Undo]:`. - At a prompt with options, press ↓ (the down arrow) to see the options as a list, and pick one. - While you draw, the length and angle of what you are drawing appear in small boxes. Type a number into them to make it exact. Tab moves between the boxes. [Screenshot: A thick polyline being drawn away from a house plan. Next to the cursor, two boxes show the segment's length and its angle, and a dashed line shows polar tracking holding the segment at 45 degrees.] Prefer the classic command line at the bottom of the window? Press F12. The prompts and commands are exactly the same either way. [Read more about Dynamic Input](https://wiki.musacad.org/user-manual/dynamic-input/). ### Typing rules (the same as AutoCAD) - Type a command's full name or its alias: `LINE` or `L`. - Choose an option by typing its capital letters: `C` for Close, `U` for Undo. - Enter or Space confirms. Esc cancels. - Enter when no command is running repeats the last command. - ↑ and ↓ step through the commands you typed before (at the command line). ## The status bar Along the bottom of the window are the drawing aids. Click one to switch it on or off, or press its key: | Button | Key | What it does | |---|---|---| | OSNAP | F3 | Snaps the cursor to exact points on objects, such as ends, middles and centres | | 3DOSNAP | F4 | 3D object snap. It exists to match AutoCAD; a 2D drawing has nothing for it to snap to | | DUCS | F6 | Dynamic UCS. Also only there to match AutoCAD | | GRID | F7 | Shows the background grid | | ORTHO | F8 | Keeps lines horizontal or vertical | | SNAP | F9 | Makes the cursor jump in fixed steps along the grid | | POLAR | F10 | Guides the cursor along set angles, such as every 45° | | OTRACK | F11 | Guides the cursor along lines through snap points | | DYN | F12 | Dynamic Input: typing at the cursor | When a new version is out, a small notice appears at the right of the status bar. Click it to see how to update. ## The Properties palette Type `PR` (or click **Properties** on the View tab's Palettes panel) to open the **Properties palette** on the right. It shows the selected objects' layer, colour, linetype, lineweight, transparency and size, and you can change any of them there. If you select several objects and a value differs between them, it shows *VARIES*. ## Layers On the Home tab, the **Layers** panel has a drop-down showing the current layer. Click the small icons next to a layer's name to turn it on or off, freeze or thaw it, or lock or unlock it, without closing the list. Type `LA` to open the full Layer Properties Manager. ## The right-click menu Right-click on an empty part of the drawing, with no command running, for quick actions: Repeat the last command, Recent Input, Clipboard, Isolate, Erase, Select Similar, Quick Select, Deselect All, Undo, Redo and Properties. ## Make it yours - **Your own keyboard shortcuts:** type `CUI` (Manage tab ▸ Customization panel). - **Your own command aliases:** type `ALIASEDIT`. It can also read an AutoCAD `acad.pgp` file, so you can bring your aliases with you. - **Show or hide ribbon tabs and panels:** right-click the ribbon. ## Next You know your way around. Try [Dynamic Input](https://wiki.musacad.org/user-manual/dynamic-input/) in more depth, or read [Coming from AutoCAD](https://wiki.musacad.org/get-started/coming-from-autocad/) if you are switching. --- # Coming from AutoCAD URL: https://wiki.musacad.org/get-started/coming-from-autocad/ Checked against: Musa CAD 0.8.0 (complete) **The short answer:** most of what your hands already know works in Musa CAD. Type `L` and you draw a line. Press F8 and ortho turns on. Every edit command starts with `Select objects:`. This page goes through the details: what carries over, where Musa CAD goes further, what is different, and what is not there yet. Every written page in the [command reference](https://wiki.musacad.org/reference/) also ends with its own **Compared with AutoCAD** section, so you can check any command in detail. ## What works the same | Your habit | In Musa CAD | |---|---| | **Typing commands and aliases** | The same names and aliases: `L`, `C`, `PL`, `A`, `REC`, `E`, `M`, `CO`, `RO`, `SC`, `MI`, `O`, `TR`, `EX`, `F`, `CHA`, `H`, `DLI`, `MT`, `B`, `I`, `X`, `LA`, `Z`, `U` and the rest. Capital or small letters both work, and a list of matches appears as you type. | | **The prompts** | `Specify next point or [Close/Undo]:` and so on, with the same options. Options are in square brackets, the default is in angle brackets. Enter repeats the last command, Esc cancels. | | **Selecting objects** | Click to pick. Click two corners for a box: left to right for a window, right to left for a crossing. Press and drag for a lasso. Shift+click removes an object. Ctrl+A selects everything. At `Select objects:` you can type Window, Crossing, Fence, WPolygon, CPolygon, ALL, Last, Previous, Add, Remove, Undo and the other keywords. Selecting first and then running a command also works. | | **Coordinates** | `10,20`, `@30,0` (relative), `@30<45` (polar), and `#` for absolute inside Dynamic Input. Feet, inches and fractions work at every prompt. | | **The ribbon** | Home, Insert, Annotate, Parametric, View, Manage and Output, with AutoCAD's panels in AutoCAD's places. | | **Function keys** | F3 object snap, F7 grid, F8 ortho, F9 snap, F10 polar, F11 object snap tracking, F12 Dynamic Input. Ctrl+Z undoes. Redo is Ctrl+Y on Windows and Ctrl+Shift+Z on Linux. | | **Object snaps** | Running snaps, and one-off snaps typed at a prompt: `END`, `MID`, `CEN`, `INT`, `TAN`, `PER`, `EXT`, `NEA`, `QUA`, `NOD`, `INS`, `APP`, `PAR`, `GCEN`, `NON`. Also `FROM`, `M2P`, `TT`, `TK`, the Shift+right-click snap menu, and the Shift override keys. | | **Grips** | Every object has grips. Drag them to stretch or move; dimensions have a grip on their text. | | **Layers and properties** | The Layer Properties Manager with layer states and filters; `-LAYER` at the command line; LAYISO, LAYOFF, LAYFRZ and the other layer tools; ByLayer and ByBlock. | | **Blocks** | BLOCK, WBLOCK, INSERT, the Block Editor (BEDIT), attributes (ATTDEF, EATTEDIT, BATTMAN, ATTSYNC), REFEDIT, external references (XREF) and images. | | **Dimensions** | Linear, aligned, angular, radius, diameter, jogged, ordinate and arc length; DIMCONTINUE, DIMBASELINE and QDIM; DIMEDIT, DIMTEDIT, DIMSPACE and DIMBREAK; dimensions that follow the objects they measure; the Dimension Style Manager and the DIM variables. | | **Text, leaders and tables** | TEXT with all fifteen justifications, MTEXT and text styles; LEADER, QLEADER and MLEADER with styles; TABLE with styles and links to CSV and Excel files. | | **Layouts and plotting** | Layouts, viewports, MSPACE and PSPACE, page setups, PLOT to PDF or a printer, PREVIEW, PUBLISH and EXPORTPDF. Plot styles are colour-based (CTB): none, monochrome or grayscale. | | **Measuring** | DIST, ID, AREA, LIST, MEASUREGEOM, MASSPROP, TIME, STATUS, CAL and QUICKCALC. | | **Your aliases** | ALIASEDIT can load your `acad.pgp` file. | | **Your shortcuts** | CUI lets you give any command a key, and warns you if the key is already taken. | | **Express Tools** | Many of them: TEXTMASK, TXTEXP, TCOUNT, TEXTFIT, BURST, GATTE, EXTRIM, NCOPY, MOCORO, FLATTEN, VPSYNC, VPSCALE, XLIST, ATTOUT, ATTIN, MPEDIT, DIMEX, DIMIM, TFRAMES. | ## Your everyday commands These are the commands most drafters use every day. All of them are in Musa CAD, under the names you know, and each has a full page. - [LINE](https://wiki.musacad.org/reference/commands/line/) (L): Create a series of straight-line segments (Close, Undo; Enter continues the last line or arc). - [PLINE](https://wiki.musacad.org/reference/commands/pline/) (PL): Draw a connected sequence of line and arc segments as one object (Arc, Close, Length, Undo). - [CIRCLE](https://wiki.musacad.org/reference/commands/circle/) (C): Draw a circle by centre and radius or diameter, two or three points, or tangent to objects. - [ARC](https://wiki.musacad.org/reference/commands/arc/) (A): Draw an arc by three points, or from a start, centre or end with an angle, chord, direction or radius. - [RECTANG](https://wiki.musacad.org/reference/commands/rectang/) (REC, RECTANGLE): Draw a rectangle from two opposite corners. - [POLYGON](https://wiki.musacad.org/reference/commands/polygon/) (POL): Draw a regular polygon by centre or by one edge. - [ELLIPSE](https://wiki.musacad.org/reference/commands/ellipse/) (EL): Draw an ellipse or an elliptical arc. - [SPLINE](https://wiki.musacad.org/reference/commands/spline/) (SPL): Draw a spline through fit points or by control vertices. - [HATCH](https://wiki.musacad.org/reference/commands/hatch/) (H, BHATCH): Fill an enclosed area with a pattern or solid color. - [ERASE](https://wiki.musacad.org/reference/commands/erase/) (E): Delete selected objects from the drawing. - [MOVE](https://wiki.musacad.org/reference/commands/move/) (M): Move selected objects a specified distance and direction. - [COPY](https://wiki.musacad.org/reference/commands/copy/) (CO, CP): Duplicate selected objects at a specified offset. - [ROTATE](https://wiki.musacad.org/reference/commands/rotate/) (RO): Rotate selected objects around a base point. - [SCALE](https://wiki.musacad.org/reference/commands/scale/) (SC): Resize selected objects uniformly about a base point. - [MIRROR](https://wiki.musacad.org/reference/commands/mirror/) (MI): Create a mirror-image copy of objects across an axis. - [OFFSET](https://wiki.musacad.org/reference/commands/offset/) (O): Create a parallel copy of a curve at a specified distance. - [TRIM](https://wiki.musacad.org/reference/commands/trim/) (TR): Trim objects to meet the edges of other objects. - [EXTEND](https://wiki.musacad.org/reference/commands/extend/) (EX): Extend objects to meet the edges of other objects. - [FILLET](https://wiki.musacad.org/reference/commands/fillet/) (F): Round corners between two intersecting lines, arcs, or polylines. - [CHAMFER](https://wiki.musacad.org/reference/commands/chamfer/) (CHA): Bevel corners between two intersecting lines. - [ARRAY](https://wiki.musacad.org/reference/commands/array/) (AR): Create a rectangular, path or polar pattern of copies. - [STRETCH](https://wiki.musacad.org/reference/commands/stretch/) (S): Move the parts of objects inside a crossing window, keeping the rest anchored. - [EXPLODE](https://wiki.musacad.org/reference/commands/explode/) (X): Break compound objects into their components. - [JOIN](https://wiki.musacad.org/reference/commands/join/) (J): Join collinear or connected objects into a single object. - [BREAK](https://wiki.musacad.org/reference/commands/break/) (BR): Break a curve between two points. - [LENGTHEN](https://wiki.musacad.org/reference/commands/lengthen/) (LEN): Change the length of a line or arc. - [PEDIT](https://wiki.musacad.org/reference/commands/pedit/) (PE): Edit a polyline, or several (Multiple): close/open, join, width, vertices, fit, spline, decurve, reverse. - [MATCHPROP](https://wiki.musacad.org/reference/commands/matchprop/) (MA, PAINTER): Copy properties from a source object to one or more target objects. - [U](https://wiki.musacad.org/reference/commands/u/) (UNDO): Reverse the most recent action. - [TEXT](https://wiki.musacad.org/reference/commands/text/) (DT, DTEXT): Create a single-line text object. - [MTEXT](https://wiki.musacad.org/reference/commands/mtext/) (MT, T): Create a multiline (paragraph) text object. - [TEXTEDIT](https://wiki.musacad.org/reference/commands/textedit/) (ED, DDEDIT): Edit the contents of an existing text object. - [DIMLINEAR](https://wiki.musacad.org/reference/commands/dimlinear/) (DLI): Create a horizontal or vertical linear dimension. - [DIMALIGNED](https://wiki.musacad.org/reference/commands/dimaligned/) (DAL): Create a dimension aligned with two points. - [DIMRADIUS](https://wiki.musacad.org/reference/commands/dimradius/) (DRA): Create a radius dimension for a circle or arc. - [DIMDIAMETER](https://wiki.musacad.org/reference/commands/dimdiameter/) (DDI): Create a diameter dimension for a circle or arc. - [DIMANGULAR](https://wiki.musacad.org/reference/commands/dimangular/) (DAN): Create an angular dimension between two lines. - [DIMCONTINUE](https://wiki.musacad.org/reference/commands/dimcontinue/) (DCO): Continue a dimension chain from the last dimension's second extension line. - [MLEADER](https://wiki.musacad.org/reference/commands/mleader/) (MLD): Draw a multileader: an arrowhead, a leader line and a landing, and its text. - [DIMSTYLE](https://wiki.musacad.org/reference/commands/dimstyle/) (D, DST, DDIM): Create and change dimension styles: text, arrows, units and colours, and the current style. - [LAYER](https://wiki.musacad.org/reference/commands/layer/) (LA): Open the Layer Properties Manager. - [BLOCK](https://wiki.musacad.org/reference/commands/block/) (B, -BLOCK): Make the selection a block definition (replaced by an insert). - [INSERT](https://wiki.musacad.org/reference/commands/insert/) (I, -INSERT): Insert a block by name with scale and rotation. - [PROPERTIES](https://wiki.musacad.org/reference/commands/properties/) (PR, PROPS, CH): Open the Properties palette to view and edit object properties. - [OSNAP](https://wiki.musacad.org/reference/commands/osnap/) (OS, DDOSNAP, DS, DSETTINGS, SE, DDRMODES, RM): Open the Drafting Settings: snap and grid, polar tracking, object snaps, dynamic input. - [ZOOM](https://wiki.musacad.org/reference/commands/zoom/) (Z): Zoom in or out to change the view magnification. - [DIST](https://wiki.musacad.org/reference/commands/dist/) (DI): Measure the distance and angle between two points, or along several (Multiple points). - [LIST](https://wiki.musacad.org/reference/commands/list/) (LI): List the selected objects: kind, layer, space, handle, properties, geometry, area and perimeter. - [PLOT](https://wiki.musacad.org/reference/commands/plot/) (PRINT): Plot or print the drawing to paper or PDF. - [QSAVE](https://wiki.musacad.org/reference/commands/qsave/): Save the drawing under its name (Save As the first time). ## Where Musa CAD goes further - **Dynamic Input is on from the start, and it does everything at the cursor.** You type commands, read prompts, pick options with the down arrow and type exact lengths, all next to your cursor. Many AutoCAD users turn Dynamic Input off; in Musa CAD it is the main way to work, and the classic command line is one F12 away. [See how it works](https://wiki.musacad.org/user-manual/dynamic-input/). - **Drawings can be made entirely by programs.** A `.musa` drawing is a plain text file that any script can write. The `musacad` command checks it and prints it to PDF with no window, so it runs in scripts, on servers and with AI agents. The [fabrication pipeline](https://github.com/MusaCAD/fabrication_pipeline) uses this to turn 3D models into finished fabrication drawings with no hand drafting. [See Scripting and automation](https://wiki.musacad.org/scripting/). - **Drawings can be checked automatically.** `musacad --check` finds text that overlaps other text, text that runs outside the sheet's border, and characters the font cannot draw, before a drawing goes out. - **It runs on Linux,** including from Flathub. - **No account, no licence and no tracking.** The only thing it does online is a once-a-day check for a new version, which you can turn off, and downloading the DWG converter when you ask it to. ## What is different - **The native format is `.musa`, not DWG.** It is a readable text file. DXF is read and written directly. DWG goes through the free ODA File Converter, which Musa CAD downloads for you from **DWG Setup**. When a file is imported, Musa CAD tells you anything it could not bring across, rather than dropping it silently. - **The interface is dark,** dialogs included. - **Fonts:** text uses Musa CAD's built-in line font or any TrueType or OpenType font on your computer. SHX font files are not read. A drawing that asks for one is drawn with Musa CAD's own line font, and the Properties palette still shows the font it asked for. See [Images and fonts](https://wiki.musacad.org/file-formats/images-and-fonts/). - **New releases change the file format.** A file saved by a newer version needs that version or newer to open. Older files always open. - **Arrays are plain copies.** ARRAY makes ordinary objects, not an associative array, so there is no ARRAYEDIT. Change one copy and the others stay as they are. - **Dimension variables change the style.** Typing `DIMTXT` or another dimension variable changes the current dimension style itself, where AutoCAD would keep it as an override. To give one dimension a setting of its own, use DIMOVERRIDE or the Properties palette. - **Blocks hold the common objects.** A block can contain lines, arcs, circles, polylines, text, multiline text, attributes and other blocks. Hatches, dimensions and other objects stay outside the block when you make it, and Musa CAD says how many. - **Plot styles are three built-in choices:** in colour, monochrome or grayscale. CTB and STB files are not read. - **Musa CAD 0.8.0 does not save automatically.** Save often with Ctrl+S. ## What is not there yet - **3D.** Musa CAD is for 2D only. - **AutoLISP, VBA, .NET and ObjectARX.** None of these run inside Musa CAD. Automation is done from outside, by programs that write drawings and call the `musacad` command. For many jobs this goes further than a LISP routine: it can build a whole drawing set. See [Scripting and automation](https://wiki.musacad.org/scripting/). - **Parametric constraints.** The Parametric tab is there, but its buttons are greyed out, and each tooltip says the tool is not built yet. - **Sheet sets, dynamic blocks, annotative objects, named plot styles (STB) and real SHX fonts** are not in version 0.8.0. - **Every last option.** Most draw, modify and annotate commands follow AutoCAD option for option, but some settings are still to come. The [command status table](https://wiki.musacad.org/reference/command-status/) tracks every command, and the [AutoCAD settings status](https://wiki.musacad.org/reference/autocad-settings-status/) tracks the dimension style and options settings one by one. The [roadmap](https://wiki.musacad.org/project/roadmap/) lists what is still missing, theme by theme, with an issue for each. ## Bring your work across 1. **Your files.** Choose **Import ▸ DXF…** from the application menu for DXF files. For DWG, open **DWG Setup…** once and let it download the converter, then choose **Import ▸ DWG…** to open a drawing. Read the import message: it lists anything that could not be brought across. [Moving projects from AutoCAD](https://wiki.musacad.org/file-formats/from-autocad/) goes through this in detail. 2. **Your aliases.** Type `ALIASEDIT` and load your `acad.pgp`. 3. **Your keyboard shortcuts.** Type `CUI` and set the keys you are used to. 4. **Your habits.** Nothing to do. Type `L` and draw a line. ## Next - Learn the tool that makes Musa CAD different: [Dynamic Input](https://wiki.musacad.org/user-manual/dynamic-input/). - Read the [User manual](https://wiki.musacad.org/user-manual/) for how each kind of work is done. - For a short side-by-side summary, see [Musa CAD as an AutoCAD alternative](https://musacad.org/autocad-alternative/) on the main website. --- # User manual URL: https://wiki.musacad.org/user-manual/ Checked against: Musa CAD 0.8.0 (complete) The user manual is organised by what you are trying to do, not by menu. Each chapter explains how the tools for one job fit together, and links to the [command reference](https://wiki.musacad.org/reference/) for every detail of each command. New to Musa CAD? Start with [Your first drawing](https://wiki.musacad.org/get-started/first-drawing/), then read the chapters in order. Each one builds on the one before. - [Drawing](https://wiki.musacad.org/user-manual/drawing/): How commands and prompts work, and the tools for lines, polylines, circles, arcs, curves and hatches. - [Modifying](https://wiki.musacad.org/user-manual/modifying/): Selecting objects, grips, moving and copying, trimming and filleting, properties, undo. - [Precision and drafting aids](https://wiki.musacad.org/user-manual/precision/): Typed coordinates, object snaps, FROM and tracking, ortho, polar, grid and snap, measuring. - [Dynamic Input](https://wiki.musacad.org/user-manual/dynamic-input/): Type commands, options and exact sizes right at the cursor. The fastest way to draw in Musa CAD. - [Annotation](https://wiki.musacad.org/user-manual/annotation/): Text and symbols, dimensions and dimension styles, leaders, tables and GD&T. - [Organising a drawing](https://wiki.musacad.org/user-manual/organising/): Layers, colours, linetypes and lineweights, blocks and attributes, external references and groups. - [Layouts, viewports and plotting](https://wiki.musacad.org/user-manual/layouts-and-plotting/): Sheets, viewports at a scale, page setups, the Plot window and PDF output. - [Working with files](https://wiki.musacad.org/user-manual/files/): Opening and saving, drawing tabs, copying between drawings, DXF, DWG and PDF. - [Settings and system variables](https://wiki.musacad.org/user-manual/settings/): The settings windows, system variables, and where your own settings are kept. - [Customising](https://wiki.musacad.org/user-manual/customising/): Your own shortcuts and aliases, your acad.pgp, workspaces and palettes. --- # Drawing URL: https://wiki.musacad.org/user-manual/drawing/ Checked against: Musa CAD 0.8.0 (complete) Everything in a drawing is made by a command. This chapter shows how commands talk to you, then walks through the tools for each kind of shape. ## How commands work Type a command's name, or its short alias, and press Enter. `L` starts LINE, `C` starts CIRCLE, `REC` starts RECTANG. You don't need to click in a box first: with [Dynamic Input](https://wiki.musacad.org/user-manual/dynamic-input/) on, what you type appears next to the cursor. The ribbon buttons start the same commands. The command then asks you questions, one at a time. Each question is a **prompt**: ```musacad Command: C Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: 30,40 Specify radius of circle or [Diameter] <10.0000>: ↵ ``` - **Square brackets** list the options. Type the capital letters of one to choose it: `D` for Diameter, `T` for Ttr. Some options have their capital letters in the middle, such as `cuTting edges`, where you type `T`. - **Angle brackets** show a default. Press Enter to accept it. - **Points** can be clicked or typed. [Precision and drafting aids](https://wiki.musacad.org/user-manual/precision/) explains every way to give an exact point. A few keys work the same in every command: | Key | What it does | |---|---| | Enter | Accepts what you typed, or the default. At a prompt that repeats, such as LINE's next point, it ends the command. | | Space | The same as Enter, except while you are typing text. | | Esc | Cancels the command. What it already drew stays. | | Enter with no command running | Starts the last command again. | | Right-click during a command | The same as Enter. | | Right-click with no command running | A menu with **Repeat** for the last command, recent input, the clipboard and selection tools. | Undo a whole command with [U](https://wiki.musacad.org/reference/commands/u/) or Ctrl+Z. To run any command over and over until you press Esc, type `MULTIPLE` and then the command's name. ## Lines and polylines A **line** is a single straight segment. LINE keeps going, so one command can draw many lines, but each segment is its own object. A **polyline** is one object made of straight and curved segments. Select it and the whole outline is selected. Polylines can have widths, can be closed, and can be offset, filleted and measured as one shape. Use PLINE for outlines you will treat as one part. RECTANG and POLYGON also make closed polylines. - [LINE](https://wiki.musacad.org/reference/commands/line/) (L): Create a series of straight-line segments (Close, Undo; Enter continues the last line or arc). - [PLINE](https://wiki.musacad.org/reference/commands/pline/) (PL): Draw a connected sequence of line and arc segments as one object (Arc, Close, Length, Undo). - [RECTANG](https://wiki.musacad.org/reference/commands/rectang/) (REC, RECTANGLE): Draw a rectangle from two opposite corners. - [POLYGON](https://wiki.musacad.org/reference/commands/polygon/) (POL): Draw a regular polygon by centre or by one edge. - [MLINE](https://wiki.musacad.org/reference/commands/mline/) (ML): Draw a multiline: parallel lines along a path, in a multiline style ([Justification/Scale/STyle]). - [TRACE](https://wiki.musacad.org/reference/commands/trace/): Draw wide line segments (a polyline with a width). - [SKETCH](https://wiki.musacad.org/reference/commands/sketch/): Draw freehand: press and drag; each stroke becomes lines, a polyline or a spline. - [BREAKLINE](https://wiki.musacad.org/reference/commands/breakline/): Draw a break line: a polyline with a zigzag break symbol. - [REVCLOUD](https://wiki.musacad.org/reference/commands/revcloud/): Draw a revision cloud, or turn an object into one. ## Circles, arcs and curves - [CIRCLE](https://wiki.musacad.org/reference/commands/circle/) (C): Draw a circle by centre and radius or diameter, two or three points, or tangent to objects. - [ARC](https://wiki.musacad.org/reference/commands/arc/) (A): Draw an arc by three points, or from a start, centre or end with an angle, chord, direction or radius. - [ELLIPSE](https://wiki.musacad.org/reference/commands/ellipse/) (EL): Draw an ellipse or an elliptical arc. - [DONUT](https://wiki.musacad.org/reference/commands/donut/) (DO): Draw a filled ring (or disc) from inside/outside diameters. - [SPLINE](https://wiki.musacad.org/reference/commands/spline/) (SPL): Draw a spline through fit points or by control vertices. - [BLEND](https://wiki.musacad.org/reference/commands/blend/): A spline joining the ends of two objects, tangent (or smooth) to both. CIRCLE remembers the last radius and offers it as the default next time. ARC has many ways to start: three points, or a start, a centre or an end followed by an angle, a length or a direction. Its page lists them all. ## Hatches and fills A hatch fills an area with a pattern, a solid colour or a gradient. The easiest way is to click inside a closed area: Musa CAD finds the boundary around the point, and leaves holes such as circles inside unfilled. You can also select closed objects as the boundary. Hatches are drawn as real lines in a plot, so a PDF stays sharp at any zoom. - [HATCH](https://wiki.musacad.org/reference/commands/hatch/) (H, BHATCH): Fill an enclosed area with a pattern or solid color. - [GRADIENT](https://wiki.musacad.org/reference/commands/gradient/) (GD): Fill an enclosed area or selected objects with a gradient. - [HATCHEDIT](https://wiki.musacad.org/reference/commands/hatchedit/) (HE): Edit a hatch: its pattern, scale and angle, or a new boundary round it. - [BOUNDARY](https://wiki.musacad.org/reference/commands/boundary/) (BO, -BOUNDARY): Closed polylines round the area enclosing a point, and its islands. - [SOLID](https://wiki.musacad.org/reference/commands/solid/) (SO): Draw filled triangles and quadrilaterals. - [WIPEOUT](https://wiki.musacad.org/reference/commands/wipeout/): Mask what lies beneath a polygon (text still shows through); [Frames] and [Polyline]. ## Construction lines, points and centre marks Construction lines run forever in one or both directions. They are useful as guides while you lay out a drawing. Points mark positions, and can be shown as a dot, a cross or other shapes. - [XLINE](https://wiki.musacad.org/reference/commands/xline/) (XL): Draw an infinite construction line. - [RAY](https://wiki.musacad.org/reference/commands/ray/): Draw a semi-infinite construction line. - [POINT](https://wiki.musacad.org/reference/commands/point/) (PO): Place point objects; Esc ends. - [DIVIDE](https://wiki.musacad.org/reference/commands/divide/) (DIV): Mark a curve into a number of equal segments with points. - [MEASURE](https://wiki.musacad.org/reference/commands/measure/) (ME): Mark a curve at set intervals with points. - [CENTERLINE](https://wiki.musacad.org/reference/commands/centerline/) (CL): Draw the centre line between two lines. - [CENTERMARK](https://wiki.musacad.org/reference/commands/centermark/) (CM): Mark the centres of circles and arcs, with centre lines. ## Next - Change what you drew in [Modifying](https://wiki.musacad.org/user-manual/modifying/). - Place points exactly with [Precision and drafting aids](https://wiki.musacad.org/user-manual/precision/). - Every drawing command, with every option, is in the [command reference](https://wiki.musacad.org/reference/). --- # Modifying URL: https://wiki.musacad.org/user-manual/modifying/ Checked against: Musa CAD 0.8.0 (complete) Most of the time in CAD is spent changing what is already there. This chapter covers how to choose objects, then the tools that move, copy and reshape them. ## Selecting objects You can select first and then start a command, or start a command and select when it asks `Select objects:`. Both work the same. | To select | Do this | |---|---| | One object | Click it. Each click adds to the selection. | | Everything inside an area | Click an empty spot, then click a second corner to the **right**. Only objects completely inside the box are selected (a **window**). | | Everything the area touches | Click an empty spot, then click a second corner to the **left**. Objects inside the box or crossing its edge are selected (a **crossing**). | | Inside a freehand shape | Press the mouse button on an empty spot and drag around the objects. This draws a **lasso**: dragged to the right it selects like a window, to the left like a crossing. Press Space while dragging to switch between window, crossing and fence. | | Everything | Ctrl+A with no command running. | | Less | Shift+click a selected object to remove it. | | Nothing | Esc. | As the cursor passes over an object, it is highlighted, so you can see what a click will pick. If you prefer to drag boxes instead of clicking two corners, set [PICKDRAG](https://wiki.musacad.org/reference/system-variables/pickdrag/) to `1`. In version 0.8.0 it goes back to `2` the next time Musa CAD starts. When a command asks `Select objects:`, keep selecting, then press Enter or right-click to finish. You can also type a selection keyword there, such as `ALL`, `L` for the last object drawn, `P` for the previous selection, or `F` for a fence. [SELECT](https://wiki.musacad.org/reference/commands/select/) lists them all. To select by kind and property, such as every circle on one layer, use these: - [SELECT](https://wiki.musacad.org/reference/commands/select/): Select objects with AutoCAD's keywords (Window, Crossing, Fence, WPolygon, ALL, Last, Previous ...); the set stays for the next command. - [QSELECT](https://wiki.musacad.org/reference/commands/qselect/): Select by object type and property (the Quick Select dialog). - [SELECTSIMILAR](https://wiki.musacad.org/reference/commands/selectsimilar/): Select every object of the same kind and properties as the selected ones (SELECTSIMILARMODE). - [FILTER](https://wiki.musacad.org/reference/commands/filter/) (FI): Select by several type and property conditions at once. ## Grips Selected objects show small squares called **grips** at their key points: the ends and middle of a line, the centre and quadrants of a circle, each vertex of a polyline. Click a grip and move the cursor to stretch the object from that point. Click again, or type a point, to place it. While a grip is active, press Enter or Space to step through the other grip modes: **STRETCH**, **MOVE**, **ROTATE**, **SCALE** and **MIRROR**. Type `C` to make copies instead of moving the original, `B` to choose another base point, and `X` to stop. Right-click a polyline's grip for a menu of what that grip can do, such as adding or removing a vertex. ## Move, copy and transform These commands select objects, then ask for a base point and a second point. The objects move or copy by the distance and direction between the two. - [MOVE](https://wiki.musacad.org/reference/commands/move/) (M): Move selected objects a specified distance and direction. - [COPY](https://wiki.musacad.org/reference/commands/copy/) (CO, CP): Duplicate selected objects at a specified offset. - [ROTATE](https://wiki.musacad.org/reference/commands/rotate/) (RO): Rotate selected objects around a base point. - [SCALE](https://wiki.musacad.org/reference/commands/scale/) (SC): Resize selected objects uniformly about a base point. - [MIRROR](https://wiki.musacad.org/reference/commands/mirror/) (MI): Create a mirror-image copy of objects across an axis. - [STRETCH](https://wiki.musacad.org/reference/commands/stretch/) (S): Move the parts of objects inside a crossing window, keeping the rest anchored. - [ARRAY](https://wiki.musacad.org/reference/commands/array/) (AR): Create a rectangular, path or polar pattern of copies. - [ALIGN](https://wiki.musacad.org/reference/commands/align/) (AL): Move, rotate and optionally scale a selection onto two destination points. - [MOCORO](https://wiki.musacad.org/reference/commands/mocoro/): Move, rotate and scale the selection in one command, with copies if asked. - [ERASE](https://wiki.musacad.org/reference/commands/erase/) (E): Delete selected objects from the drawing. - [OOPS](https://wiki.musacad.org/reference/commands/oops/): Bring back the objects the last ERASE removed, keeping everything done since. ## Change shapes - [TRIM](https://wiki.musacad.org/reference/commands/trim/) (TR): Trim objects to meet the edges of other objects. - [EXTEND](https://wiki.musacad.org/reference/commands/extend/) (EX): Extend objects to meet the edges of other objects. - [OFFSET](https://wiki.musacad.org/reference/commands/offset/) (O): Create a parallel copy of a curve at a specified distance. - [FILLET](https://wiki.musacad.org/reference/commands/fillet/) (F): Round corners between two intersecting lines, arcs, or polylines. - [CHAMFER](https://wiki.musacad.org/reference/commands/chamfer/) (CHA): Bevel corners between two intersecting lines. - [BREAK](https://wiki.musacad.org/reference/commands/break/) (BR): Break a curve between two points. - [BREAKATPOINT](https://wiki.musacad.org/reference/commands/breakatpoint/): Split a curve at one point, leaving no gap. - [JOIN](https://wiki.musacad.org/reference/commands/join/) (J): Join collinear or connected objects into a single object. - [LENGTHEN](https://wiki.musacad.org/reference/commands/lengthen/) (LEN): Change the length of a line or arc. - [EXPLODE](https://wiki.musacad.org/reference/commands/explode/) (X): Break compound objects into their components. - [PEDIT](https://wiki.musacad.org/reference/commands/pedit/) (PE): Edit a polyline, or several (Multiple): close/open, join, width, vertices, fit, spline, decurve, reverse. - [SPLINEDIT](https://wiki.musacad.org/reference/commands/splinedit/) (SPE): Edit a spline: its control points, reverse it, or make it a polyline. - [REVERSE](https://wiki.musacad.org/reference/commands/reverse/): Make lines, polylines and splines run the other way. - [OVERKILL](https://wiki.musacad.org/reference/commands/overkill/) (-OVERKILL): Delete duplicate objects and combine overlapping collinear lines. TRIM and EXTEND are the two you will use most. Both start in **Quick** mode, where every object is an edge and you just click the part to cut off or lengthen. Hold Shift to switch between them while you work. ## Change properties Every object has a layer, a colour, a linetype, a lineweight and more. Usually these come from its layer ("ByLayer"). - The **Properties** palette (`PR`) shows the properties of the selection and lets you change any of them. - **Match Properties** (`MA`) copies properties from one object to others. - To move objects to another layer, select them and change **Layer** in the Properties palette, or use [LAYMCH](https://wiki.musacad.org/reference/commands/laymch/) to match the layer of an object you pick. - [PROPERTIES](https://wiki.musacad.org/reference/commands/properties/) (PR, PROPS, CH): Open the Properties palette to view and edit object properties. - [MATCHPROP](https://wiki.musacad.org/reference/commands/matchprop/) (MA, PAINTER): Copy properties from a source object to one or more target objects. - [CHPROP](https://wiki.musacad.org/reference/commands/chprop/): Change objects' colour, layer, linetype, linetype scale or lineweight at the command line. - [CHANGE](https://wiki.musacad.org/reference/commands/change/) (-CH): Change lines' ends, circles' radii, texts and blocks by a point, or their properties. - [COPYTOLAYER](https://wiki.musacad.org/reference/commands/copytolayer/): Copy objects to another layer, in place or moved. - [DRAWORDER](https://wiki.musacad.org/reference/commands/draworder/) (DR): Draw the objects selected over or under the rest: Front, Back, or above or under objects you pick. ## Undo and redo Ctrl+Z or `U` undoes the last command. Redo puts it back. Inside many commands, such as LINE and TRIM, the **Undo** option takes back just the last step without leaving the command. - [U](https://wiki.musacad.org/reference/commands/u/) (UNDO): Reverse the most recent action. - [REDO](https://wiki.musacad.org/reference/commands/redo/): Redo the last step undone. - [MREDO](https://wiki.musacad.org/reference/commands/mredo/): Redo several undone steps, or all of them. ## Next - Place points exactly while you edit with [Precision and drafting aids](https://wiki.musacad.org/user-manual/precision/). - Keep a drawing tidy with layers and blocks in [Organising a drawing](https://wiki.musacad.org/user-manual/organising/). --- # Precision and drafting aids URL: https://wiki.musacad.org/user-manual/precision/ Checked against: Musa CAD 0.8.0 (complete) A CAD drawing is only useful if its sizes are exact. Musa CAD gives you several ways to put a point exactly where it belongs. You can mix them freely, even within one command. ## Type the coordinates Whenever a command asks for a point, you can type it instead of clicking: | You type | The point is | |---|---| | `40,25` | at X 40, Y 25, measured from the drawing's origin. | | `@100,0` | 100 to the right of the last point and 0 up. The `@` means "from the last point". | | `@50<30` | 50 away from the last point, in the direction 30 degrees. Angles go anticlockwise from the right. | | `50<30` | 50 from the origin, at 30 degrees. | | `50` | 50 along the direction the cursor points from the last point. This is called **direct distance entry**. | | `@` | the last point itself. | | `#40,25` | at X 40, Y 25 from the origin, even where Dynamic Input would read it as relative. | Lengths can also be typed as fractions or in feet and inches, such as `12 3/8` or `1'-6"`. A foot counts as twelve drawing units. After a typed point, Musa CAD repeats the point it understood on the next line, for example `= 100, 60 (relative @100, 0)`. If you typed something it cannot read, it says why and asks again. With [Dynamic Input](https://wiki.musacad.org/user-manual/dynamic-input/) on, you type lengths and angles into boxes next to the cursor instead. Press Tab to move between them. ## Object snaps Object snaps lock the cursor onto exact places on objects you already drew, such as the end of a line or the centre of a circle. When the cursor comes near one, a marker appears. Click, and the point is exactly there. **Running snaps** work all the time while object snap is on. Press F3 to turn them on or off, and type `OS` to choose which ones run. To begin with, Endpoint, Center, Intersection and Extension are on. To use a snap **for one point only**, type its keyword when a command asks for a point, then click. You can also hold Shift and right-click to choose a snap from a menu. | Keyword | Snaps to | |---|---| | `END` | the nearest end of a line, arc or segment | | `MID` | the middle of a line, arc or segment | | `CEN` | the centre of a circle, arc or ellipse | | `GCEN` | the centre of a closed polyline | | `NOD` | a point object | | `QUA` | a quadrant of a circle or arc: its top, bottom, left or right | | `INT` | where two objects cross | | `APP` | where two objects would cross if they were extended | | `EXT` | along the extension of a line or arc, past its end | | `INS` | the insertion point of a block or text | | `PER` | the point that makes a right angle with an object | | `TAN` | the point where a line would touch a circle or arc | | `PAR` | a direction parallel to a line | | `NEA` | the nearest point on an object | | `NONE` | no snap for this point, even if running snaps are on | ## Points from other points These words also work at any point prompt: - **`FROM`**: pick a base point, then type an offset from it, such as `@20,10`. Useful when the point you need is a set distance from a corner. - **`M2P`**: pick two points; the point is exactly halfway between them. - **`TK`**: tracking. Pick a series of points; each one moves along X or Y from the last. Press Enter to use the last one. - **`TT`**: pick a temporary point to track from, then move along a tracking line from it. ## Ortho, polar tracking and object snap tracking | Aid | Key | What it does | |---|---|---| | Ortho | F8 | Keeps the cursor to horizontal and vertical moves from the last point. | | Polar tracking | F10 | Shows a tracking line when the cursor is near one of the polar angles, every 90 degrees to begin with. Change the increment from the status bar or with `POLARANG`. | | Object snap tracking | F11 | Rest the cursor on a snap point for a moment, then move away: tracking lines run from it, so you can line a new point up with it. | With any of these showing a direction, type a length and press Enter. The point goes that far along it. ## Grid and snap The grid is a pattern of lines in the background, to help you judge sizes. Snap makes the cursor jump in steps. | Aid | Key | Command | |---|---|---| | Grid | F7 | [GRID](https://wiki.musacad.org/reference/commands/grid/) sets the spacing, major lines and how it adapts as you zoom. | | Snap | F9 | [SNAP](https://wiki.musacad.org/reference/commands/snap/) sets the step. | [LIMITS](https://wiki.musacad.org/reference/commands/limits/) can mark the edges of your drawing area. With checking on, points outside them are refused. ## The settings in one place The Drafting Settings window (`DS` or `OS`) has a tab for each aid: snap and grid, polar tracking, object snaps, and Dynamic Input. - [OSNAP](https://wiki.musacad.org/reference/commands/osnap/) (OS, DDOSNAP, DS, DSETTINGS, SE, DDRMODES, RM): Open the Drafting Settings: snap and grid, polar tracking, object snaps, dynamic input. - [ORTHO](https://wiki.musacad.org/reference/commands/ortho/): Turn orthogonal drawing on or off (F8). - [GRID](https://wiki.musacad.org/reference/commands/grid/): Show or hide the grid (F7). - [SNAP](https://wiki.musacad.org/reference/commands/snap/) (SN): Set the snap spacing, or turn grid snap on or off (F9). - [LIMITS](https://wiki.musacad.org/reference/commands/limits/): The drawing's limits, and whether points outside them are refused. - [UNITS](https://wiki.musacad.org/reference/commands/units/) (UN): Set the display format and precision of lengths and angles (the Drawing Units dialog). ## Measure what you drew - [DIST](https://wiki.musacad.org/reference/commands/dist/) (DI): Measure the distance and angle between two points, or along several (Multiple points). - [ID](https://wiki.musacad.org/reference/commands/id/): Report the coordinates of a point. - [AREA](https://wiki.musacad.org/reference/commands/area/) (AA): The area and perimeter of an object or of picked points (Arc, Length, Undo), with Add and Subtract running totals. - [MEASUREGEOM](https://wiki.musacad.org/reference/commands/measuregeom/) (MEA): Measure Distance, Radius, Angle, ARea or Volume, or click objects in Quick mode. - [LIST](https://wiki.musacad.org/reference/commands/list/) (LI): List the selected objects: kind, layer, space, handle, properties, geometry, area and perimeter. - [MASSPROP](https://wiki.musacad.org/reference/commands/massprop/): The area, perimeter, bounding box, centroid, moments of inertia and radii of gyration of closed shapes. - [CAL](https://wiki.musacad.org/reference/commands/cal/): Evaluate an expression: arithmetic, sin/cos/tan, sqrt, [x,y] points, dist, ang, vec, cvunit. - [QUICKCALC](https://wiki.musacad.org/reference/commands/quickcalc/) (QC): The calculator palette: a number pad, scientific functions and unit conversion. ## Next - Learn the keys for typing at the cursor in [Dynamic Input](https://wiki.musacad.org/user-manual/dynamic-input/). - Add sizes to the drawing in [Annotation](https://wiki.musacad.org/user-manual/annotation/). --- # Dynamic Input URL: https://wiki.musacad.org/user-manual/dynamic-input/ Checked against: Musa CAD 0.8.0 (complete) **Dynamic Input** means you work at the cursor. You type commands there, read the prompt there, pick options there, and type exact sizes there. Your eyes stay on the drawing instead of going back and forth to a command line at the bottom of the screen. It is how Musa CAD works from the first time you start it, and it is the biggest difference you will notice from other 2D CAD programs. It feels like AutoCAD's hands-on way of working, with everything brought to where you are looking. ## Switch it on or off Dynamic Input is **on** in a new installation. Turn it on or off in any of these ways: - Press F12. - Click **DYN** on the status bar at the bottom of the window. - Type `DS` to open Drafting Settings, go to the **Dynamic Input** tab, and tick or untick **Enable Dynamic Input (F12)**. Musa CAD remembers your choice the next time it starts. When Dynamic Input is off, the classic command line appears at the bottom of the window. Both show exactly the same prompts and accept exactly the same input, so you can switch whenever you like. ## Start a command [Screenshot: REC typed in a small box beside the crosshair on a house plan. Under the box, a list offers RECTANG and RECTANGLE, each with a one-line description.] When no command is running, **just start typing** on the drawing. You do not need to click first. 1. A small box appears at the cursor with what you type. 2. Under it, a list shows the commands whose name or alias starts with those letters, each with a short description. 3. Use ↓ and ↑ (or Tab) to choose one, and press Enter to run it. Or keep typing the full alias and press Enter. 4. Esc clears what you typed. ## Answer the prompts Once a command starts, its prompt appears next to the cursor, for example: ```musacad Specify next point or [Close/Undo]: ``` - **Type a value** and press Enter or Space. - **Choose an option** by typing its capital letters (`C` for Close), or press ↓ to see the options as a list at the cursor and pick one. - **Accept the default** shown in angle brackets, like `<10.0000>`, by pressing Enter without typing anything. - **Cancel** with Esc. It always cancels the command, even if you have half-typed a value. ## Type exact sizes while you draw [Screenshot: A thick polyline being drawn away from a house plan. Next to the cursor, two boxes show the segment's length and angle, and a dashed line shows polar tracking holding the segment at 45 degrees.] While you draw, Musa CAD shows the size of what you are drawing in small boxes stuck to the shape: | Command | The boxes show | |---|---| | LINE, PLINE | the length and the angle of the segment | | CIRCLE | the radius | | RECTANG | the width and the height | You do not need to click into a box. Just type a number and it goes into the first box. Then: - Tab moves to the next box, and Shift+Tab moves back. - A value you type is **locked**, and the mouse still controls the other boxes. Type a length of `50`, then swing the mouse to choose the direction. - Enter or Space commits the values and the command carries on, ready for the next point. - Pressing Enter with nothing typed ends the step. At LINE's next-point prompt, that ends the command. - Ortho, polar tracking and snaps still apply, so a typed length follows the angle they give. Other commands show their prompt and value at the cursor in the same way. The boxes stuck to the shape are available for LINE, PLINE, CIRCLE and RECTANG in version 0.8.0. ## Type coordinates (pointer input) Wherever Musa CAD asks for a point, the cursor's position is shown next to it. - Type the X value, press Tab, and type the Y value. - For a **second or later point**, what you type is measured **from the previous point**. So `10,5` means `@10,5`, 10 units right and 5 up from the last point. This matches AutoCAD. - Put `#` in front for an **absolute** point on the drawing, for example `#10,5`. - Put `@` in front to make a point relative either way. - `50<45` means 50 units at 45 degrees. Two settings change this. `DYNPICOORDS` set to `1` makes second points absolute too. `DYNPIFORMAT` set to `1` shows the next point as `x,y` instead of `distanceTab to move between the values. `DYNDIGRIP` and `DYNDIVIS` choose which values appear. ## Every key at a glance | Key | What it does with Dynamic Input on | |---|---| | any letter | starts typing a command at the cursor (when no command is running) | | Enter or Space | runs the command, or commits what you typed; with nothing typed, ends the step | | Esc | cancels the command, always | | Tab / Shift+Tab | moves between the value boxes | | ↓ | at a prompt with options, lists the options at the cursor | | ↑ ↓ | in the command list, choose a command | | F12 | switches Dynamic Input on or off | ## The settings Type a setting's name to change it, or open its page for the details. | Setting | What it controls | Fresh install | |---|---|---| | [`DYNMODE`](https://wiki.musacad.org/reference/system-variables/dynmode/) | Which parts are on: 1 pointer input (coordinates), 2 dimensional input (the size boxes), 3 both, 0 off. A negative value is off until you press F12. | 3 | | [`DYNPROMPT`](https://wiki.musacad.org/reference/system-variables/dynprompt/) | Show the command's prompt at the cursor (1) or only the value (0). | 1 | | [`DYNPICOORDS`](https://wiki.musacad.org/reference/system-variables/dynpicoords/) | Second and later points relative (0) or absolute (1). | 0 | | [`DYNPIFORMAT`](https://wiki.musacad.org/reference/system-variables/dynpiformat/) | Show the next point as distance and angle (0) or as x,y (1). | 0 | | [`DYNDIGRIP`](https://wiki.musacad.org/reference/system-variables/dyndigrip/) | Which values show while you drag a grip: 1 resulting length, 2 length change, 4 absolute angle, 8 angle change, 16 arc radius. Add them up. | 31 | | [`DYNDIVIS`](https://wiki.musacad.org/reference/system-variables/dyndivis/) | How many grip values show: 0 the length change only, 1 the change and the result, 2 everything DYNDIGRIP asks for. | 1 | All six settings are kept between sessions, along with the on/off state. ## Tips - **Never reach for the mouse to type a number.** Start typing as soon as the prompt appears. - **Learn the aliases.** `L`, `C`, `REC`, `TR`, `O`, `F`, `M`, `CO`. The list under the cursor shows them as you type, so you pick them up as you go. - **Use ↓ for options.** You do not need to remember that Ttr is "tan tan radius"; press ↓ and pick it. - **Mix the two ways.** Type a length, then let the mouse and polar tracking choose the angle. ## Next - Try it in [Your first drawing](https://wiki.musacad.org/get-started/first-drawing/). - See every command and its alias in the [command reference](https://wiki.musacad.org/reference/). --- # Annotation URL: https://wiki.musacad.org/user-manual/annotation/ Checked against: Musa CAD 0.8.0 (complete) Annotation is everything that explains a drawing: notes, sizes, labels, tables and tolerances. This chapter shows which tool to use for each. ## Text Musa CAD has two kinds of text: - **Single-line text** (`DT` for TEXT). Each line is its own object. Good for labels and short notes. Press Enter at the end of a line to start the next one below it. - **Multiline text** (`MT` for MTEXT). One object holding a whole paragraph, which wraps to a width you set. Good for longer notes. It keeps formatting such as heights, colours, fonts, underlines and stacked fractions. Double-click a text, or type `ED`, to change its words. ### Symbols Type these codes in any text and Musa CAD draws the symbol: | Type | To get | |---|---| | `%%d` | ° (degrees) | | `%%p` | ± (plus or minus) | | `%%c` | ⌀ (diameter) | | `%%%` | a single % | | `\U+` and four hex digits, such as `\U+2300` | any Unicode character | The codes are kept as you typed them, so the text saves and exchanges with other CAD programs unchanged. ### Text styles and fonts A **text style** names a font, a height, a width factor and a slant. Every text uses a style. The `Standard` style uses Musa CAD's own single-stroke font, which looks like classic CAD lettering and plots crisply. A style can also use any TrueType or OpenType font on your computer. - [TEXT](https://wiki.musacad.org/reference/commands/text/) (DT, DTEXT): Create a single-line text object. - [MTEXT](https://wiki.musacad.org/reference/commands/mtext/) (MT, T): Create a multiline (paragraph) text object. - [TEXTEDIT](https://wiki.musacad.org/reference/commands/textedit/) (ED, DDEDIT): Edit the contents of an existing text object. - [STYLE](https://wiki.musacad.org/reference/commands/style/) (ST): Create or change a named text style and make it current. - [FIND](https://wiki.musacad.org/reference/commands/find/): Find text in the drawing and replace it. - [SCALETEXT](https://wiki.musacad.org/reference/commands/scaletext/): Scale the selected text, each about a point of its own. - [JUSTIFYTEXT](https://wiki.musacad.org/reference/commands/justifytext/): Change the justification of the selected text without moving it. - [TXT2MTXT](https://wiki.musacad.org/reference/commands/txt2mtxt/): Convert the selected single-line text to one multiline text. - [TCASE](https://wiki.musacad.org/reference/commands/tcase/): Change the case of the selected text: Sentence, lower, UPPER, Title or tOGGLE. - [TEXTMASK](https://wiki.musacad.org/reference/commands/textmask/): Put a wipeout behind the selected text. - [FIELD](https://wiki.musacad.org/reference/commands/field/): Place text showing the date, time, file name or login, refreshed on regen. ## Dimensions Dimensions show sizes. Musa CAD measures each one from the points it is attached to, so the number is always right. When you move or stretch what a dimension measures, the dimension follows. The quickest way: type `DIM`, then click an object. Musa CAD picks a suitable kind for it, such as a linear dimension for a line or a radius for an arc. For full control, use a command for each kind: - [DIM](https://wiki.musacad.org/reference/commands/dim/): Create a dimension suited to the selected object. - [DIMLINEAR](https://wiki.musacad.org/reference/commands/dimlinear/) (DLI): Create a horizontal or vertical linear dimension. - [DIMALIGNED](https://wiki.musacad.org/reference/commands/dimaligned/) (DAL): Create a dimension aligned with two points. - [DIMANGULAR](https://wiki.musacad.org/reference/commands/dimangular/) (DAN): Create an angular dimension between two lines. - [DIMRADIUS](https://wiki.musacad.org/reference/commands/dimradius/) (DRA): Create a radius dimension for a circle or arc. - [DIMDIAMETER](https://wiki.musacad.org/reference/commands/dimdiameter/) (DDI): Create a diameter dimension for a circle or arc. - [DIMARC](https://wiki.musacad.org/reference/commands/dimarc/) (DAR): Create an arc length dimension. - [DIMJOGGED](https://wiki.musacad.org/reference/commands/dimjogged/) (DJO): Create a jogged radius dimension for a large arc. - [DIMORDINATE](https://wiki.musacad.org/reference/commands/dimordinate/) (DOR): Create an ordinate (X or Y datum) dimension. - [DIMCONTINUE](https://wiki.musacad.org/reference/commands/dimcontinue/) (DCO): Continue a dimension chain from the last dimension's second extension line. - [DIMBASELINE](https://wiki.musacad.org/reference/commands/dimbaseline/) (DBA): Stack dimensions from a common first extension line. - [QDIM](https://wiki.musacad.org/reference/commands/qdim/): Dimension the selected geometry at once: a chain, staggered, from a baseline, ordinates, radii or diameters. - [DIMCENTER](https://wiki.musacad.org/reference/commands/dimcenter/) (DCE): Mark the centre of an arc or circle, with centre lines if asked. DIMCONTINUE carries on a chain from the last dimension. DIMBASELINE stacks dimensions that all start from the same line. QDIM dimensions a whole selection at once. ### Dimension styles A **dimension style** sets how dimensions look: text height, arrow size and shape, units, decimal places, tolerances and colours. Change a style and every dimension using it updates. Open the Dimension Style Manager with `D`. Typing a dimension variable's name, such as `DIMTXT` for the text height, changes the current style directly. To give one dimension a setting of its own, use DIMOVERRIDE or the Properties palette. - [DIMSTYLE](https://wiki.musacad.org/reference/commands/dimstyle/) (D, DST, DDIM): Create and change dimension styles: text, arrows, units and colours, and the current style. - [DIMEDIT](https://wiki.musacad.org/reference/commands/dimedit/) (DED): Put dimensions' text home, replace or rotate it, or slant their extension lines (Oblique). - [DIMTEDIT](https://wiki.musacad.org/reference/commands/dimtedit/) (DIMTED): Move or rotate a dimension's text, or slide it Left, Right or to the Center. - [DIMSPACE](https://wiki.musacad.org/reference/commands/dimspace/): Space parallel dimensions evenly from a base dimension, or line them up with it. - [DIMBREAK](https://wiki.musacad.org/reference/commands/dimbreak/): Break a dimension's lines where objects cross them, or take the breaks away. - [DIMJOGLINE](https://wiki.musacad.org/reference/commands/dimjogline/) (DJL): Add a jog to a linear or aligned dimension's line, or take one away. - [DIMINSPECT](https://wiki.musacad.org/reference/commands/diminspect/): Make the selected dimensions inspection dimensions: a frame, a label and an inspection rate. - [DIMOVERRIDE](https://wiki.musacad.org/reference/commands/dimoverride/) (DOV): Give dimensions settings of their own (DIMTXT, DIMASZ ...), or clear theirs. - [DIMDISASSOCIATE](https://wiki.musacad.org/reference/commands/dimdisassociate/) (DDA): Dimensions no longer follow the objects they measure. - [DIMREASSOCIATE](https://wiki.musacad.org/reference/commands/dimreassociate/) (DRE): Dimensions follow the objects they measure again. ## Leaders A leader is an arrow pointing at something, with a note at its other end. - **Multileaders** (`MLD` for MLEADER) are the modern kind: the arrow, line, landing and text are one object, and their look comes from a multileader style. One multileader can have several arrows. - **LEADER** and **QLEADER** (`LE`) draw the classic kind. - [MLEADER](https://wiki.musacad.org/reference/commands/mleader/) (MLD): Draw a multileader: an arrowhead, a leader line and a landing, and its text. - [MLEADERSTYLE](https://wiki.musacad.org/reference/commands/mleaderstyle/) (MLS): Open the Multileader Style Manager: the styles new multileaders take. - [MLEADEREDIT](https://wiki.musacad.org/reference/commands/mleaderedit/) (MLE): Add leaders to a multileader, or take leaders away from it. - [MLEADERALIGN](https://wiki.musacad.org/reference/commands/mleaderalign/) (MLA): Line up the text of the selected multileaders along a direction. - [QLEADER](https://wiki.musacad.org/reference/commands/qleader/) (LE, QL): Draw a quick leader with an arrowhead and annotation. - [LEADER](https://wiki.musacad.org/reference/commands/leader/): Draw a leader line with an arrowhead and annotation. ## Tables Tables hold rows and columns of text, such as a parts list, a bill of materials or a revision block. Their borders and text sizes come from a table style, and cells can be merged. - [TABLE](https://wiki.musacad.org/reference/commands/table/) (TB): Insert a table of rows and columns for a BOM, revision block or parts list. - [TABLESTYLE](https://wiki.musacad.org/reference/commands/tablestyle/) (TS): Create, change and set the current table style. - [TABLEEDIT](https://wiki.musacad.org/reference/commands/tableedit/): Edit the text of a table cell. - [TABLEEXPORT](https://wiki.musacad.org/reference/commands/tableexport/): Write a table's cells to a CSV file. - [DATAEXTRACTION](https://wiki.musacad.org/reference/commands/dataextraction/) (DX, EATTEXT): Count the block references by name and attribute values into a table or a CSV file. ## Geometric tolerances (GD&T) A feature control frame shows a geometric tolerance: the symbol, the tolerance value and up to three datum references. TOLERANCE opens a window to build one, with two rows for a composite frame. DATUM places a datum feature symbol. - [TOLERANCE](https://wiki.musacad.org/reference/commands/tolerance/) (TOL): Create a feature control frame with geometric tolerance symbols. - [DATUM](https://wiki.musacad.org/reference/commands/datum/) (DIMDATUM): Place a datum feature symbol with its leader triangle. ## Sizes on paper Text heights, arrow sizes and dimension sizes are in drawing units. Plan them for the scale you will plot at: text 2.5 high on paper is 25 high in a drawing plotted at 1:10. Annotative objects, which resize themselves for each viewport scale, are not in Musa CAD 0.8.0 yet. ## Next - Group and control annotation with layers in [Organising a drawing](https://wiki.musacad.org/user-manual/organising/). - Put it all on a sheet in [Layouts, viewports and plotting](https://wiki.musacad.org/user-manual/layouts-and-plotting/). --- # Organising a drawing URL: https://wiki.musacad.org/user-manual/organising/ Checked against: Musa CAD 0.8.0 (complete) A well-organised drawing is quick to change and easy for someone else to read. Musa CAD gives you the same tools drafters have always used: layers to sort objects, blocks for parts you draw again and again, and references to other drawings. ## Layers A **layer** is like a sheet of tracing paper. Put each kind of object on its own layer, such as outlines, centre lines, hatching, dimensions and notes. Then you can show, hide, lock or recolour a whole kind at once. Every drawing has layer `0`, which cannot be deleted or renamed. New objects go on the **current layer**, shown on the ribbon's Layers panel. Pick another layer there to make it current. Open the Layer Properties Manager with `LA`. Each layer has: | Setting | What it does | |---|---| | On / Off | An off layer is hidden and not plotted. | | Freeze / Thaw | A frozen layer is hidden and left out entirely, which keeps big drawings fast. | | Lock / Unlock | Objects on a locked layer show, but cannot be changed. | | Color, Linetype, Lineweight | What objects on the layer look like when they are set to ByLayer. | | Transparency | How see-through the layer's objects are, from 0 to 90 percent. | | Plot | Whether the layer prints. Turn it off for construction lines and notes to yourself. | | Description | A note about what the layer is for. | In the ribbon's layer list, you can click a layer's bulb, sun or padlock to turn it off, freeze it or lock it without opening the manager. The layer tools work by picking objects instead of typing layer names: LAYISO shows only the layers of what you pick, LAYOFF turns off the layer of what you pick, and so on. LAYERP undoes the last layer change. - [LAYER](https://wiki.musacad.org/reference/commands/layer/) (LA): Open the Layer Properties Manager. - [-LAYER](https://wiki.musacad.org/reference/commands/dash-layer/) (-LA): Layers at the command line: make, set, add, rename, and switch them on, off, frozen, locked. - [LAYISO](https://wiki.musacad.org/reference/commands/layiso/): Turn off every layer but those of the selected objects. - [LAYUNISO](https://wiki.musacad.org/reference/commands/layuniso/): Turn back on the layers the last LAYISO turned off. - [LAYOFF](https://wiki.musacad.org/reference/commands/layoff/): Turn off the layer of each object picked. - [LAYON](https://wiki.musacad.org/reference/commands/layon/): Turn on every layer. - [LAYFRZ](https://wiki.musacad.org/reference/commands/layfrz/): Freeze the layer of each object picked. - [LAYTHW](https://wiki.musacad.org/reference/commands/laythw/): Thaw every layer. - [LAYLCK](https://wiki.musacad.org/reference/commands/laylck/): Lock the layer of the object picked. - [LAYULK](https://wiki.musacad.org/reference/commands/layulk/): Unlock the layer of the object picked. - [LAYMCUR](https://wiki.musacad.org/reference/commands/laymcur/): Make the layer of the object picked the current layer. - [LAYCUR](https://wiki.musacad.org/reference/commands/laycur/): Move the selected objects to the current layer. - [LAYMCH](https://wiki.musacad.org/reference/commands/laymch/): Put objects on the layer of another object, or a layer named. - [LAYMRG](https://wiki.musacad.org/reference/commands/laymrg/) (-LAYMRG): Merge layers: their objects moved to a target layer. - [LAYDEL](https://wiki.musacad.org/reference/commands/laydel/) (-LAYDEL): Delete the objects on layers. - [LAYWALK](https://wiki.musacad.org/reference/commands/laywalk/): Show only the layers chosen in a list, one or several at a time. - [LAYERP](https://wiki.musacad.org/reference/commands/layerp/): Put the layer settings back as they were before the last change. - [LAYERSTATE](https://wiki.musacad.org/reference/commands/layerstate/) (LAS): Save, restore, rename and delete named layer states. ## Colour, linetype and lineweight Each object has a colour, a linetype and a lineweight. Leave them as **ByLayer** and they follow the layer, which is the easiest drawing to change later. Set them on an object only when it must differ from its layer. - **Linetypes:** Continuous, Dashed, Center and Hidden are always there. Load more from a `.lin` file in the Linetype Manager. How long the dashes are is set by the linetype scale (`LTSCALE`), and by each object's own scale (`CELTSCALE` for new objects). - **Lineweights** are line thicknesses, in millimetres. They plot when the Plot window's **Plot object lineweights** is ticked. The **LWT** button on the status bar shows them on screen too. - [COLOR](https://wiki.musacad.org/reference/commands/color/) (COL, COLOUR): The colour new objects take: the Select Color window. - [LINETYPE](https://wiki.musacad.org/reference/commands/linetype/) (LT, LTYPE): The Linetype Manager: the linetypes, the current one, the linetype scales, and Load... from a .lin file. - [LTSCALE](https://wiki.musacad.org/reference/commands/ltscale/) (LTS): Set the global linetype scale factor. - [LWEIGHT](https://wiki.musacad.org/reference/commands/lweight/) (LW, LINEWEIGHT): The lineweight new objects take, and whether lineweights show: Lineweight Settings. ## Blocks A **block** is a named group of objects you can place many times, such as a bolt, a door or a title block. Each placement is a **block reference**. Change the block's definition and every reference changes with it. 1. Draw the part once. 2. Type `B` for BLOCK, give it a name and a base point, and select the objects. 3. Place it with `I` for INSERT, at any scale and rotation. A block can hold lines, circles, arcs, polylines, text, multiline text, attribute definitions and other blocks. If you select other kinds of objects when making a block, Musa CAD leaves them in place and says how many. To change a block, open it in the Block Editor with `BE`, or edit it in place with REFEDIT. WBLOCK writes a block, or a whole drawing, to its own `.musa` file for use in other drawings. - [BLOCK](https://wiki.musacad.org/reference/commands/block/) (B, -BLOCK): Make the selection a block definition (replaced by an insert). - [INSERT](https://wiki.musacad.org/reference/commands/insert/) (I, -INSERT): Insert a block by name with scale and rotation. - [BEDIT](https://wiki.musacad.org/reference/commands/bedit/) (BE): Open the Block Editor on a block: its objects to edit, the rest of the drawing hidden. - [REFEDIT](https://wiki.musacad.org/reference/commands/refedit/): Edit a block definition in place: its members become a working set until REFCLOSE. - [WBLOCK](https://wiki.musacad.org/reference/commands/wblock/) (W): Write a block, or the whole drawing, to a .musa file. - [BASE](https://wiki.musacad.org/reference/commands/base/): Set the drawing's insertion base point: where it sits when inserted into another drawing. - [BLOCKREPLACE](https://wiki.musacad.org/reference/commands/blockreplace/): Replace every reference of one block by another. - [EXPLODE](https://wiki.musacad.org/reference/commands/explode/) (X): Break compound objects into their components. - [BURST](https://wiki.musacad.org/reference/commands/burst/): Explode blocks, keeping their attribute values as text. - [NCOPY](https://wiki.musacad.org/reference/commands/ncopy/): Copy objects out of a block reference, leaving the reference as it is. - [XLIST](https://wiki.musacad.org/reference/commands/xlist/): List an object nested in a block reference or xref: what it is, the block, its layer, colour and linetype. ### Attributes **Attributes** are fill-in fields inside a block, such as a part number or a drawing title. Define them with ATTDEF before you make the block. Each time you insert the block, Musa CAD asks for the values. Change them later with ATTEDIT or EATTEDIT. DATAEXTRACTION can count blocks and list their attribute values in a table or a CSV file. - [ATTDEF](https://wiki.musacad.org/reference/commands/attdef/) (ATT, -ATTDEF): Define a block attribute: modes, tag, prompt, default value and text placement. - [ATTEDIT](https://wiki.musacad.org/reference/commands/attedit/) (-ATTEDIT): Change an attribute value on a block reference (one tag, or all). - [EATTEDIT](https://wiki.musacad.org/reference/commands/eattedit/): Enhanced Attribute Editor: pick a block reference and edit its attribute values in a dialog. - [BATTMAN](https://wiki.musacad.org/reference/commands/battman/): Block Attribute Manager: edit, reorder, remove a block's attribute definitions and sync its references. - [ATTSYNC](https://wiki.musacad.org/reference/commands/attsync/): Give a block's references its attributes as they are now; the values they have are kept. - [ATTDISP](https://wiki.musacad.org/reference/commands/attdisp/): Attribute visibility: Normal (each attribute's own mode), ON or OFF for all. ## External references An **external reference** (xref) shows another drawing inside yours, without copying it. When the other drawing changes, yours shows the change the next time it opens, or when you reload it. Use xrefs for a site plan under several building drawings, or a shared title block. Type `XR` for XREF, choose **Attach**, and pick a `.musa` or `.dxf` file. Keep referenced files together with the drawing, so the references still work when you move the project. - [XREF](https://wiki.musacad.org/reference/commands/xref/) (XR, -XREF): External references: attach a drawing as a block that follows its file; detach, reload, ?. - [IMAGEATTACH](https://wiki.musacad.org/reference/commands/imageattach/) (IAT, -IMAGEATTACH): Attach a raster image (PNG, JPEG, BMP, ...): file, embed or reference, insertion point, scale, rotation. ## Groups A **group** is a named set of objects that are selected together when you click any one of them. Unlike a block, the objects stay ordinary objects in the drawing. Press Ctrl+H to switch group selection off and on. - [GROUP](https://wiki.musacad.org/reference/commands/group/) (G): Make the selected objects a named group. - [UNGROUP](https://wiki.musacad.org/reference/commands/ungroup/): Dissolve a group. - [GROUPEDIT](https://wiki.musacad.org/reference/commands/groupedit/): Add objects to a group, remove objects from it, or rename it. ## Clean up - [PURGE](https://wiki.musacad.org/reference/commands/purge/) (PU): Remove unused layers from the drawing. - [RENAME](https://wiki.musacad.org/reference/commands/rename/) (REN): Change the name of a block, dimension style, layer, text style, table style or view. - [OVERKILL](https://wiki.musacad.org/reference/commands/overkill/) (-OVERKILL): Delete duplicate objects and combine overlapping collinear lines. - [AUDIT](https://wiki.musacad.org/reference/commands/audit/): Check the drawing for bad references and structure; optionally fix them. PURGE removes layers, blocks, styles and other items nothing uses. AUDIT checks the drawing for broken references and can fix them. ## Next - Lay out sheets and print in [Layouts, viewports and plotting](https://wiki.musacad.org/user-manual/layouts-and-plotting/). --- # Layouts, viewports and plotting URL: https://wiki.musacad.org/user-manual/layouts-and-plotting/ Checked against: Musa CAD 0.8.0 (complete) You draw at full size, then put the drawing on paper. Musa CAD keeps the two apart, the way most CAD programs do: the drawing lives in **model space**, and each sheet is a **layout**. ## Model space and layouts **Model space** is where you draw, at real size: a 4 metre wall is 4000 units long in a millimetre drawing. You can plot straight from model space, which is fine for simple drawings. A **layout** is a sheet of paper, with a border, a title block and notes drawn at paper size. Layouts are also called paper space. The tabs below the drawing switch between model space and each layout. Right-click a layout tab to add, rename or delete a layout. ## Viewports A **viewport** is a window on a layout that shows model space at a scale you choose, such as 1:50. A layout can have several viewports, each showing a different part of the model at its own scale. 1. On a layout, type `MV` for MVIEW and click two corners. The viewport shows the whole model. 2. Double-click inside the viewport to work in model space through it. Zoom and pan until the right part shows, or set its scale with MVIEW's **Scale** option. 3. Type `PS` for PSPACE to go back to the sheet. The viewport keeps the view you left it with. Each viewport can hide layers of its own with VPLAYER, or with the **VP Freeze** column of the Layer Properties Manager while you work inside it. Use it to show dimensions in one viewport but not another. In model space itself, VPORTS splits the window into tiles that each show the drawing from their own view. That is for working, not for plotting. - [LAYOUT](https://wiki.musacad.org/reference/commands/layout/) (LO): Layouts (paper space sheets): Copy, Delete, New, Rename, Set, ?. - [MODEL](https://wiki.musacad.org/reference/commands/model/): Switch to model space. - [MVIEW](https://wiki.musacad.org/reference/commands/mview/) (MV): A viewport on the layout showing model space: two corners or Fit; ON, OFF, Scale, Center. - [MSPACE](https://wiki.musacad.org/reference/commands/mspace/) (MS): Edit model space through a viewport; PSPACE returns to the sheet with the view you leave. - [PSPACE](https://wiki.musacad.org/reference/commands/pspace/) (PS): Switch to paper space (the first layout). - [VPLAYER](https://wiki.musacad.org/reference/commands/vplayer/): Layer visibility per viewport: Freeze / Thaw layers in the current, all or a picked viewport; Reset, Newfrz, Vpvisdflt, ?. - [VPSCALE](https://wiki.musacad.org/reference/commands/vpscale/): Report the scale of a layout viewport. - [VPSYNC](https://wiki.musacad.org/reference/commands/vpsync/): Line layout viewports up with a master viewport, at its scale. - [VPORTS](https://wiki.musacad.org/reference/commands/vports/) (-VPORTS, VIEWPORTS): Tiled model-space viewports: split the current one in 2, 3 or 4; SIngle; Join; Save, Restore, Delete and ? for named configurations. - [VIEW](https://wiki.musacad.org/reference/commands/view/) (V): Save, restore or delete named views. ## Plotting Type `PLOT`, or press Ctrl+P. The Plot window sets: | Setting | Choices | |---|---| | **Printer/plotter** | PDF, or a printer on your computer. | | **Paper size** | ISO A4, A3, A2, A1 and A0, ANSI A (Letter) and ANSI B (Tabloid). | | **Plot area** | **Display** (what is on screen), **Extents** (everything), or **Window** (a rectangle you pick). A layout plots its sheet. | | **Scale** | **Fit to paper**, or an exact scale such as 1 mm to 5 units. **Center the plot**, or an **Offset**. | | **Plot style (CTB)** | In colour, **Monochrome (all black)**, or **Grayscale**. | | **Plot object lineweights** | Lines plot at their lineweights. Untick it for thin lines everywhere. | | **Orientation** | **Portrait** or **Landscape**. | Click **Preview…** to see the page before you plot. PDFs are real vector files, so lines stay sharp at any zoom. A **page setup** saves these settings under a name, so every plot of a layout comes out the same. PAGESETUP manages them. If a plot comes out wrong, see [A plot or PDF looks wrong](https://wiki.musacad.org/troubleshooting/plot-looks-wrong/). - [PLOT](https://wiki.musacad.org/reference/commands/plot/) (PRINT): Plot or print the drawing to paper or PDF. - [PREVIEW](https://wiki.musacad.org/reference/commands/preview/) (PRE): Show the plot as it will come out, with the last plot's settings. - [PAGESETUP](https://wiki.musacad.org/reference/commands/pagesetup/): Name, change and delete page setups, and choose the one PLOT starts from. - [EXPORTPDF](https://wiki.musacad.org/reference/commands/exportpdf/): Save the layout in front, or the model, as a PDF file. - [PUBLISH](https://wiki.musacad.org/reference/commands/publish/): Plot the model and the layouts chosen into one PDF, a page each. ## Many sheets at once PUBLISH plots the model and any layouts you choose into one PDF, one page each. To plot a whole folder of drawings, use the command line instead: ```sh for f in *.musa; do musacad --plot "$f" "${f%.musa}.pdf" --paper A3; done ``` [The command line](https://wiki.musacad.org/scripting/command-line/) lists every plot option, such as `--scale 1:50`, `--window` and `--monochrome`. ## Dashes in viewports With `PSLTSCALE` at 1, the default, dashed lines seen through a viewport are scaled by the viewport's scale. Dashes then look the same length on paper in every viewport, whatever its scale. ## Next - Save, share and exchange drawings in [Working with files](https://wiki.musacad.org/user-manual/files/). --- # Working with files URL: https://wiki.musacad.org/user-manual/files/ Checked against: Musa CAD 0.8.0 (complete) Musa CAD saves drawings as `.musa` files. It reads and writes DXF itself, and DWG with the help of a free converter. This chapter covers the everyday file work. The [File formats](https://wiki.musacad.org/file-formats/) section has the details of each format. ## Open, save and close | To | Press | Or type | |---|---|---| | Start a new drawing | Ctrl+N | `NEW` | | Open a drawing | Ctrl+O | `OPEN` | | Save | Ctrl+S | `QSAVE` | | Save under a new name | Ctrl+Shift+S | `SAVEAS` | | Close the drawing | Ctrl+W | `CLOSE` | When you close a drawing or quit with changes not saved, Musa CAD asks whether to save them first. Musa CAD 0.8.0 does not save automatically. Save often, and keep backups of drawings that matter. - [NEW](https://wiki.musacad.org/reference/commands/new/): Start a new drawing. - [OPEN](https://wiki.musacad.org/reference/commands/open/): Open a drawing. - [QSAVE](https://wiki.musacad.org/reference/commands/qsave/): Save the drawing under its name (Save As the first time). - [SAVEAS](https://wiki.musacad.org/reference/commands/saveas/) (SAVE): Save the drawing under a name you choose. - [CLOSE](https://wiki.musacad.org/reference/commands/close/): Close the drawing in front. - [CLOSEALL](https://wiki.musacad.org/reference/commands/closeall/): Close every open drawing. - [QUIT](https://wiki.musacad.org/reference/commands/quit/) (EXIT): Quit Musa CAD, asking to save what is not saved. - [DWGPROPS](https://wiki.musacad.org/reference/commands/dwgprops/): The drawing's properties: title, subject, author, keywords, comments and custom fields, with its statistics. ## Several drawings at once Each drawing opens in its own tab. Opening or importing a file always makes a new tab, so the drawing you were working on is never replaced. Switch tabs with Ctrl+Tab and Ctrl+Shift+Tab. ## Copy between drawings Ctrl+C and Ctrl+V copy objects from one drawing to another, or within one drawing. Pasting text copied from another program makes a multiline text, and pasting an image places it in the drawing. To paste in exactly the same place, use PASTEORIG. To choose the point you paste by, copy with COPYBASE. - [COPYCLIP](https://wiki.musacad.org/reference/commands/copyclip/): Copy the selected objects to the clipboard (Ctrl+C), for this drawing, another one, or another program as a picture. - [CUTCLIP](https://wiki.musacad.org/reference/commands/cutclip/): Cut the selected objects to the clipboard (Ctrl+X). - [PASTECLIP](https://wiki.musacad.org/reference/commands/pasteclip/): Paste the clipboard (Ctrl+V): drawing objects, an image, or text as multiline text. - [COPYBASE](https://wiki.musacad.org/reference/commands/copybase/): Copy the selected objects to the clipboard with a base point to paste them by. - [PASTEORIG](https://wiki.musacad.org/reference/commands/pasteorig/): Paste copied objects at the coordinates they had. - [PASTEBLOCK](https://wiki.musacad.org/reference/commands/pasteblock/): Paste copied objects as one block at a point. ## Exchange with other CAD programs | Format | Open | Save | |---|---|---| | DXF | **Import ▸ DXF…** in the application menu, or `IMPORT` | **Export ▸ DXF…**, or `EXPORT` | | DWG | **Import ▸ DWG…**, or `DWGIN` | **Export ▸ DWG…**, or `DWGOUT` | | PDF | Not read | `EXPORTPDF`, or plot to PDF | When Musa CAD imports a file, it tells you anything it could not bring across. Read that message: it is the list of what to check. Keep your working copy as `.musa`, because DXF and DWG cannot hold everything Musa CAD can. DWG needs the free ODA File Converter, which Musa CAD downloads for you from **DWG Setup…** in the application menu. See [DWG files](https://wiki.musacad.org/file-formats/dwg/). - [IMPORT](https://wiki.musacad.org/reference/commands/import/) (IMP, DXFIN): Bring a DXF file into the drawing. - [EXPORT](https://wiki.musacad.org/reference/commands/export/) (EXP, DXFOUT): Write the drawing to a DXF file. - [DWGIN](https://wiki.musacad.org/reference/commands/dwgin/): Import geometry from a DWG file. - [DWGOUT](https://wiki.musacad.org/reference/commands/dwgout/): Export the drawing to a DWG file. - [EXPORTPDF](https://wiki.musacad.org/reference/commands/exportpdf/): Save the layout in front, or the model, as a PDF file. - [WBLOCK](https://wiki.musacad.org/reference/commands/wblock/) (W): Write a block, or the whole drawing, to a .musa file. ## Files from newer versions Each Musa CAD release can open drawings from itself and from every older release. A drawing saved by a newer release needs that release or newer. To send a drawing to someone with an older version, export it as DXF. [The .musa format](https://wiki.musacad.org/file-formats/musa-format/) lists which release writes which version. ## Next - Moving a whole project from AutoCAD? See [Moving projects from AutoCAD](https://wiki.musacad.org/file-formats/from-autocad/). - Change how Musa CAD works in [Settings and system variables](https://wiki.musacad.org/user-manual/settings/). --- # Settings and system variables URL: https://wiki.musacad.org/user-manual/settings/ Checked against: Musa CAD 0.8.0 (complete) Most of Musa CAD's settings have sensible starting values, so you can draw without touching any of them. This chapter shows where to find them when you want something different. ## The main settings windows | Window | Open with | What it holds | |---|---|---| | **Options** | `OP` | Whether Musa CAD checks for updates, and the performance overlay. | | **Drafting Settings** | `DS` or `OS` | Snap and grid, polar tracking, object snaps, and Dynamic Input. | | **Drawing Units** | `UN` | How lengths and angles are shown, their precision, and the drawing's unit. | | **Dimension Style Manager** | `D` | How dimensions look. | | **Text Style** | `ST` | Fonts and text sizes. | ## System variables A **system variable** is a single named setting, such as `PICKBOX` for the size of the pick box or `FILLETRAD` for the fillet radius. Type its name and press Enter. Musa CAD shows the current value in angle brackets; type a new one, or press Enter to keep it: ```musacad Command: PICKBOX Enter new value for PICKBOX <10>: 15 ``` SETVAR does the same and can list them. The [system variable reference](https://wiki.musacad.org/reference/system-variables/) has a page for every variable Musa CAD has, with its starting value. ## What travels with a drawing Some settings belong to the drawing and are saved in the `.musa` file, so anyone who opens it sees the same thing. These include the drawing units, the limits, the linetype scale, the layers, and the text, dimension, table and multileader styles. Other settings belong to you and stay the same in every drawing you open, such as your keyboard shortcuts, your command aliases, the Dynamic Input settings and the update check. ## Where your own settings are kept | System | Settings | Command aliases | |---|---|---| | Linux (AppImage or built from source) | `~/.config/Musa-CAD/musa_cad.conf` | `~/.config/Musa-CAD/musa_cad/musacaduser.pgp` | | Linux (Flatpak) | `~/.var/app/org.musacad.MusaCAD/config/Musa-CAD/musa_cad.conf` | `~/.var/app/org.musacad.MusaCAD/config/Musa-CAD/musa_cad/musacaduser.pgp` | | Windows | the registry, under `HKEY_CURRENT_USER\Software\Musa-CAD\musa_cad` | `%LOCALAPPDATA%\Musa-CAD\musa_cad\musacaduser.pgp` | To start again with every setting at its starting value, close Musa CAD and delete or rename the settings file. - [OPTIONS](https://wiki.musacad.org/reference/commands/options/) (OP): Change application settings: update checks and the performance overlay. - [OSNAP](https://wiki.musacad.org/reference/commands/osnap/) (OS, DDOSNAP, DS, DSETTINGS, SE, DDRMODES, RM): Open the Drafting Settings: snap and grid, polar tracking, object snaps, dynamic input. - [UNITS](https://wiki.musacad.org/reference/commands/units/) (UN): Set the display format and precision of lengths and angles (the Drawing Units dialog). - [SETVAR](https://wiki.musacad.org/reference/commands/setvar/) (SET): Change a system variable by its name. - [LIMITS](https://wiki.musacad.org/reference/commands/limits/): The drawing's limits, and whether points outside them are refused. ## Next - Make Musa CAD fit your hands in [Customising](https://wiki.musacad.org/user-manual/customising/). --- # Customising URL: https://wiki.musacad.org/user-manual/customising/ Checked against: Musa CAD 0.8.0 (complete) Musa CAD comes set up the way most AutoCAD users expect. When you want it closer to your own habits, these are the places to change. ## Keyboard shortcuts Type `CUI` to give any command a key of your own. If the key is already used, Musa CAD tells you what uses it and asks before taking it. The [keyboard shortcuts](https://wiki.musacad.org/reference/keyboard-shortcuts/) page lists the keys Musa CAD starts with. ## Command aliases An alias is a short name that starts a command, such as `L` for LINE. Type `ALIASEDIT` to add your own, change them, or remove them. Coming from AutoCAD? Click **Load...** in that window and pick your `acad.pgp` file. Its aliases are added to yours, and your AutoCAD file is not changed. Your aliases are kept in a file of your own (see [where your settings are kept](https://wiki.musacad.org/user-manual/settings/#where-your-own-settings-are-kept)). If you edit that file by hand, type `REINIT` to read it again. ## Workspaces and palettes A **workspace** remembers how the window is arranged: the palettes, the ribbon and the Quick Access Toolbar. Save the current arrangement with WSSAVE, and switch between saved ones with WORKSPACE. The **Tool Palettes** (Ctrl+3) put commands, hatch patterns and the drawing's blocks a click away. - [CUI](https://wiki.musacad.org/reference/commands/cui/): Customize the user interface: keyboard shortcuts of your own for any command, and command aliases. - [ALIASEDIT](https://wiki.musacad.org/reference/commands/aliasedit/): Edit your command aliases: an alias of your own for any command, kept in your PGP file. - [REINIT](https://wiki.musacad.org/reference/commands/reinit/): Read your command aliases (the PGP file) again. - [WORKSPACE](https://wiki.musacad.org/reference/commands/workspace/): Make a workspace current, or save, rename, delete or list them. - [WSSAVE](https://wiki.musacad.org/reference/commands/wssave/): Save the palettes, the ribbon and the Quick Access Toolbar as they are, as a workspace. - [TOOLPALETTES](https://wiki.musacad.org/reference/commands/toolpalettes/) (TP): Open the Tool Palettes: commands, hatches and the drawing's blocks a click away (Ctrl+3). - [NAVBAR](https://wiki.musacad.org/reference/commands/navbar/): Show or hide the navigation bar: Pan and the Zoom tools at the drawing's right edge. - [UCSICON](https://wiki.musacad.org/reference/commands/ucsicon/): Show or hide the UCS icon, at the origin or in the lower-left corner. ## Automate Musa CAD has no built-in macro language yet. Instead, programs outside Musa CAD can write drawings as `.musa` files, and the `musacad` command checks and plots them without opening a window. That is enough to generate a whole drawing set from a spreadsheet or a model, and to plot hundreds of drawings in one go. See [Scripting and automation](https://wiki.musacad.org/scripting/) for how, with working examples. ## Next - Back to the [User manual](https://wiki.musacad.org/user-manual/) overview. --- # Scripting and automation URL: https://wiki.musacad.org/scripting/ Checked against: Musa CAD 0.8.0 (complete) Musa CAD is built so that programs can do everything a drafter does at the keyboard: create a drawing, check it, and print it. You can generate a part drawing from a spreadsheet, plot a whole drawing set every night, check every drawing in a repository before it goes out, or let an AI agent draft a complete set of fabrication drawings from a 3D model. ## How it works Automation in Musa CAD rests on four simple pieces. 1. **Drawings are plain text.** A `.musa` file is a list of readable records, one object per line: `LINE 0 0 120 0 ...`, `CIRCLE 30 40 10 ...`. Any language can write one. DXF works too. 2. **The `musacad` command runs without a window.** `musacad --check` opens a drawing and reports problems. `musacad --plot` prints it to PDF. Neither needs a screen, so they work on servers, in scheduled jobs and in build pipelines. 3. **Clear answers for programs.** Every run ends with an exit code that a script can test, and `--check --json` gives a report a program can read. 4. **The libraries can be linked.** Musa CAD is LGPL-licensed C++, so your own tool can link its libraries to load, change and plot drawings directly. There is no macro language inside the program (no AutoLISP or VBA). Work happens outside it: a program writes the drawing, and Musa CAD checks and prints it. For most automation this is simpler and goes further, because the program can use any language, any data source and any library. ## Where to start - [The command line](https://wiki.musacad.org/scripting/command-line/): musacad --check and --plot: every option, the exit codes, batch printing and CI recipes. - [Drawings from code](https://wiki.musacad.org/scripting/drawings-from-code/): A short Python program that writes a real drawing. Change a number, get a new drawing. - [AI workflows](https://wiki.musacad.org/scripting/ai-workflows/): How an AI agent turns 3D models into finished fabrication drawings with Musa CAD, and how to set up your own. - [The .musa format](https://wiki.musacad.org/file-formats/musa-format/): What a drawing file contains, how versions work, and the full version history. --- # The command line URL: https://wiki.musacad.org/scripting/command-line/ Checked against: Musa CAD 0.8.0 (complete) The `musacad` program can do three things from a terminal or a script, without opening a window: - **open** a drawing in the normal window: `musacad part.musa` - **check** a drawing and report problems: `musacad --check part.musa` - **print** a drawing to PDF: `musacad --plot part.musa part.pdf` `--check` and `--plot` need no screen at all. They work over SSH, in a scheduled job, on a build server and inside a container. ## Which program to run | Install | Run | |---|---| | Windows | `"C:\Program Files\Musa CAD\musacad.exe"`. Use `musacad.exe`, not `musacad_app.exe`, so scripts wait for it and see its exit code. | | Linux AppImage | `./MusaCAD-0.8.0-x86_64.AppImage`. On a server without FUSE, put `APPIMAGE_EXTRACT_AND_RUN=1` in front. | | Linux Flatpak | `flatpak run --filesystem=home org.musacad.MusaCAD`. The `--filesystem` part lets it read your files. | | macOS | `/Applications/MusaCAD.app/Contents/MacOS/musacad_app` | | Built from source | `build/release/bin/musacad_app` | The examples below just say `musacad`. ## Check a drawing ```sh musacad --check part.musa && echo "ok" ``` Musa CAD reads the drawing with exactly the code the program itself uses. If the file is broken, it says which line, and exits with code 2: ```sh $ musacad --check broken.musa musacad: broken.musa: LINE record malformed (line 2). $ echo $? 2 ``` If the drawing opens, `--check` then looks at every text the way a person checks a sheet before it goes out, and reports any text that: - **overlaps** another text; - runs **outside the frame**, which is the drawing's largest rectangle (such as a border), or the area you give with `--window x0,y0,x1,y1`; - uses a **character the font cannot draw**, which would come out blank on paper; - with `--lines`, is **crossed by a line**. A dimension's own lines and a leader's line do not count. When it finds a problem, it lists it and exits with code 4: ```sh $ musacad --check board.musa board.musa: Opened 214 entities. board.musa: overlap: TEXT "R1 750 Ω" (layer NOTES, at 10.2,10) and TEXT "C3" (layer NOTES, at 14.2,10.5) board.musa: outside the frame: TEXT "REV B" (layer TITLE, at 410.4,6) board.musa: 38 texts checked, 2 problems ``` Add `--json` to get the same report as JSON, for a program to read. Each problem has a `kind` (`overlap`, `outside-frame`, `crosses-line` or `missing-glyph`), the text's layer, position and exact box, and what it collides with. ## Print to PDF ```sh musacad --plot drawing.musa out.pdf --paper A3 --landscape --scale 1:5 ``` | Option | What it does | |---|---| | `--paper ` | `A4` `A3` `A2` `A1` `A0` `Letter` `Tabloid`. The default is A4. | | `--landscape`, `--portrait` | Sheet orientation. The default is landscape. | | `--extents` | Print the whole drawing. This is the default. | | `--window x0,y0,x1,y1` | Print only this rectangle of the drawing. The corners can be in any order. | | `--fit` | Scale the drawing to fill the sheet. This is the default. | | `--scale ` | Print `n` mm on paper for every `m` drawing units, for example `1:5`. This turns `--fit` off. | | `--monochrome` | Print everything in black. | The PDF is made by the same code as **Plot** in the program, so linetypes, lineweights, hatches and text come out exactly the same. It is real vector output, not an image. ## Exit codes Scripts can rely on these: - 0: success - 1: usage error (bad command line) - 2: the drawing could not be read or parsed - 3: the output could not be written - 4: --check: text overlaps text, leaves the frame, crosses a line (--lines) or uses a character the font has no glyph for ## Recipes ### Print every drawing in a folder ```sh mkdir -p out for f in sheets/*.musa; do musacad --plot "$f" "out/$(basename "${f%.musa}").pdf" --paper A3 --landscape || exit 1 done ``` ### Stop a build when a drawing has a problem ```yaml # A GitHub Actions step: fail the job if any drawing does not open or has text problems. - name: Check drawings run: | for f in drawings/*.musa; do ./MusaCAD-0.8.0-x86_64.AppImage --check "$f" --lines || exit 1 done env: APPIMAGE_EXTRACT_AND_RUN: 1 ``` ### Windows batch file ```bat for %%f in (sheets\*.musa) do ( "C:\Program Files\Musa CAD\musacad.exe" --plot "%%f" "out\%%~nf.pdf" --paper A3 || exit /b 1 ) ``` ## Every option This is exactly what `musacad --help` prints. It is read from the program when this wiki is built: ``` Musa CAD -- 2D CAD engine Usage: musacad [] open a drawing in the GUI musacad --check [check options] read a drawing, check its text, report, exit musacad --plot [plot options] plot to PDF headlessly (no display needed) musacad --dump-wiki-data write the commands, ribbon and keyboard shortcuts as JSON, for the documentation musacad --help show this help musacad --version show the version is a .musa file, or a .dxf file (loaded through the DXF importer). Plot options: --paper sheet: A4 A3 A2 A1 A0 Letter Tabloid (default A4) --landscape sheet orientation (default) --portrait sheet orientation --extents plot the drawing's extents (default) --window x0,y0,x1,y1 plot an explicit world rectangle --fit scale the area to fill the sheet (default) --scale plot n mm per m drawing units, e.g. 1:5 --monochrome plot everything black (the mono CTB style) Check options: --window x0,y0,x1,y1 the frame text must stay inside (default: the drawing's largest rectangle) --lines also report text that a line crosses --json print the report as JSON Exit codes: 0 success 1 usage error (bad command line) 2 the drawing could not be read or parsed 3 the output could not be written 4 --check: text overlaps text, leaves the frame, crosses a line (--lines) or uses a character the font has no glyph for Single-dash options are passed through to Qt (e.g. -platform offscreen). ``` Options with one dash, such as `-platform offscreen`, are passed to Qt, the toolkit Musa CAD is built on. ## Next - [Write drawings from code](https://wiki.musacad.org/scripting/drawings-from-code/), then check and print them with these commands. - See how an [AI workflow](https://wiki.musacad.org/scripting/ai-workflows/) puts it all together. --- # Drawings from code URL: https://wiki.musacad.org/scripting/drawings-from-code/ Checked against: Musa CAD 0.8.0 (complete) A Musa CAD drawing is a plain text file. That means any program can write one: a Python script, a spreadsheet macro, a web service, or an AI agent. This page walks through a short Python program that draws a flange. Change a number at the top, run it again, and you get a new drawing. [Drawing: A round flange drawn in outline: an outer circle 120 across, a central bore, six bolt holes evenly spaced on a circle, horizontal and vertical centre lines, a dimension under it reading 120.00, and the title FLANGE, 6 HOLES ON PCD 90 above it.](https://wiki.musacad.org/rendered/flange.svg) ## The program The code below is the exact program that made the drawing above. When the wiki is built, it runs this program, then asks Musa CAD to print the result. If either step fails, the wiki does not build. flange.py: ```python #!/usr/bin/env python3 # SPDX-License-Identifier: LGPL-3.0-or-later # Copyright (C) 2026 Pranay Kiran # This example is also yours under CC0: copy it into your own work without credit. """Write a flange drawing as a Musa CAD .musa file. python3 flange.py flange.musa Change the numbers below and run it again: the drawing follows. Then check it and print it to PDF with Musa CAD: musacad --check flange.musa musacad --plot flange.musa flange.pdf --paper A4 --landscape """ import math import sys # The part, in millimetres. OUTER_DIAMETER = 120.0 BORE_DIAMETER = 40.0 BOLT_CIRCLE_DIAMETER = 90.0 BOLT_HOLE_DIAMETER = 10.0 BOLT_COUNT = 6 # Every object ends with the same seven properties: layer 0, colour, linetype and # lineweight from the layer (ByLayer). BY_LAYER = "0 7 255 255 255 0 25" def line(x0, y0, x1, y1): return f"LINE {x0:g} {y0:g} {x1:g} {y1:g} {BY_LAYER}" def circle(cx, cy, r): return f"CIRCLE {cx:g} {cy:g} {r:g} {BY_LAYER}" def text(x, y, height, content): # A text is three lines: the record, the words, and the font (empty: the built-in font). return f"TEXT {x:g} {y:g} {height:g} 0 0 {BY_LAYER}\n{content}\n" def linear_dimension(x0, y0, x1, y1, line_x, line_y): # Kind 0 is a linear dimension. Musa CAD measures it from the two points. return f"DIM 0 {x0:g} {y0:g} {x1:g} {y1:g} {line_x:g} {line_y:g} 0 {BY_LAYER}" def drawing(): records = [ "MUSACAD 14", # the format version this file is written in "UNITS mm", "CURRENT 0", "LTSCALE 1", "LAYER 255 255 255 0 25 1 0 0 0", # layer 0: white, continuous, 0.25 mm, on "DIMSTYLE 2.5 2.5 0 0.6 1.25 2 1 25 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 Standard", ] r_out = OUTER_DIAMETER / 2 records.append(circle(0, 0, r_out)) records.append(circle(0, 0, BORE_DIAMETER / 2)) for i in range(BOLT_COUNT): a = 2 * math.pi * i / BOLT_COUNT r = BOLT_CIRCLE_DIAMETER / 2 records.append(circle(r * math.cos(a), r * math.sin(a), BOLT_HOLE_DIAMETER / 2)) # Centre lines, a little longer than the part. ext = r_out + 6 records.append(line(-ext, 0, ext, 0)) records.append(line(0, -ext, 0, ext)) # The overall width, measured across the outer circle. records.append(linear_dimension(-r_out, 0, r_out, 0, 0, -r_out - 15)) records.append(text(-r_out, r_out + 12, 5, f"FLANGE, {BOLT_COUNT} HOLES ON PCD {BOLT_CIRCLE_DIAMETER:g}")) records.append("END") return "\n".join(records) + "\n" if __name__ == "__main__": out = sys.argv[1] if len(sys.argv) > 1 else "flange.musa" with open(out, "w", encoding="utf-8") as f: f.write(drawing()) print(f"wrote {out}") ``` Run it, then check and print the result: ```sh python3 flange.py flange.musa musacad --check flange.musa musacad --plot flange.musa flange.pdf --paper A4 --landscape ``` ## What it writes This is the file the program produces: (flange.musa is shown on the page) A few rules are worth knowing before you write your own: - **The first line names the format version**, here `MUSACAD 14`, and the last line is `END`. Musa CAD reads every older version, so a file written as version 14 opens in every release since 0.1.0. A newer release only refuses files that are newer than itself. - **One object per line.** The numbers come first (`LINE x0 y0 x1 y1`, `CIRCLE cx cy r`), followed by seven numbers for the object's properties: layer, which properties come from the layer, colour, linetype and lineweight. `0 7 255 255 255 0 25` means layer 0, with colour, linetype and lineweight taken from the layer. - **Text takes three lines:** the record, the words, then the font (an empty line means the built-in font). - **Dimensions are measured, not typed.** A `DIM` record gives the points it measures and where its line goes; Musa CAD works out the number. You cannot make a dimension show a wrong value by accident. - **The reader is strict.** A line with the wrong number of values stops the whole file, and `musacad --check` tells you which line it was. That is a feature: a broken drawing never opens half-right. - **Units are what you decide.** The file says `UNITS mm`; one unit is then one millimetre, and dimensions read in millimetres. The [.musa format page](https://wiki.musacad.org/file-formats/musa-format/) has the version history. For the full list of record types, the definitive reference is Musa CAD's own reader, [native_format.cpp](https://github.com/MusaCAD/MusaCAD/blob/main/src/core/io/native_format.cpp). A complete, tested Python writer that covers text, dimensions, leaders, hatches, blocks and title blocks is part of the [fabrication pipeline](https://github.com/MusaCAD/fabrication_pipeline/blob/main/src/musa_writer.py). ## Write DXF instead If your tool already writes DXF, Musa CAD reads it directly. Both `--check` and `--plot` accept a `.dxf` file. The file name's ending decides how it is read. ## Ideas - **Parts from a spreadsheet:** one row per part, one drawing per row, printed to PDF in one go. - **Drawings that follow the design:** regenerate the drawing whenever the numbers change, and check it in your build. - **A drawing for every order:** fill in a title block and a bill of materials from your order system. - **Let an AI agent draft it:** see [AI workflows](https://wiki.musacad.org/scripting/ai-workflows/). --- # AI workflows URL: https://wiki.musacad.org/scripting/ai-workflows/ Checked against: Musa CAD 0.8.0 (complete) Musa CAD is a good fit for AI agents. Everything an agent needs is plain text and plain commands: it writes the drawing as text, asks Musa CAD to check it, prints it to PDF, looks at the result, and fixes what is wrong. No one needs to click anything. ## A real example: the fabrication pipeline The [fabrication pipeline](https://github.com/MusaCAD/fabrication_pipeline) is an open-source project that uses Musa CAD this way. It takes 3D models of parts and assemblies made in FreeCAD and produces print-ready A4 fabrication drawings: the kind of drawing set a workshop needs to make the parts. No one drafts them by hand. Each part gets a sheet with: - a front view and a section through the part, with hatching on the cut faces; - true dimensions, hole callouts such as `3 X Ø4 H7 (REAM) THRU`, and thread markings; - datum flags and geometric tolerance frames; - fabrication notes, a shaded 3D picture of the part, and a filled-in title block with the scale, revision and the weight worked out from the model. Each assembly gets a sheet with numbered balloons and a parts table. ### How it works The pipeline runs in stages. An AI agent runs each one, and a person approves the key decisions: 1. **Analyse.** FreeCAD runs headless and reports what is in the models: parts, features, sizes. 2. **Judge.** The agent decides whether the models are ready to be made, and says what is wrong if they are not. 3. **Pause for a person.** The pipeline stops until someone approves the judgement. It never carries on alone. 4. **Finalise.** The agent asks the person, one question at a time, about each part: which view to show, where the section goes, the drawing numbers, the tolerances. 5. **Draw.** The pipeline writes one `.musa` sheet per part, laid out so that no text or dimension overlaps anything. A sheet that cannot be laid out cleanly fails loudly instead of being shipped. 6. **Export and check.** Every sheet is plotted to PDF through Musa CAD's own plot code. A checker then goes through a list of points: paper size, scale, title block, sections, centring, no overlaps. It renders each PDF to an image and looks at it before passing it. The pipeline writes drawings with a Python module that knows Musa CAD's file format, and plots them through Musa CAD's libraries. When it finds something Musa CAD cannot do yet, the gap is reported as an issue on the Musa CAD repository, and the program improves. ## Set up your own You do not need the whole pipeline to start. An agent needs four things. 1. **A way to write the drawing.** Give it a small writer for the records it needs (lines, circles, text, dimensions), like the [drawings from code](https://wiki.musacad.org/scripting/drawings-from-code/) example, or the pipeline's complete [musa_writer.py](https://github.com/MusaCAD/fabrication_pipeline/blob/main/src/musa_writer.py). 2. **A rule to check every file.** After writing a drawing, the agent runs `musacad --check drawing.musa --json --lines` and fixes everything the report lists, until the exit code is 0. A broken file is reported with its line number. Overlapping text, text outside the border and missing characters are all reported. 3. **A way to see the result.** The agent prints the drawing with `musacad --plot`, turns the PDF into an image (for example with `pdftoppm -png`), and looks at it. Many problems are only obvious when you see the sheet. 4. **The facts about Musa CAD.** Point the agent at this wiki. Every page is plain text that AI tools can read, and two files collect it all: [`/llms.txt`](https://wiki.musacad.org/llms.txt) lists every page, and [`/llms-full.txt`](https://wiki.musacad.org/llms-full.txt) has the text of every page in one file. The command data is also available as [JSON](https://wiki.musacad.org/data/commands.json). Keep a person in the loop for decisions that matter, as the pipeline does. The agent drafts quickly and checks itself; a person decides what the drawing should say. ## What an agent cannot do (yet) An agent cannot drive the Musa CAD window itself. There is no remote control or plug-in interface for the running program. All automation works with files and the `musacad` command, which is what makes it reliable and easy to test. --- # File formats and other CAD programs URL: https://wiki.musacad.org/file-formats/ Checked against: Musa CAD 0.8.0 (complete) | Format | Read | Write | Notes | |---|---|---|---| | `.musa` | Yes | Yes | Musa CAD's own format. Plain text. | | `.dxf` | Yes | Yes | Built in, nothing to install. Writes AutoCAD R2000 files. | | `.dwg` | Yes | Yes | Through the free ODA File Converter, which Musa CAD downloads for you from **DWG Setup…** in the application menu. Writes AutoCAD 2018 files. | | PDF | No | Yes | Plot or export. Real vector output. | | PNG, JPEG, BMP, TIFF, GIF | As images in a drawing | No | Attach with `IMAGEATTACH`, linked or embedded. | | `.pgp` | Yes | Yes | Command aliases, including AutoCAD's `acad.pgp`. Load with `ALIASEDIT`. | When Musa CAD imports a file, it tells you anything it could not bring across, instead of dropping it silently. - [The .musa format](https://wiki.musacad.org/file-formats/musa-format/): What a drawing file contains, which versions open where, and the full version history. - [DXF files](https://wiki.musacad.org/file-formats/dxf/): What comes in, what is skipped and reported, and what changes on the way out. - [DWG files](https://wiki.musacad.org/file-formats/dwg/): Set up the free converter in one click, and how DWG support works. - [Images and fonts](https://wiki.musacad.org/file-formats/images-and-fonts/): Linked and embedded images, and what happens to SHX and missing fonts. - [Moving projects from AutoCAD](https://wiki.musacad.org/file-formats/from-autocad/): Bring drawings, blocks, references and aliases across, step by step. --- # The .musa format URL: https://wiki.musacad.org/file-formats/musa-format/ Checked against: Musa CAD 0.8.0 (complete) A `.musa` file is Musa CAD's own drawing format. It is plain text: you can open one in any text editor and read it. Each line is one record, such as a layer, a line, a circle or a dimension. The first line says which version of the format the file uses, for example `MUSACAD 45`, and the last line is `END`. ## Which files open where The rule is simple: - **Newer Musa CAD always opens older files.** A file from version 0.1.0 opens in every later release. - **Older Musa CAD cannot open newer files.** When a release adds something to the format, files saved by it need that release or newer. An older release says `Unsupported file format version` and does not open the file. So if you share drawings with someone, check that they have the same Musa CAD version as you, or a newer one. Musa CADSaves formatOpens formats {[...releases].sort((a, b) => compareVersions(b.version, a.version)).map((r) => ( {r.version}v{r.formatVersion}v1 to v{r.formatVersion} ))} To give a drawing to someone with an older release, export it as DXF, which every version reads. ## Version history Every format version, newest first: the release that first saved it, and what it added. This table is made from the comments in Musa CAD's source code (release {formats.from}) when the wiki is built, so it is written by the developers, in their words. (The format version table is on the page.) ## Writing a .musa file from a program See [Drawings from code](https://wiki.musacad.org/scripting/drawings-from-code/) for a short, tested example and the rules worth knowing. --- # DXF files URL: https://wiki.musacad.org/file-formats/dxf/ Checked against: Musa CAD 0.8.0 (complete) DXF is a text format that almost every CAD program can read and write. Musa CAD reads and writes it without any extra software. It is the best way to exchange drawings with AutoCAD, LibreCAD, QCAD, DraftSight and others. ## Open and save DXF - **Open a DXF:** choose **Import ▸ DXF…** from the application menu, or type `IMPORT`. The file opens in a new tab. - **Save as DXF:** choose **Export ▸ DXF…**, or type `EXPORT`. - **From the command line:** `musacad drawing.dxf` opens it, and `musacad --plot drawing.dxf out.pdf` plots it without opening a window. Keep your working copy as `.musa`. DXF is for exchange, and a few things can only be kept in Musa CAD's own format. ## What comes in Musa CAD reads these DXF objects: | Kind | DXF objects | |---|---| | Lines and curves | LINE, LWPOLYLINE, 2D POLYLINE, CIRCLE, ARC, ELLIPSE, SPLINE, XLINE, RAY, POINT, MLINE | | Text | TEXT, MTEXT, with their text styles | | Dimensions and notes | DIMENSION (every kind), LEADER, TOLERANCE, with the dimension styles | | Fills | HATCH (solid, patterns, user-defined and gradients), WIPEOUT | | Blocks | BLOCK definitions, INSERT, ATTDEF, ATTRIB, external references | | Images | IMAGE with its IMAGEDEF | | Layouts | paper space objects and VIEWPORT | It also reads the layer, linetype, text style, dimension style and viewport tables, the drawing units, the limits and the linetype scale. ### What is skipped Anything Musa CAD cannot read is skipped and named, never dropped silently. Every import ends with a line like this: ```txt Imported 412 entities on 9 layers (36 block refs over 12 definitions); skipped 3 unsupported (ACAD_TABLE, MULTILEADER). ``` These are not read in version 0.8.0: - **Tables** (ACAD_TABLE) and **multileaders** (MULTILEADER). - **3D objects:** 3D polylines, meshes, 3D faces, solids, regions and surfaces. Musa CAD is a 2D program. - **Inside block definitions:** dimensions, leaders, points, hatches and images. A block in Musa CAD holds lines, arcs, circles, polylines, text and nested blocks, so these are skipped there. Ellipses and splines inside a block come in as polylines that follow the same curve. ## What goes out Musa CAD writes **AutoCAD R2000** DXF files (version AC1015). Almost every program reads that version. ### What changes on the way out DXF has no place for a few things Musa CAD can do. They are written as the closest thing DXF has: | In Musa CAD | In the DXF file | |---|---| | Table | Not written yet. Keep tables in the `.musa` file. | | Multileader | A LEADER and an MTEXT, which look the same | | Jogged radius dimension | A radius dimension | | Arc length dimension | An aligned dimension showing the arc length as its text | | Datum symbol | A one-cell tolerance frame; the triangle on its leader is lost | | Dimension with a tolerance, prefix or suffix of its own | The dimension with that text written in; it reads back as text, not as an editable tolerance | | Jog line on a dimension, inspection dimension | Not written yet | | Layer states | Not written yet | | Embedded image | The image is saved as a file beside the DXF | | Several layouts | Written as one paper space | ## Next For DWG files, see [DWG files](https://wiki.musacad.org/file-formats/dwg/). For fonts and images that come with a drawing, see [Images and fonts](https://wiki.musacad.org/file-formats/images-and-fonts/). --- # DWG files URL: https://wiki.musacad.org/file-formats/dwg/ Checked against: Musa CAD 0.8.0 (complete) DWG is AutoCAD's own file format. Musa CAD opens and saves DWG files with the help of a free converter program. Setting it up takes one click. ## Set it up once 1. Choose **DWG Setup…** from the application menu (the Musa CAD logo at the top left). 2. Click **Download ODA File Converter…** and Musa CAD downloads the free converter from the Open Design Alliance website. It sets it up for you. 3. Musa CAD confirms where it installed the converter. DWG files work from now on. You only do this once. If you open a DWG before setting up a converter, Musa CAD offers DWG Setup. ### Use a converter you already have Musa CAD can use either of these converters: - **ODA File Converter**, free from [opendesign.com](https://www.opendesign.com/guestfiles/oda_file_converter). On Windows, Musa CAD finds it in `Program Files\ODA` by itself. - **LibreDWG**'s `dwg2dxf` and `dxf2dwg` programs, free software available in many Linux distributions. Musa CAD finds a converter on your `PATH`. Or click **Browse…** in DWG Setup and pick the program. ## Open and save DWG - **Open a DWG:** choose **Import ▸ DWG…** from the application menu, or type `DWGIN`. It opens in a new tab. - **Save as DWG:** choose **Export ▸ DWG…**, or type `DWGOUT`. ## How it works Opening a DWG takes two steps. The converter turns the DWG into a DXF file, and Musa CAD then reads that DXF. Saving works the other way round: Musa CAD writes a DXF, and the converter turns it into a DWG in **AutoCAD 2018** format. So a DWG keeps exactly what a DXF keeps. [DXF files](https://wiki.musacad.org/file-formats/dxf/) lists what comes in, what is skipped, and what changes on the way out. After an import, Musa CAD lists what it skipped, and saves that list in a log beside the file, such as `plan.dwg.import.log`. ### Why the converter is separate Musa CAD is free software under the LGPL. The libraries that read DWG are either proprietary or under the GPL, and building one in would change Musa CAD's licence. Running a separate program keeps Musa CAD free to use, change and share. It is also why no package includes a converter. ## In the Flatpak The Flatpak downloads and uses the ODA File Converter like any other install. The converter needs an X11 display, though: - **On an X11 desktop,** it runs inside the sandbox. Nothing else to do. - **On a Wayland desktop,** it has to run outside the sandbox. Allow that once in a terminal: ```sh flatpak override --user --talk-name=org.freedesktop.Flatpak org.musacad.MusaCAD ``` The same permission lets the Flatpak use a converter installed on your system. Turn on **Use a converter installed on the host (Flatpak)** in DWG Setup. ## Next If something goes wrong, see [DWG files do nothing or fail](https://wiki.musacad.org/troubleshooting/dwg-files/). --- # Images and fonts URL: https://wiki.musacad.org/file-formats/images-and-fonts/ Checked against: Musa CAD 0.8.0 (complete) ## Images You can place a picture in a drawing, such as a logo, a scanned plan or a photo of a site. Type `IMAGEATTACH` (or `IAT`) and pick the file. Type `~` at the first prompt to choose it in a file window. Musa CAD reads **PNG, JPEG, BMP, GIF and TIFF** images. ### Kept beside the drawing, or inside it Musa CAD asks: ```txt Keep a copy of the image inside the drawing? [Yes/No] : ``` - **No** keeps a link to the image file. The drawing stays small, and if you change the image, the drawing shows the new version the next time it opens. The image must be in the drawing's folder, or a folder inside it, so the two can move together. - **Yes** stores a copy of the image inside the `.musa` file. The drawing then works on its own, anywhere. An embedded image can be up to **8 MB**. Musa CAD embeds the image anyway in two cases, and says so: when the drawing has not been saved yet, and when the image is outside the drawing's folder. ### Working with images | Command | What it does | |---|---| | `IMAGECLIP` | Shows only part of the image, inside a rectangle or a polygon | | `IMAGEFRAME` | Shows or hides the frame around images | Drag an image's corner grips to resize it. Images are included when you plot, behind the line work. In a DXF file, an embedded image is saved as a separate file beside the DXF, because DXF can only link to images. ## Fonts Musa CAD draws text with two kinds of font: - **Its own single-stroke font.** This is what the `Standard` text style uses. It is drawn with thin lines, like classic CAD text, and plots crisply at any size. - **Any TrueType or OpenType font on your computer.** Choose it in the Text Style window (`STYLE`) or the Properties palette. ### Fonts from AutoCAD drawings AutoCAD's classic SHX fonts, such as `txt.shx`, `simplex.shx` and `romans.shx`, are stored in Autodesk's own format. Musa CAD does not read them. It draws them with its own single-stroke font, which looks close. When a drawing asks for a TrueType font that is not installed, Musa CAD uses a lookalike if it can find one: | Requested | Used instead, if installed | |---|---| | Arial, Helvetica | Liberation Sans, then DejaVu Sans | | Times New Roman | Liberation Serif, then DejaVu Serif | | Courier New | Liberation Mono, then DejaVu Sans Mono | Any other missing font is drawn with the single-stroke font. In both cases the drawing keeps the name of the font it asked for. The Properties palette shows that name, and saving the drawing writes it back unchanged. If you install the font later, the text uses it. ### Characters a font does not have To find text that uses a character its font cannot draw, run: ```sh musacad --check drawing.musa ``` See [Text looks different from the original](https://wiki.musacad.org/troubleshooting/text-looks-wrong/) for more. ## Next Moving drawings from AutoCAD? See [Moving projects from AutoCAD](https://wiki.musacad.org/file-formats/from-autocad/). --- # Moving projects from AutoCAD URL: https://wiki.musacad.org/file-formats/from-autocad/ Checked against: Musa CAD 0.8.0 (complete) This page is about your files. For how the commands and the screen compare, see [Coming from AutoCAD](https://wiki.musacad.org/get-started/coming-from-autocad/). ## Bring a project across 1. **Choose DXF or DWG.** Both work. If you still have AutoCAD, saving as DXF from AutoCAD is the most direct route, because Musa CAD reads DXF itself. Otherwise set up [DWG support](https://wiki.musacad.org/file-formats/dwg/) once and open the DWG files directly. 2. **Keep the folder together.** Copy the whole project folder, not single drawings. External references and images are found relative to the drawing, so they must stay in the same place next to it. 3. **Open the drawing.** Choose **Import ▸ DXF…** or **Import ▸ DWG…** from the application menu. The drawing opens in a new tab. 4. **Read the import message.** It ends with what was skipped, if anything: ```txt Imported 412 entities on 9 layers (36 block refs over 12 definitions); skipped 3 unsupported (ACAD_TABLE, MULTILEADER). ``` [DXF files](https://wiki.musacad.org/file-formats/dxf/#what-is-skipped) explains each kind of object that can be skipped. 5. **Save it as `.musa`.** Choose **Save As** and keep this as your working copy from now on. A `.musa` file keeps everything Musa CAD can do, which DXF and DWG cannot. 6. **Check it.** Zoom to extents (`ZOOM`, then `E`), look through the layers and layouts, and plot a page to compare with the original. ## What comes across | From AutoCAD | In Musa CAD | |---|---| | Layers, with colour, linetype, lineweight, plot setting and description | The same | | Blocks and attributes | The same. A block holds lines, arcs, circles, polylines, text and other blocks; other objects inside blocks are skipped and listed. | | External references to DWG files | Convert the referenced files to DXF or `.musa` first. Musa CAD attaches `.musa` and `.dxf` files as references. | | Dimension styles and text styles | The same | | Layouts and viewports | The same, including per-viewport layer freezing | | Hatches, gradients and wipeouts | The same | | Tables and multileaders | Skipped on import in 0.8.0 | | SHX fonts | Drawn with Musa CAD's own single-stroke font. See [Images and fonts](https://wiki.musacad.org/file-formats/images-and-fonts/). | | Plot style tables (CTB and STB files) | Not read. Musa CAD plots in colour, monochrome or greyscale, chosen in the Plot window. | | 3D objects | Skipped. Musa CAD is 2D only. | ## Bring your habits across - **Command aliases.** Type `ALIASEDIT` and click **Load...** to add the aliases from your `acad.pgp`. Musa CAD keeps them in its own file, so your AutoCAD file is not changed. - **Keyboard shortcuts.** Type `CUI` to set the keys you are used to. - **Templates.** Open your template DWG or DXF, save it as `.musa`, and start new drawings from a copy of it. ## Check text and dimensions in bulk For a large project, the command line can check every drawing for text problems without opening a window: ```sh for f in *.dxf; do musacad --check "$f" || echo "check $f"; done ``` It reports text that overlaps, runs outside the frame, or uses characters its font cannot draw. See [The command line](https://wiki.musacad.org/scripting/command-line/). ## Next If a drawing does not open or looks wrong, see [Troubleshooting](https://wiki.musacad.org/troubleshooting/). --- # Troubleshooting URL: https://wiki.musacad.org/troubleshooting/ Checked against: Musa CAD 0.8.0 (complete) Find what you are seeing below. Each page starts with the quickest fix and then explains why it happens. - [Musa CAD will not start](https://wiki.musacad.org/troubleshooting/app-will-not-start/): It closes with a message about OpenGL 4.5, or nothing happens at all. - [The drawing area is black, blank or slow](https://wiki.musacad.org/troubleshooting/drawing-area/): The window opens, but drawing feels sluggish or shows nothing. - [DWG files do nothing or fail](https://wiki.musacad.org/troubleshooting/dwg-files/): No DWG converter found, the converter times out, or parts of the drawing are missing. - [A plot or PDF looks wrong](https://wiki.musacad.org/troubleshooting/plot-looks-wrong/): The page is empty, lines are all the same thickness, colours or dashes are off, or it is the wrong size. - [Text looks different from the original](https://wiki.musacad.org/troubleshooting/text-looks-wrong/): Fonts from AutoCAD drawings, missing characters, and text that has lost its formatting. - [A file will not open](https://wiki.musacad.org/troubleshooting/file-will-not-open/): Unsupported file format version, expected MUSACAD header, or missing references and images. ## Before anything else 1. **Check your version.** Choose **About Musa CAD…** from the application menu (the Musa CAD logo at the top left), or run `musacad --version`. Many problems are already fixed in the [latest release](https://wiki.musacad.org/releases/). 2. **Update.** Musa CAD checks for a new version once a day and shows it in the status bar. You can also choose **Check for Updates…** from the application menu. Flathub installs update with your other apps. 3. **Read the message.** Musa CAD says what went wrong instead of failing silently. The message usually names the cause, and these pages quote the messages so you can search for them. ## Still stuck? If Musa CAD crashed, it offers to save a report the next time it starts. Attach it to a new issue. [How to report a bug](https://wiki.musacad.org/troubleshooting/bug-reports/) explains what to include, and where the reports are kept. You can also search the [existing issues](https://github.com/MusaCAD/MusaCAD/issues?q=is%3Aissue). Someone may have had the same problem. --- # Musa CAD will not start URL: https://wiki.musacad.org/troubleshooting/app-will-not-start/ Checked against: Musa CAD 0.8.0 (complete) ## It says it needs OpenGL 4.5 Musa CAD shows a message like this and then closes: ```txt Musa CAD's viewport needs OpenGL 4.5 Core (it draws through direct state access and persistently mapped buffers), and this system provides OpenGL 3.3 (llvmpipe). ``` The numbers and the name in brackets are what your computer offered. They tell you what to fix: - **An old version number with your graphics card's name.** Update your graphics driver. Current drivers for Intel, AMD and NVIDIA graphics on Windows and Linux all support OpenGL 4.5. - **`llvmpipe`, `softpipe` or `Microsoft Basic Render Driver`.** No graphics driver is in use, and the computer is drawing in software. Install your graphics card's driver. - **A virtual machine.** Turn on 3D acceleration in the virtual machine's display settings, and install its guest additions or tools. - **A Mac.** macOS stops at OpenGL 4.1, so no update can help. The Mac version is a preview for this reason. See [Install on macOS](https://wiki.musacad.org/get-started/install-macos/). ### You can still use the command line Checking and plotting drawings does not need the drawing area. These work on any computer: ```sh musacad --check drawing.musa musacad --plot drawing.musa drawing.pdf --paper A4 ``` See [The command line](https://wiki.musacad.org/scripting/command-line/). ## The AppImage does nothing on Linux First make sure the file can run: ```sh chmod +x MusaCAD-0.8.0-x86_64.AppImage ./MusaCAD-0.8.0-x86_64.AppImage ``` If it says something about FUSE, your system does not have the library AppImages normally use. You can install it: on Ubuntu 22.04 and later, the package is `libfuse2`. Or you can tell the AppImage to unpack itself and run without FUSE: ```sh APPIMAGE_EXTRACT_AND_RUN=1 ./MusaCAD-0.8.0-x86_64.AppImage ``` The [Flathub version](https://wiki.musacad.org/get-started/install-linux/) avoids this completely. ## Nothing happens and there is no message Start Musa CAD from a terminal, so you can see what it prints. On Linux run `flatpak run org.musacad.MusaCAD`, or the AppImage file. On Windows run `musacad.exe` from the install folder in a command prompt. A line starting `[musacad_ui] GL renderer:` shows which graphics driver it found. Include everything it printed when you [report the problem](https://wiki.musacad.org/troubleshooting/bug-reports/). ## Next If Musa CAD starts but drawing is slow or the drawing area stays black, see [The drawing area is black, blank or slow](https://wiki.musacad.org/troubleshooting/drawing-area/). --- # The drawing area is black, blank or slow URL: https://wiki.musacad.org/troubleshooting/drawing-area/ Checked against: Musa CAD 0.8.0 (complete) ## The drawing seems empty Before anything else, make sure the drawing is in view. Type `ZOOM`, then `E` for Extents, and press Enter. Musa CAD zooms to show everything in the drawing. If that shows nothing, check the layers. Type `LAYER` to open the Layer Properties Manager and look for layers that are off or frozen. ## Find out which graphics driver it uses Start Musa CAD from a terminal and look for this line: ```txt [musacad_ui] GL renderer: | ``` - **Your graphics card's name.** Good. If drawing is still slow, see below. - **`llvmpipe` or another software renderer.** No graphics driver is in use. Install your graphics card's driver. To see the frame rate while you work, open **Options** (type `OPTIONS`) and turn on **Show performance overlay**. ## On a laptop with two graphics chips Many laptops have a power-saving graphics chip and a faster one. Musa CAD may start on the slower one. - **Windows:** in **Settings ▸ System ▸ Display ▸ Graphics**, add Musa CAD and choose **High performance**. - **Linux with an NVIDIA card:** put `prime-run` in front of the command that starts Musa CAD, for example `prime-run flatpak run org.musacad.MusaCAD`. Some desktops also offer **Launch using Dedicated Graphics Card** when you right-click the app. - **Linux with two AMD or Intel chips:** start it with `DRI_PRIME=1` in front of the command. ## On Linux under Wayland Musa CAD runs natively on Wayland, from Flathub and from the AppImage. That gives a smoother cursor than running through XWayland. If you suspect Wayland is causing a problem, you can force X11 to compare: ```sh QT_QPA_PLATFORM=xcb ./MusaCAD-0.8.0-x86_64.AppImage ``` If the problem only happens on one of the two, say so when you [report it](https://wiki.musacad.org/troubleshooting/bug-reports/). ## Next If the drawing area does not appear at all, see [Musa CAD will not start](https://wiki.musacad.org/troubleshooting/app-will-not-start/). --- # DWG files do nothing or fail URL: https://wiki.musacad.org/troubleshooting/dwg-files/ Checked against: Musa CAD 0.8.0 (complete) Musa CAD does not include a DWG reader of its own. It hands DWG files to a free converter program that turns them into DXF, and then reads the DXF. [DWG files](https://wiki.musacad.org/file-formats/dwg/) explains this in full. Most DWG problems come down to the converter. ## "No DWG converter found" No converter is installed yet. This is the quickest fix: 1. Choose **DWG Setup…** from the application menu (the Musa CAD logo at the top left). 2. Click **Download ODA File Converter…** and Musa CAD downloads the free converter from the Open Design Alliance. It sets it up for you. 3. Open your DWG again. If you already have the ODA File Converter or LibreDWG's `dwg2dxf` installed, click **Browse…** in DWG Setup and point it at the program instead. On Windows, Musa CAD finds an ODA File Converter installed in `Program Files\ODA` by itself. ## In the Flatpak on a Wayland desktop The ODA File Converter needs an X11 display. A Flatpak on a Wayland desktop has none, so the converter has to run outside the sandbox. Allow that once in a terminal: ```sh flatpak override --user --talk-name=org.freedesktop.Flatpak org.musacad.MusaCAD ``` Musa CAD reminds you of this command when a converter run is refused. The same permission lets the Flatpak use a converter installed on your system: turn on **Use a converter installed on the host (Flatpak)** in DWG Setup. ## "Converter timed out after 120s." The converter took more than two minutes. Very large DWGs can be that slow. Try the file again on a less busy computer. If it always times out, [report it](https://wiki.musacad.org/troubleshooting/bug-reports/) and say how large the file is. ## "Converter exited with code …" The converter itself failed. Musa CAD shows a **DWG import** message with what the converter printed. The DWG may be damaged, or saved by a version of AutoCAD newer than your converter knows. Download the converter again from DWG Setup to get its newest version. ## The DWG opens, but something is missing Musa CAD tells you what it could not bring in. Every import ends with a summary like this: ```txt Imported 412 entities on 9 layers (36 block refs over 12 definitions); skipped 3 unsupported (ACAD_TABLE, MULTILEADER). ``` For a DWG, Musa CAD saves that summary in a log next to the file, named like `plan.dwg.import.log`, and the command line says where. In the Flatpak the summary appears in the command line instead. The object types named after "skipped" are not supported yet. [DXF support](https://wiki.musacad.org/file-formats/dxf/) lists what comes across. ## A DWG you saved looks different in AutoCAD Musa CAD saves DWG by writing DXF first and then converting it, in AutoCAD 2018 format. Everything DXF cannot carry is lost on the way. The [DXF page](https://wiki.musacad.org/file-formats/dxf/#what-changes-on-the-way-out) lists those parts. If the drawing will go back and forth, keep your working copy as `.musa`. ## Next If the file is a DXF or `.musa` file that will not open, see [A file will not open](https://wiki.musacad.org/troubleshooting/file-will-not-open/). --- # A plot or PDF looks wrong URL: https://wiki.musacad.org/troubleshooting/plot-looks-wrong/ Checked against: Musa CAD 0.8.0 (complete) Open the Plot window with `PLOT` (or Ctrl+P), change one setting, and click **Preview…** to check before you plot again. ## The page is empty, or shows the wrong part - **Plot area.** **Display** plots what is on screen now. **Extents** plots everything in the drawing. **Window** plots a rectangle you pick with **Pick Window <**. Choose **Extents** if you are not sure. - **Layers that do not plot.** A layer can be on screen but set not to plot. In the Layer Properties Manager (`LAYER`), check the **Plot** column. Layers that are off or frozen do not plot either. - **A layout with nothing in its viewport.** When you plot a layout, Musa CAD plots the sheet at full size, with whatever its viewports show. Open the layout and check that the viewport shows your drawing. ## Every line has the same thickness Tick **Plot object lineweights** in the Plot window. Then make sure your layers or objects have lineweights set. The **LWT** button on the status bar only changes the screen. It does not change the plot. ## Colours come out in colour, but should be black Set **Plot style (CTB)** to **Monochrome (all black)**. **Grayscale** turns colours into shades of grey. From the command line, add `--monochrome` to `musacad --plot`. ## Dashed lines look solid, or the dashes are huge The dashes are scaled by the linetype scale. If they are too small to see, they look solid. - Type `LTSCALE` and try a bigger value, such as 10 for a drawing in millimetres. A smaller value makes the dashes shorter. - In layouts, `PSLTSCALE` set to 1 scales dashes by each viewport's scale, so they look the same in every viewport. - `MSLTSCALE` set to 1 makes dashes in model space follow the annotation scale. ## The drawing is the wrong size on paper **Fit to paper** scales the plot area to fill the sheet. That is quick, but the drawing is not to scale. To plot at a real scale, untick **Fit to paper** and set **Scale**, for example 1 mm on paper to 5 drawing units for 1:5. Tick **Center the plot** to centre it on the sheet. From the command line, `--fit` fills the sheet and `--scale 1:5` plots at a scale. ## Text is missing or looks different See [Text looks different from the original](https://wiki.musacad.org/troubleshooting/text-looks-wrong/). ## Next The full list of plot options from the command line is in [The command line](https://wiki.musacad.org/scripting/command-line/). --- # Text looks different from the original URL: https://wiki.musacad.org/troubleshooting/text-looks-wrong/ Checked against: Musa CAD 0.8.0 (complete) ## SHX fonts become Musa CAD's own font AutoCAD's classic fonts, such as `txt.shx`, `simplex.shx`, `romans.shx` and `isocp.shx`, are single-stroke fonts in Autodesk's own file format. Musa CAD does not read those files. It draws all of them with its built-in single-stroke font, which looks close to them and keeps the thin "CAD" look. The text keeps its position, height, width factor and slant. Only the letter shapes differ slightly, so long lines of text may end a little earlier or later than in AutoCAD. ## A TrueType font is not installed When a drawing asks for a TrueType font your computer does not have, Musa CAD looks for a lookalike: | Requested | Used instead, if installed | |---|---| | Arial, Helvetica | Liberation Sans, then DejaVu Sans | | Times New Roman | Liberation Serif, then DejaVu Serif | | Courier New | Liberation Mono, then DejaVu Sans Mono | Any other missing font is drawn with the built-in single-stroke font. To get the original look, install the font and open the drawing again. ## Boxes or missing characters A font may not contain every character in the text, such as a symbol or a letter from another alphabet. You can find every such place with the command line: ```sh musacad --check drawing.musa ``` It reports text that uses a character its font cannot draw, as well as text that overlaps other text or runs outside the drawing frame. It exits with code 4 when it finds a problem. Add `--json` for a report a script can read. ## Symbols such as ° and ± show as codes Musa CAD understands AutoCAD's text codes, so `%%d` shows as °, `%%p` as ± and `%%c` as ⌀. A code such as `\U+00B0` shows the Unicode character with that number. When you edit the text, you see the codes again. This is on purpose, so the text saves back unchanged. ## Formatted text from AutoCAD Multiline text keeps AutoCAD's formatting codes, and Musa CAD draws them: heights, colours, fonts, underlines and stacked fractions. Vertical text styles are not supported yet. ## Next If the text is fine on screen but wrong on paper, see [A plot or PDF looks wrong](https://wiki.musacad.org/troubleshooting/plot-looks-wrong/). --- # A file will not open URL: https://wiki.musacad.org/troubleshooting/file-will-not-open/ Checked against: Musa CAD 0.8.0 (complete) ## "Unsupported file format version 46." The drawing was saved by a newer Musa CAD than yours. Musa CAD 0.8.0 opens drawings up to format version 45. [Update Musa CAD](https://wiki.musacad.org/releases/) and the file will open. If you need to send a drawing to someone with an older version, export it as DXF. [The .musa format](https://wiki.musacad.org/file-formats/musa-format/) shows which release writes which format version. ## "Line 1: expected MUSACAD header" The file is not a Musa CAD drawing, even though its name ends in `.musa`. It may be a different kind of file that was renamed, or a download that did not finish. Check its size, and get a fresh copy if you can. A message naming a later line, such as `Line 2051:`, means the file was cut short or edited by hand. The line number shows where the problem is. A `.musa` file is plain text, so you can open it in a text editor and look. ## A DXF opens, but things are missing Musa CAD imports what it supports and tells you what it skipped: ```txt Imported 412 entities on 9 layers; skipped 3 unsupported (ACAD_TABLE, MULTILEADER). ``` [DXF support](https://wiki.musacad.org/file-formats/dxf/) lists what comes across. ## External references or images are missing A drawing can use other files kept beside it, such as external references and images. If those files have moved, the drawing opens without them. Put them back in the same place relative to the drawing and open it again. For external references you can also type `XREF`, then `Reload`, without closing the drawing. ### In the Flatpak The Flatpak only sees the files you pick. When a drawing uses files beside it, Musa CAD asks: ```txt plan.musa uses other files kept beside it: external references or images. ``` Click **Choose Folder…** and pick the folder that holds the drawing. Musa CAD can then load everything in that folder. **Open Without Them** opens just the drawing. ## Keep copies of your work Musa CAD 0.8.0 does not save automatically, and it has no recovery for unsaved work after a crash. Save often with Ctrl+S, and keep backups of important drawings. ## Next For DWG files, see [DWG files do nothing or fail](https://wiki.musacad.org/troubleshooting/dwg-files/). --- # How to report a bug URL: https://wiki.musacad.org/troubleshooting/bug-reports/ Checked against: Musa CAD 0.8.0 (complete) A good bug report gets a problem fixed quickly. Musa CAD helps by writing most of it for you. ## After a crash If Musa CAD closes unexpectedly, it saves a report about what happened. The next time you start it, a window titled **Musa CAD closed unexpectedly** offers that report. The report holds: - the Musa CAD version and your system; - the last commands you ran; - where in the program it stopped. It holds **no drawing contents**, only the drawing's file name. The window shows the whole report, so you can read it before you share it. 1. In the **Musa CAD closed unexpectedly** window, click **Save Report As…** to save a copy, or **Copy** to copy the text. **Open Folder** shows where the report is kept. 2. Open [a new issue](https://github.com/MusaCAD/MusaCAD/issues/new) on GitHub. 3. Say what you were doing when it crashed, and attach the report. ## When it misbehaves without crashing Choose **Save Bug Report…** from the application menu (the Musa CAD logo at the top left). It writes the same kind of report while Musa CAD is still running: the version, your system and your recent commands. Attach it to your issue. ## Where the reports are kept Each report is a text file named `musacad-report-` followed by the date. Older reports stay in the same folder. | Installed as | Folder | |---|---| | Linux, AppImage | `~/.local/share/Musa-CAD/musa_cad/crash-reports` | | Linux, Flatpak | `~/.var/app/org.musacad.MusaCAD/data/Musa-CAD/musa_cad/crash-reports` | | Windows | `%LOCALAPPDATA%\Musa-CAD\musa_cad\crash-reports` | ## What a good issue says - **What you did,** step by step, starting from a new or attached drawing. - **What happened,** and **what you expected** instead. Quote any message exactly. - **Your version and system:** the Musa CAD version, your operating system, and whether you installed from Flathub, the AppImage, a Flatpak file or the Windows installer. - **The drawing,** if you can share it. A small drawing that shows the same problem is even better. If Musa CAD does something differently from AutoCAD, describe what AutoCAD does in your own words. ## Next Back to [Troubleshooting](https://wiki.musacad.org/troubleshooting/), or see [Contributing](https://wiki.musacad.org/developer/contributing/) if you would like to help fix it. --- # Command reference URL: https://wiki.musacad.org/reference/ Checked against: Musa CAD 0.8.0 (partial) Every command in Musa CAD is listed here. Type part of a name, an alias or a word from the description in the box below, and the table narrows down. For example, `REC` finds RECTANG, and `dim` finds every dimension command. Click a command to open its page. Each page shows what Musa CAD itself reports about the command: how to type it, where it is on the ribbon, what it asks first, and the release it arrived in. Pages that also have a written explanation, with a worked example and the differences from AutoCAD, are marked **Complete** or **Partial**. The fifty commands people use every day are written first; [Coming from AutoCAD](https://wiki.musacad.org/get-started/coming-from-autocad/#your-everyday-commands) lists them by kind of work. The rest are being added. - [System variables](https://wiki.musacad.org/reference/system-variables/): The settings you change by typing their name, like PICKBOX or OSMODE. - [Keyboard shortcuts](https://wiki.musacad.org/reference/keyboard-shortcuts/): Function keys, Ctrl shortcuts and the keys the drawing area reads. - [The ribbon, tab by tab](https://wiki.musacad.org/reference/ribbon/): Every button on every tab, and the command behind it. - [-ARRAY](https://wiki.musacad.org/reference/commands/dash-array/): Create a rectangular or polar pattern of copies, by the classic prompts. - [-BEDIT](https://wiki.musacad.org/reference/commands/dash-bedit/): Open the Block Editor on the block named at the command line. - [-BLOCKREPLACE](https://wiki.musacad.org/reference/commands/dash-blockreplace/): Replace every reference of one block by another, at the command line. - [-COLOR](https://wiki.musacad.org/reference/commands/dash-color/) (-COL, -COLOUR): The colour new objects take, on the command line. - [-DIMINSPECT](https://wiki.musacad.org/reference/commands/dash-diminspect/): Add or remove inspection data on dimensions from the command line. - [-DIMSTYLE](https://wiki.musacad.org/reference/commands/dash-dimstyle/): Save, restore or list dimension styles at the command line. - [-DWGUNITS](https://wiki.musacad.org/reference/commands/dash-dwgunits/) (DWGUNITS): Take the drawing to another unit, scaling its objects to match. - [-GROUP](https://wiki.musacad.org/reference/commands/dash-group/) (-G): Group options from the command line: ?, Order, Add, Remove, Explode, REName, Selectable, Create. - [-HATCH](https://wiki.musacad.org/reference/commands/dash-hatch/) (-H): Hatch at the command line: an internal point or the selected boundaries, with Properties. - [-LAYER](https://wiki.musacad.org/reference/commands/dash-layer/) (-LA): Layers at the command line: make, set, add, rename, and switch them on, off, frozen, locked. - [-LAYERSTATE](https://wiki.musacad.org/reference/commands/dash-layerstate/): Named layer states at the command line. - [-LINETYPE](https://wiki.musacad.org/reference/commands/dash-linetype/) (-LT): Linetypes on the command line: ? lists them, Load brings them from a .lin file, Create makes one, Set makes one current. - [-LWEIGHT](https://wiki.musacad.org/reference/commands/dash-lweight/) (-LW): The lineweight new objects take, on the command line. - [-MLEDIT](https://wiki.musacad.org/reference/commands/dash-mledit/): MLEDIT on the command line: [CC/OC/MC/CT/OT/MT/CJ/AV/DV/CS/CA/WA]. - [-MTEXT](https://wiki.musacad.org/reference/commands/dash-mtext/) (-T): Multiline text at the command line, line by line until an empty line. - [-OSNAP](https://wiki.musacad.org/reference/commands/dash-osnap/): Set the running object snaps from a list of modes. - [-PAN](https://wiki.musacad.org/reference/commands/dash-pan/) (-P): Move the view by a displacement: a base point and a second point. - [-PURGE](https://wiki.musacad.org/reference/commands/dash-purge/): Purge from the command line: the type, the names (wild cards), and Verify each name. - [-RENAME](https://wiki.musacad.org/reference/commands/dash-rename/) (-REN): Change the name of a named object, on the command line. - [-STYLE](https://wiki.musacad.org/reference/commands/dash-style/) (-ST): Text styles at the command line: name, font, height, width factor and oblique angle. - [-TABLE](https://wiki.musacad.org/reference/commands/dash-table/): Insert a table, asking its columns, rows and place on the command line. - [-UNITS](https://wiki.musacad.org/reference/commands/dash-units/): Set the units from the command line: the numbered format tables, angle base and direction. - [-VIEW](https://wiki.musacad.org/reference/commands/dash-view/) (-V): Named views at the command line: ?, Delete, Restore, Save, Window. - [ADDSELECTED](https://wiki.musacad.org/reference/commands/addselected/): Draw an object of the kind picked, on its layer and with its colour, linetype and lineweight. - [AIMLEADEREDITADD](https://wiki.musacad.org/reference/commands/aimleadereditadd/): Add Leader: another leader for a multileader, to its landing. - [AIMLEADEREDITREMOVE](https://wiki.musacad.org/reference/commands/aimleadereditremove/): Remove Leader: take a leader away from a multileader. - [ALIASEDIT](https://wiki.musacad.org/reference/commands/aliasedit/): Edit your command aliases: an alias of your own for any command, kept in your PGP file. - [ALIGN](https://wiki.musacad.org/reference/commands/align/) (AL): Move, rotate and optionally scale a selection onto two destination points. - [ARC](https://wiki.musacad.org/reference/commands/arc/) (A): Draw an arc by three points, or from a start, centre or end with an angle, chord, direction or radius. - [AREA](https://wiki.musacad.org/reference/commands/area/) (AA): The area and perimeter of an object or of picked points (Arc, Length, Undo), with Add and Subtract running totals. - [ARRAY](https://wiki.musacad.org/reference/commands/array/) (AR): Create a rectangular, path or polar pattern of copies. - [ARRAYPATH](https://wiki.musacad.org/reference/commands/arraypath/): Distribute copies evenly along a path curve. - [ARRAYPOLAR](https://wiki.musacad.org/reference/commands/arraypolar/): Create a circular pattern of copies about a centre point. - [ARRAYRECT](https://wiki.musacad.org/reference/commands/arrayrect/): Create a rectangular pattern of copies in rows and columns. - [ATTDEF](https://wiki.musacad.org/reference/commands/attdef/) (ATT, -ATTDEF): Define a block attribute: modes, tag, prompt, default value and text placement. - [ATTDISP](https://wiki.musacad.org/reference/commands/attdisp/): Attribute visibility: Normal (each attribute's own mode), ON or OFF for all. - [ATTEDIT](https://wiki.musacad.org/reference/commands/attedit/) (-ATTEDIT): Change an attribute value on a block reference (one tag, or all). - [ATTIN](https://wiki.musacad.org/reference/commands/attin/): Read attribute values back from a file ATTOUT wrote, and set them. - [ATTOUT](https://wiki.musacad.org/reference/commands/attout/): Write the attribute values of block references to a tab-separated file, for a spreadsheet. - [ATTREDEF](https://wiki.musacad.org/reference/commands/attredef/): Redefine a block from objects with attribute definitions; its references keep their values by tag. - [ATTSYNC](https://wiki.musacad.org/reference/commands/attsync/): Give a block's references its attributes as they are now; the values they have are kept. - [AUDIT](https://wiki.musacad.org/reference/commands/audit/): Check the drawing for bad references and structure; optionally fix them. - [BASE](https://wiki.musacad.org/reference/commands/base/): Set the drawing's insertion base point: where it sits when inserted into another drawing. - [BATTMAN](https://wiki.musacad.org/reference/commands/battman/): Block Attribute Manager: edit, reorder, remove a block's attribute definitions and sync its references. - [BCLOSE](https://wiki.musacad.org/reference/commands/bclose/): Close the Block Editor, saving the block or not. - [BEDIT](https://wiki.musacad.org/reference/commands/bedit/) (BE): Open the Block Editor on a block: its objects to edit, the rest of the drawing hidden. - [BLEND](https://wiki.musacad.org/reference/commands/blend/): A spline joining the ends of two objects, tangent (or smooth) to both. - [BLOCK](https://wiki.musacad.org/reference/commands/block/) (B, -BLOCK): Make the selection a block definition (replaced by an insert). - [BLOCKREPLACE](https://wiki.musacad.org/reference/commands/blockreplace/): Replace every reference of one block by another. - [BOUNDARY](https://wiki.musacad.org/reference/commands/boundary/) (BO, -BOUNDARY): Closed polylines round the area enclosing a point, and its islands. - [BREAK](https://wiki.musacad.org/reference/commands/break/) (BR): Break a curve between two points. - [BREAKATPOINT](https://wiki.musacad.org/reference/commands/breakatpoint/): Split a curve at one point, leaving no gap. - [BREAKLINE](https://wiki.musacad.org/reference/commands/breakline/): Draw a break line: a polyline with a zigzag break symbol. - [BSAVE](https://wiki.musacad.org/reference/commands/bsave/): Save the block in the Block Editor, which stays open. - [BURST](https://wiki.musacad.org/reference/commands/burst/): Explode blocks, keeping their attribute values as text. - [CAL](https://wiki.musacad.org/reference/commands/cal/): Evaluate an expression: arithmetic, sin/cos/tan, sqrt, [x,y] points, dist, ang, vec, cvunit. - [CENTERLINE](https://wiki.musacad.org/reference/commands/centerline/) (CL): Draw the centre line between two lines. - [CENTERMARK](https://wiki.musacad.org/reference/commands/centermark/) (CM): Mark the centres of circles and arcs, with centre lines. - [CHAMFER](https://wiki.musacad.org/reference/commands/chamfer/) (CHA): Bevel corners between two intersecting lines. - [CHANGE](https://wiki.musacad.org/reference/commands/change/) (-CH): Change lines' ends, circles' radii, texts and blocks by a point, or their properties. - [CHPROP](https://wiki.musacad.org/reference/commands/chprop/): Change objects' colour, layer, linetype, linetype scale or lineweight at the command line. - [CIRCLE](https://wiki.musacad.org/reference/commands/circle/) (C): Draw a circle by centre and radius or diameter, two or three points, or tangent to objects. - [CLOSE](https://wiki.musacad.org/reference/commands/close/): Close the drawing in front. - [CLOSEALL](https://wiki.musacad.org/reference/commands/closeall/): Close every open drawing. - [COLOR](https://wiki.musacad.org/reference/commands/color/) (COL, COLOUR): The colour new objects take: the Select Color window. - [COPY](https://wiki.musacad.org/reference/commands/copy/) (CO, CP): Duplicate selected objects at a specified offset. - [COPYBASE](https://wiki.musacad.org/reference/commands/copybase/): Copy the selected objects to the clipboard with a base point to paste them by. - [COPYCLIP](https://wiki.musacad.org/reference/commands/copyclip/): Copy the selected objects to the clipboard (Ctrl+C), for this drawing, another one, or another program as a picture. - [COPYTOLAYER](https://wiki.musacad.org/reference/commands/copytolayer/): Copy objects to another layer, in place or moved. - [CUI](https://wiki.musacad.org/reference/commands/cui/): Customize the user interface: keyboard shortcuts of your own for any command, and command aliases. - [CUTBASE](https://wiki.musacad.org/reference/commands/cutbase/): Cut the selected objects to the clipboard with a base point to paste them by. - [CUTCLIP](https://wiki.musacad.org/reference/commands/cutclip/): Cut the selected objects to the clipboard (Ctrl+X). - [DATAEXTRACTION](https://wiki.musacad.org/reference/commands/dataextraction/) (DX, EATTEXT): Count the block references by name and attribute values into a table or a CSV file. - [DATALINK](https://wiki.musacad.org/reference/commands/datalink/) (DL): Open the Data Link Manager: links from tables to CSV files of data. - [DATALINKUPDATE](https://wiki.musacad.org/reference/commands/datalinkupdate/) (DLU): Read linked tables again from their files, or write them back. - [DATUM](https://wiki.musacad.org/reference/commands/datum/) (DIMDATUM): Place a datum feature symbol with its leader triangle. - [DBLIST](https://wiki.musacad.org/reference/commands/dblist/): List every object in the drawing. - [DIM](https://wiki.musacad.org/reference/commands/dim/): Create a dimension suited to the selected object. - [DIMALIGNED](https://wiki.musacad.org/reference/commands/dimaligned/) (DAL): Create a dimension aligned with two points. - [DIMANGULAR](https://wiki.musacad.org/reference/commands/dimangular/) (DAN): Create an angular dimension between two lines. - [DIMARC](https://wiki.musacad.org/reference/commands/dimarc/) (DAR): Create an arc length dimension. - [DIMBASELINE](https://wiki.musacad.org/reference/commands/dimbaseline/) (DBA): Stack dimensions from a common first extension line. - [DIMBREAK](https://wiki.musacad.org/reference/commands/dimbreak/): Break a dimension's lines where objects cross them, or take the breaks away. - [DIMCENTER](https://wiki.musacad.org/reference/commands/dimcenter/) (DCE): Mark the centre of an arc or circle, with centre lines if asked. - [DIMCONTINUE](https://wiki.musacad.org/reference/commands/dimcontinue/) (DCO): Continue a dimension chain from the last dimension's second extension line. - [DIMDIAMETER](https://wiki.musacad.org/reference/commands/dimdiameter/) (DDI): Create a diameter dimension for a circle or arc. - [DIMDISASSOCIATE](https://wiki.musacad.org/reference/commands/dimdisassociate/) (DDA): Dimensions no longer follow the objects they measure. - [DIMEDIT](https://wiki.musacad.org/reference/commands/dimedit/) (DED): Put dimensions' text home, replace or rotate it, or slant their extension lines (Oblique). - [DIMEX](https://wiki.musacad.org/reference/commands/dimex/): Write dimension styles to a file, for another drawing to take in with DIMIM. - [DIMIM](https://wiki.musacad.org/reference/commands/dimim/): Take in the dimension styles of a file DIMEX wrote. - [DIMINSPECT](https://wiki.musacad.org/reference/commands/diminspect/): Make the selected dimensions inspection dimensions: a frame, a label and an inspection rate. - [DIMJOGGED](https://wiki.musacad.org/reference/commands/dimjogged/) (DJO): Create a jogged radius dimension for a large arc. - [DIMJOGLINE](https://wiki.musacad.org/reference/commands/dimjogline/) (DJL): Add a jog to a linear or aligned dimension's line, or take one away. - [DIMLINEAR](https://wiki.musacad.org/reference/commands/dimlinear/) (DLI): Create a horizontal or vertical linear dimension. - [DIMORDINATE](https://wiki.musacad.org/reference/commands/dimordinate/) (DOR): Create an ordinate (X or Y datum) dimension. - [DIMOVERRIDE](https://wiki.musacad.org/reference/commands/dimoverride/) (DOV): Give dimensions settings of their own (DIMTXT, DIMASZ ...), or clear theirs. - [DIMRADIUS](https://wiki.musacad.org/reference/commands/dimradius/) (DRA): Create a radius dimension for a circle or arc. - [DIMREASSOC](https://wiki.musacad.org/reference/commands/dimreassoc/): Take the text overrides off dimensions so they show their measurements again. - [DIMREASSOCIATE](https://wiki.musacad.org/reference/commands/dimreassociate/) (DRE): Dimensions follow the objects they measure again. - [DIMSPACE](https://wiki.musacad.org/reference/commands/dimspace/): Space parallel dimensions evenly from a base dimension, or line them up with it. - [DIMSTYLE](https://wiki.musacad.org/reference/commands/dimstyle/) (D, DST, DDIM): Create and change dimension styles: text, arrows, units and colours, and the current style. - [DIMTEDIT](https://wiki.musacad.org/reference/commands/dimtedit/) (DIMTED): Move or rotate a dimension's text, or slide it Left, Right or to the Center. - [DIST](https://wiki.musacad.org/reference/commands/dist/) (DI): Measure the distance and angle between two points, or along several (Multiple points). - [DIVIDE](https://wiki.musacad.org/reference/commands/divide/) (DIV): Mark a curve into a number of equal segments with points. - [DONUT](https://wiki.musacad.org/reference/commands/donut/) (DO): Draw a filled ring (or disc) from inside/outside diameters. - [DRAWORDER](https://wiki.musacad.org/reference/commands/draworder/) (DR): Draw the objects selected over or under the rest: Front, Back, or above or under objects you pick. - [DWGIN](https://wiki.musacad.org/reference/commands/dwgin/): Import geometry from a DWG file. - [DWGOUT](https://wiki.musacad.org/reference/commands/dwgout/): Export the drawing to a DWG file. - [DWGPROPS](https://wiki.musacad.org/reference/commands/dwgprops/): The drawing's properties: title, subject, author, keywords, comments and custom fields, with its statistics. - [EATTEDIT](https://wiki.musacad.org/reference/commands/eattedit/): Enhanced Attribute Editor: pick a block reference and edit its attribute values in a dialog. - [ELLIPSE](https://wiki.musacad.org/reference/commands/ellipse/) (EL): Draw an ellipse or an elliptical arc. - [ERASE](https://wiki.musacad.org/reference/commands/erase/) (E): Delete selected objects from the drawing. - [EXPLODE](https://wiki.musacad.org/reference/commands/explode/) (X): Break compound objects into their components. - [EXPORT](https://wiki.musacad.org/reference/commands/export/) (EXP, DXFOUT): Write the drawing to a DXF file. - [EXPORTPDF](https://wiki.musacad.org/reference/commands/exportpdf/): Save the layout in front, or the model, as a PDF file. - [EXTEND](https://wiki.musacad.org/reference/commands/extend/) (EX): Extend objects to meet the edges of other objects. - [EXTRIM](https://wiki.musacad.org/reference/commands/extrim/): Trim everything crossing a cutting edge on one side of it. - [FIELD](https://wiki.musacad.org/reference/commands/field/): Place text showing the date, time, file name or login, refreshed on regen. - [FILL](https://wiki.musacad.org/reference/commands/fill/): Whether wide polylines, solids and hatches are filled (ON) or outlined (OFF). - [FILLET](https://wiki.musacad.org/reference/commands/fillet/) (F): Round corners between two intersecting lines, arcs, or polylines. - [FILTER](https://wiki.musacad.org/reference/commands/filter/) (FI): Select by several type and property conditions at once. - [FIND](https://wiki.musacad.org/reference/commands/find/): Find text in the drawing and replace it. - [FLATTEN](https://wiki.musacad.org/reference/commands/flatten/): Set the elevation and thickness of the selected polylines to 0. - [GATTE](https://wiki.musacad.org/reference/commands/gatte/): Change an attribute's value on every reference of a block. - [GRADIENT](https://wiki.musacad.org/reference/commands/gradient/) (GD): Fill an enclosed area or selected objects with a gradient. - [GRID](https://wiki.musacad.org/reference/commands/grid/): Show or hide the grid (F7). - [GROUP](https://wiki.musacad.org/reference/commands/group/) (G): Make the selected objects a named group. - [GROUPEDIT](https://wiki.musacad.org/reference/commands/groupedit/): Add objects to a group, remove objects from it, or rename it. - [HATCH](https://wiki.musacad.org/reference/commands/hatch/) (H, BHATCH): Fill an enclosed area with a pattern or solid color. - [HATCHEDIT](https://wiki.musacad.org/reference/commands/hatchedit/) (HE): Edit a hatch: its pattern, scale and angle, or a new boundary round it. - [HATCHTOBACK](https://wiki.musacad.org/reference/commands/hatchtoback/): Draw every hatch under everything else. - [HELP](https://wiki.musacad.org/reference/commands/help/) (?): Open the command reference (F1). - [HIDEOBJECTS](https://wiki.musacad.org/reference/commands/hideobjects/): Hide the selected objects until UNISOLATEOBJECTS. - [ID](https://wiki.musacad.org/reference/commands/id/): Report the coordinates of a point. - [IMAGEATTACH](https://wiki.musacad.org/reference/commands/imageattach/) (IAT, -IMAGEATTACH): Attach a raster image (PNG, JPEG, BMP, ...): file, embed or reference, insertion point, scale, rotation. - [IMAGECLIP](https://wiki.musacad.org/reference/commands/imageclip/) (ICL): Clip an image to a rectangular boundary, or delete, switch on or off its boundary. - [IMPORT](https://wiki.musacad.org/reference/commands/import/) (IMP, DXFIN): Bring a DXF file into the drawing. - [INSERT](https://wiki.musacad.org/reference/commands/insert/) (I, -INSERT): Insert a block by name with scale and rotation. - [ISODRAFT](https://wiki.musacad.org/reference/commands/isodraft/): Isometric drafting on, in a plane (Left, Top, Right), or off (Orthographic). - [ISOLATEOBJECTS](https://wiki.musacad.org/reference/commands/isolateobjects/): Hide everything but the selected objects until UNISOLATEOBJECTS. - [ISOPLANE](https://wiki.musacad.org/reference/commands/isoplane/): The isometric plane: Left, Top or Right (F5 cycles them). - [JOIN](https://wiki.musacad.org/reference/commands/join/) (J): Join collinear or connected objects into a single object. - [JUSTIFYTEXT](https://wiki.musacad.org/reference/commands/justifytext/): Change the justification of the selected text without moving it. - [LAYCUR](https://wiki.musacad.org/reference/commands/laycur/): Move the selected objects to the current layer. - [LAYDEL](https://wiki.musacad.org/reference/commands/laydel/) (-LAYDEL): Delete the objects on layers. - [LAYER](https://wiki.musacad.org/reference/commands/layer/) (LA): Open the Layer Properties Manager. - [LAYERP](https://wiki.musacad.org/reference/commands/layerp/): Put the layer settings back as they were before the last change. - [LAYERPMODE](https://wiki.musacad.org/reference/commands/layerpmode/): Whether LAYERP keeps track of layer changes. - [LAYERSTATE](https://wiki.musacad.org/reference/commands/layerstate/) (LAS): Save, restore, rename and delete named layer states. - [LAYFRZ](https://wiki.musacad.org/reference/commands/layfrz/): Freeze the layer of each object picked. - [LAYISO](https://wiki.musacad.org/reference/commands/layiso/): Turn off every layer but those of the selected objects. - [LAYLCK](https://wiki.musacad.org/reference/commands/laylck/): Lock the layer of the object picked. - [LAYMCH](https://wiki.musacad.org/reference/commands/laymch/): Put objects on the layer of another object, or a layer named. - [LAYMCUR](https://wiki.musacad.org/reference/commands/laymcur/): Make the layer of the object picked the current layer. - [LAYMRG](https://wiki.musacad.org/reference/commands/laymrg/) (-LAYMRG): Merge layers: their objects moved to a target layer. - [LAYOFF](https://wiki.musacad.org/reference/commands/layoff/): Turn off the layer of each object picked. - [LAYON](https://wiki.musacad.org/reference/commands/layon/): Turn on every layer. - [LAYOUT](https://wiki.musacad.org/reference/commands/layout/) (LO): Layouts (paper space sheets): Copy, Delete, New, Rename, Set, ?. - [LAYTHW](https://wiki.musacad.org/reference/commands/laythw/): Thaw every layer. - [LAYULK](https://wiki.musacad.org/reference/commands/layulk/): Unlock the layer of the object picked. - [LAYUNISO](https://wiki.musacad.org/reference/commands/layuniso/): Turn back on the layers the last LAYISO turned off. - [LAYWALK](https://wiki.musacad.org/reference/commands/laywalk/): Show only the layers chosen in a list, one or several at a time. - [LEADER](https://wiki.musacad.org/reference/commands/leader/): Draw a leader line with an arrowhead and annotation. - [LENGTHEN](https://wiki.musacad.org/reference/commands/lengthen/) (LEN): Change the length of a line or arc. - [LIMITS](https://wiki.musacad.org/reference/commands/limits/): The drawing's limits, and whether points outside them are refused. - [LINE](https://wiki.musacad.org/reference/commands/line/) (L): Create a series of straight-line segments (Close, Undo; Enter continues the last line or arc). - [LINETYPE](https://wiki.musacad.org/reference/commands/linetype/) (LT, LTYPE): The Linetype Manager: the linetypes, the current one, the linetype scales, and Load... from a .lin file. - [LIST](https://wiki.musacad.org/reference/commands/list/) (LI): List the selected objects: kind, layer, space, handle, properties, geometry, area and perimeter. - [LTSCALE](https://wiki.musacad.org/reference/commands/ltscale/) (LTS): Set the global linetype scale factor. - [LWEIGHT](https://wiki.musacad.org/reference/commands/lweight/) (LW, LINEWEIGHT): The lineweight new objects take, and whether lineweights show: Lineweight Settings. - [MASSPROP](https://wiki.musacad.org/reference/commands/massprop/): The area, perimeter, bounding box, centroid, moments of inertia and radii of gyration of closed shapes. - [MATCHPROP](https://wiki.musacad.org/reference/commands/matchprop/) (MA, PAINTER): Copy properties from a source object to one or more target objects. - [MEASURE](https://wiki.musacad.org/reference/commands/measure/) (ME): Mark a curve at set intervals with points. - [MEASUREGEOM](https://wiki.musacad.org/reference/commands/measuregeom/) (MEA): Measure Distance, Radius, Angle, ARea or Volume, or click objects in Quick mode. - [MIRROR](https://wiki.musacad.org/reference/commands/mirror/) (MI): Create a mirror-image copy of objects across an axis. - [MLEADER](https://wiki.musacad.org/reference/commands/mleader/) (MLD): Draw a multileader: an arrowhead, a leader line and a landing, and its text. - [MLEADERALIGN](https://wiki.musacad.org/reference/commands/mleaderalign/) (MLA): Line up the text of the selected multileaders along a direction. - [MLEADEREDIT](https://wiki.musacad.org/reference/commands/mleaderedit/) (MLE): Add leaders to a multileader, or take leaders away from it. - [MLEADERSTYLE](https://wiki.musacad.org/reference/commands/mleaderstyle/) (MLS): Open the Multileader Style Manager: the styles new multileaders take. - [MLEDIT](https://wiki.musacad.org/reference/commands/mledit/): Edit multilines: crosses, tees, a corner joint, vertices added or deleted, cuts and welds. - [MLINE](https://wiki.musacad.org/reference/commands/mline/) (ML): Draw a multiline: parallel lines along a path, in a multiline style ([Justification/Scale/STyle]). - [MLSTYLE](https://wiki.musacad.org/reference/commands/mlstyle/): Open the Multiline Style window: the styles multilines are drawn in -- their lines, ends, joints and fill. - [MOCORO](https://wiki.musacad.org/reference/commands/mocoro/): Move, rotate and scale the selection in one command, with copies if asked. - [MODEL](https://wiki.musacad.org/reference/commands/model/): Switch to model space. - [MOVE](https://wiki.musacad.org/reference/commands/move/) (M): Move selected objects a specified distance and direction. - [MPEDIT](https://wiki.musacad.org/reference/commands/mpedit/): Edit several polylines at once (PEDIT's Multiple). - [MREDO](https://wiki.musacad.org/reference/commands/mredo/): Redo several undone steps, or all of them. - [MSPACE](https://wiki.musacad.org/reference/commands/mspace/) (MS): Edit model space through a viewport; PSPACE returns to the sheet with the view you leave. - [MTEXT](https://wiki.musacad.org/reference/commands/mtext/) (MT, T): Create a multiline (paragraph) text object. - [MULTIPLE](https://wiki.musacad.org/reference/commands/multiple/): Repeat a command until Esc (MULTIPLE POINT places point after point). - [MVIEW](https://wiki.musacad.org/reference/commands/mview/) (MV): A viewport on the layout showing model space: two corners or Fit; ON, OFF, Scale, Center. - [NAVBAR](https://wiki.musacad.org/reference/commands/navbar/): Show or hide the navigation bar: Pan and the Zoom tools at the drawing's right edge. - [NCOPY](https://wiki.musacad.org/reference/commands/ncopy/): Copy objects out of a block reference, leaving the reference as it is. - [NEW](https://wiki.musacad.org/reference/commands/new/): Start a new drawing. - [NEWVIEW](https://wiki.musacad.org/reference/commands/newview/): Save the current view under a name. - [OFFSET](https://wiki.musacad.org/reference/commands/offset/) (O): Create a parallel copy of a curve at a specified distance. - [OOPS](https://wiki.musacad.org/reference/commands/oops/): Bring back the objects the last ERASE removed, keeping everything done since. - [OPEN](https://wiki.musacad.org/reference/commands/open/): Open a drawing. - [OPTIONS](https://wiki.musacad.org/reference/commands/options/) (OP): Change application settings: update checks and the performance overlay. - [ORTHO](https://wiki.musacad.org/reference/commands/ortho/): Turn orthogonal drawing on or off (F8). - [OSNAP](https://wiki.musacad.org/reference/commands/osnap/) (OS, DDOSNAP, DS, DSETTINGS, SE, DDRMODES, RM): Open the Drafting Settings: snap and grid, polar tracking, object snaps, dynamic input. - [OVERKILL](https://wiki.musacad.org/reference/commands/overkill/) (-OVERKILL): Delete duplicate objects and combine overlapping collinear lines. - [PAGESETUP](https://wiki.musacad.org/reference/commands/pagesetup/): Name, change and delete page setups, and choose the one PLOT starts from. - [PAN](https://wiki.musacad.org/reference/commands/pan/) (P): Move the view with a drag. - [PASTEBLOCK](https://wiki.musacad.org/reference/commands/pasteblock/): Paste copied objects as one block at a point. - [PASTECLIP](https://wiki.musacad.org/reference/commands/pasteclip/): Paste the clipboard (Ctrl+V): drawing objects, an image, or text as multiline text. - [PASTEORIG](https://wiki.musacad.org/reference/commands/pasteorig/): Paste copied objects at the coordinates they had. - [PEDIT](https://wiki.musacad.org/reference/commands/pedit/) (PE): Edit a polyline, or several (Multiple): close/open, join, width, vertices, fit, spline, decurve, reverse. - [PLAN](https://wiki.musacad.org/reference/commands/plan/): The drawing seen from above, its extents in view. - [PLINE](https://wiki.musacad.org/reference/commands/pline/) (PL): Draw a connected sequence of line and arc segments as one object (Arc, Close, Length, Undo). - [PLOT](https://wiki.musacad.org/reference/commands/plot/) (PRINT): Plot or print the drawing to paper or PDF. - [POINT](https://wiki.musacad.org/reference/commands/point/) (PO): Place point objects; Esc ends. - [POLYGON](https://wiki.musacad.org/reference/commands/polygon/) (POL): Draw a regular polygon by centre or by one edge. - [PREVIEW](https://wiki.musacad.org/reference/commands/preview/) (PRE): Show the plot as it will come out, with the last plot's settings. - [PROPERTIES](https://wiki.musacad.org/reference/commands/properties/) (PR, PROPS, CH): Open the Properties palette to view and edit object properties. - [PSPACE](https://wiki.musacad.org/reference/commands/pspace/) (PS): Switch to paper space (the first layout). - [PTYPE](https://wiki.musacad.org/reference/commands/ptype/) (DDPTYPE): The point display mode and size (PDMODE and PDSIZE). - [PUBLISH](https://wiki.musacad.org/reference/commands/publish/): Plot the model and the layouts chosen into one PDF, a page each. - [PURGE](https://wiki.musacad.org/reference/commands/purge/) (PU): Remove unused layers from the drawing. - [QDIM](https://wiki.musacad.org/reference/commands/qdim/): Dimension the selected geometry at once: a chain, staggered, from a baseline, ordinates, radii or diameters. - [QLEADER](https://wiki.musacad.org/reference/commands/qleader/) (LE, QL): Draw a quick leader with an arrowhead and annotation. - [QSAVE](https://wiki.musacad.org/reference/commands/qsave/): Save the drawing under its name (Save As the first time). - [QSELECT](https://wiki.musacad.org/reference/commands/qselect/): Select by object type and property (the Quick Select dialog). - [QUICKCALC](https://wiki.musacad.org/reference/commands/quickcalc/) (QC): The calculator palette: a number pad, scientific functions and unit conversion. - [QUIT](https://wiki.musacad.org/reference/commands/quit/) (EXIT): Quit Musa CAD, asking to save what is not saved. - [RAY](https://wiki.musacad.org/reference/commands/ray/): Draw a semi-infinite construction line. - [RECTANG](https://wiki.musacad.org/reference/commands/rectang/) (REC, RECTANGLE): Draw a rectangle from two opposite corners. - [REDO](https://wiki.musacad.org/reference/commands/redo/): Redo the last step undone. - [REFCLOSE](https://wiki.musacad.org/reference/commands/refclose/): Save the working set back into the block definition, or discard the changes. - [REFEDIT](https://wiki.musacad.org/reference/commands/refedit/): Edit a block definition in place: its members become a working set until REFCLOSE. - [REFSET](https://wiki.musacad.org/reference/commands/refset/): Add objects to, or remove them from, the working set of the reference being edited. - [REGEN](https://wiki.musacad.org/reference/commands/regen/) (DIMREGEN, RE, REA, REGENALL, R, REDRAW, RA, REDRAWALL): Redraw the dimensions (with the drawing). - [REINIT](https://wiki.musacad.org/reference/commands/reinit/): Read your command aliases (the PGP file) again. - [RENAME](https://wiki.musacad.org/reference/commands/rename/) (REN): Change the name of a block, dimension style, layer, text style, table style or view. - [REVCLOUD](https://wiki.musacad.org/reference/commands/revcloud/): Draw a revision cloud, or turn an object into one. - [REVERSE](https://wiki.musacad.org/reference/commands/reverse/): Make lines, polylines and splines run the other way. - [ROTATE](https://wiki.musacad.org/reference/commands/rotate/) (RO): Rotate selected objects around a base point. - [SAVEAS](https://wiki.musacad.org/reference/commands/saveas/) (SAVE): Save the drawing under a name you choose. - [SCALE](https://wiki.musacad.org/reference/commands/scale/) (SC): Resize selected objects uniformly about a base point. - [SCALETEXT](https://wiki.musacad.org/reference/commands/scaletext/): Scale the selected text, each about a point of its own. - [SELECT](https://wiki.musacad.org/reference/commands/select/): Select objects with AutoCAD's keywords (Window, Crossing, Fence, WPolygon, ALL, Last, Previous ...); the set stays for the next command. - [SELECTSIMILAR](https://wiki.musacad.org/reference/commands/selectsimilar/): Select every object of the same kind and properties as the selected ones (SELECTSIMILARMODE). - [SETVAR](https://wiki.musacad.org/reference/commands/setvar/) (SET): Change a system variable by its name. - [SKETCH](https://wiki.musacad.org/reference/commands/sketch/): Draw freehand: press and drag; each stroke becomes lines, a polyline or a spline. - [SNAP](https://wiki.musacad.org/reference/commands/snap/) (SN): Set the snap spacing, or turn grid snap on or off (F9). - [SOLID](https://wiki.musacad.org/reference/commands/solid/) (SO): Draw filled triangles and quadrilaterals. - [SPLINE](https://wiki.musacad.org/reference/commands/spline/) (SPL): Draw a spline through fit points or by control vertices. - [SPLINEDIT](https://wiki.musacad.org/reference/commands/splinedit/) (SPE): Edit a spline: its control points, reverse it, or make it a polyline. - [STATUS](https://wiki.musacad.org/reference/commands/status/): The drawing's object count, extents, drafting modes and current settings. - [STRETCH](https://wiki.musacad.org/reference/commands/stretch/) (S): Move the parts of objects inside a crossing window, keeping the rest anchored. - [STYLE](https://wiki.musacad.org/reference/commands/style/) (ST): Create or change a named text style and make it current. - [TABLE](https://wiki.musacad.org/reference/commands/table/) (TB): Insert a table of rows and columns for a BOM, revision block or parts list. - [TABLEEDIT](https://wiki.musacad.org/reference/commands/tableedit/): Edit the text of a table cell. - [TABLEEXPORT](https://wiki.musacad.org/reference/commands/tableexport/): Write a table's cells to a CSV file. - [TABLESTYLE](https://wiki.musacad.org/reference/commands/tablestyle/) (TS): Create, change and set the current table style. - [TCASE](https://wiki.musacad.org/reference/commands/tcase/): Change the case of the selected text: Sentence, lower, UPPER, Title or tOGGLE. - [TCOUNT](https://wiki.musacad.org/reference/commands/tcount/): Number texts in order: the number before, after or instead of the text, or in place of a search string. - [TEXT](https://wiki.musacad.org/reference/commands/text/) (DT, DTEXT): Create a single-line text object. - [TEXTEDIT](https://wiki.musacad.org/reference/commands/textedit/) (ED, DDEDIT): Edit the contents of an existing text object. - [TEXTFIT](https://wiki.musacad.org/reference/commands/textfit/): Stretch or shrink a text between two points by its width factor. - [TEXTMASK](https://wiki.musacad.org/reference/commands/textmask/): Put a wipeout behind the selected text. - [TEXTTOFRONT](https://wiki.musacad.org/reference/commands/texttofront/): Draw the drawing's text, dimensions or leaders over everything else. - [TFRAMES](https://wiki.musacad.org/reference/commands/tframes/): Turn the frames of wipeouts and images off, or on again. - [TIME](https://wiki.musacad.org/reference/commands/time/): The current time, the drawing's creation and last-saved times, the total editing time and the elapsed timer. - [TOLERANCE](https://wiki.musacad.org/reference/commands/tolerance/) (TOL): Create a feature control frame with geometric tolerance symbols. - [TOOLPALETTES](https://wiki.musacad.org/reference/commands/toolpalettes/) (TP): Open the Tool Palettes: commands, hatches and the drawing's blocks a click away (Ctrl+3). - [TOOLPALETTESCLOSE](https://wiki.musacad.org/reference/commands/toolpalettesclose/): Close the Tool Palettes. - [TRACE](https://wiki.musacad.org/reference/commands/trace/): Draw wide line segments (a polyline with a width). - [TRIM](https://wiki.musacad.org/reference/commands/trim/) (TR): Trim objects to meet the edges of other objects. - [TXT2MTXT](https://wiki.musacad.org/reference/commands/txt2mtxt/): Convert the selected single-line text to one multiline text. - [TXTEXP](https://wiki.musacad.org/reference/commands/txtexp/): Turn text into polylines: the strokes of its letters, or their outlines in a TrueType font. - [U](https://wiki.musacad.org/reference/commands/u/) (UNDO): Reverse the most recent action. - [UCSICON](https://wiki.musacad.org/reference/commands/ucsicon/): Show or hide the UCS icon, at the origin or in the lower-left corner. - [UNGROUP](https://wiki.musacad.org/reference/commands/ungroup/): Dissolve a group. - [UNISOLATEOBJECTS](https://wiki.musacad.org/reference/commands/unisolateobjects/) (UNHIDEOBJECTS): Show the objects ISOLATEOBJECTS or HIDEOBJECTS hid. - [UNITS](https://wiki.musacad.org/reference/commands/units/) (UN): Set the display format and precision of lengths and angles (the Drawing Units dialog). - [UPDATEFIELD](https://wiki.musacad.org/reference/commands/updatefield/): Work out the fields in the selected objects again. - [VIEW](https://wiki.musacad.org/reference/commands/view/) (V): Save, restore or delete named views. - [VPLAYER](https://wiki.musacad.org/reference/commands/vplayer/): Layer visibility per viewport: Freeze / Thaw layers in the current, all or a picked viewport; Reset, Newfrz, Vpvisdflt, ?. - [VPORTS](https://wiki.musacad.org/reference/commands/vports/) (-VPORTS, VIEWPORTS): Tiled model-space viewports: split the current one in 2, 3 or 4; SIngle; Join; Save, Restore, Delete and ? for named configurations. - [VPSCALE](https://wiki.musacad.org/reference/commands/vpscale/): Report the scale of a layout viewport. - [VPSYNC](https://wiki.musacad.org/reference/commands/vpsync/): Line layout viewports up with a master viewport, at its scale. - [WBLOCK](https://wiki.musacad.org/reference/commands/wblock/) (W): Write a block, or the whole drawing, to a .musa file. - [WIPEOUT](https://wiki.musacad.org/reference/commands/wipeout/): Mask what lies beneath a polygon (text still shows through); [Frames] and [Polyline]. - [WORKSPACE](https://wiki.musacad.org/reference/commands/workspace/): Make a workspace current, or save, rename, delete or list them. - [WSSAVE](https://wiki.musacad.org/reference/commands/wssave/): Save the palettes, the ribbon and the Quick Access Toolbar as they are, as a workspace. - [XLINE](https://wiki.musacad.org/reference/commands/xline/) (XL): Draw an infinite construction line. - [XLIST](https://wiki.musacad.org/reference/commands/xlist/): List an object nested in a block reference or xref: what it is, the block, its layer, colour and linetype. - [XREF](https://wiki.musacad.org/reference/commands/xref/) (XR, -XREF): External references: attach a drawing as a block that follows its file; detach, reload, ?. - [ZOOM](https://wiki.musacad.org/reference/commands/zoom/) (Z): Zoom in or out to change the view magnification. --- # System variables URL: https://wiki.musacad.org/reference/system-variables/ Checked against: Musa CAD 0.8.0 (partial) A system variable is a setting with a name, like `PICKBOX` (the size of the pick box) or `OSMODE` (which object snaps are on). To change one, type its name and press Enter. Musa CAD shows the current value in angle brackets and asks for a new one: ```musacad Command: PICKBOX Enter new value for PICKBOX <10>: 6 ``` You can also use `SETVAR`, which asks for the variable's name first. `SETVAR ?` lists the variables it knows. The **Starts as** column is the value a fresh install begins with. It is read from Musa CAD itself when this wiki is built. Some variables are kept between sessions, some with each drawing, and some only until you close the program; each variable's page will say which as the pages are written. - [3DOSMODE](https://wiki.musacad.org/reference/system-variables/3dosmode/): The 3D object snaps: 2 vertex, 4 midpoint on edge, 8 centre of face, 16 knot, 32 perpendicular, 64 nearest to face; 1 all off (F4). Starts as 11. - [AUTOSNAP](https://wiki.musacad.org/reference/system-variables/autosnap/): AutoSnap and AutoTrack: 8 polar tracking, 16 object snap tracking. Starts as 39. - [CECOLOR](https://wiki.musacad.org/reference/system-variables/cecolor/): The colour new objects take: BYLAYER, BYBLOCK, a colour number or name. Starts as "BYLAYER". - [CELTSCALE](https://wiki.musacad.org/reference/system-variables/celtscale/): The linetype scale new objects are created with. Starts as 1.0000. - [CELTYPE](https://wiki.musacad.org/reference/system-variables/celtype/): The linetype new objects take. Starts as "BYLAYER". - [CELWEIGHT](https://wiki.musacad.org/reference/system-variables/celweight/): The lineweight new objects take: -1 ByLayer, -3 Default, or hundredths of a millimetre. Starts as -1. - [CETRANSPARENCY](https://wiki.musacad.org/reference/system-variables/cetransparency/): The transparency new objects take: ByLayer, ByBlock, or 0 to 90 percent. Starts as "ByLayer". - [CHAMFERA](https://wiki.musacad.org/reference/system-variables/chamfera/): CHAMFER's first distance. Starts as 0.0000. - [CHAMFERB](https://wiki.musacad.org/reference/system-variables/chamferb/): CHAMFER's second distance. Starts as 0.0000. - [CHAMFERC](https://wiki.musacad.org/reference/system-variables/chamferc/): CHAMFER's length, by the Angle method. Starts as 0.0000. - [CHAMFERD](https://wiki.musacad.org/reference/system-variables/chamferd/): CHAMFER's angle from the first line, by the Angle method. Starts as 0. - [CMLJUST](https://wiki.musacad.org/reference/system-variables/cmljust/): MLINE's justification: 0 Top, 1 Zero, 2 Bottom. Starts as 0. - [CMLSCALE](https://wiki.musacad.org/reference/system-variables/cmlscale/): MLINE's scale: the multiline style's offsets times it (negative: the other way round). Starts as 20.0000. - [DIMADEC](https://wiki.musacad.org/reference/system-variables/dimadec/): Set a dimension variable of the current dimension style. Starts as -1. - [DIMALT](https://wiki.musacad.org/reference/system-variables/dimalt/): Set a dimension variable of the current dimension style. Starts as 0. - [DIMALTD](https://wiki.musacad.org/reference/system-variables/dimaltd/): Set a dimension variable of the current dimension style. Starts as 2. - [DIMALTF](https://wiki.musacad.org/reference/system-variables/dimaltf/): Set a dimension variable of the current dimension style. Starts as 25.4000. - [DIMALTRND](https://wiki.musacad.org/reference/system-variables/dimaltrnd/): Set a dimension variable of the current dimension style. Starts as 0.0000. - [DIMALTU](https://wiki.musacad.org/reference/system-variables/dimaltu/): Set a dimension variable of the current dimension style. Starts as 2. - [DIMASSOC](https://wiki.musacad.org/reference/system-variables/dimassoc/): Whether the dimensions drawn follow the objects they measure. Starts as 2. - [DIMASZ](https://wiki.musacad.org/reference/system-variables/dimasz/): Set a dimension variable of the current dimension style. Starts as 2.5000. - [DIMATFIT](https://wiki.musacad.org/reference/system-variables/dimatfit/): Set a dimension variable of the current dimension style. Starts as 0. - [DIMAUNIT](https://wiki.musacad.org/reference/system-variables/dimaunit/): Set a dimension variable of the current dimension style. Starts as 0. - [DIMBLK](https://wiki.musacad.org/reference/system-variables/dimblk/): Set a dimension variable of the current dimension style. Starts as 0. - [DIMCLRD](https://wiki.musacad.org/reference/system-variables/dimclrd/): Set a dimension variable of the current dimension style. Starts as BYLAYER. - [DIMCLRE](https://wiki.musacad.org/reference/system-variables/dimclre/): Set a dimension variable of the current dimension style. Starts as BYLAYER. - [DIMCLRT](https://wiki.musacad.org/reference/system-variables/dimclrt/): Set a dimension variable of the current dimension style. Starts as BYLAYER. - [DIMDEC](https://wiki.musacad.org/reference/system-variables/dimdec/): Set a dimension variable of the current dimension style. Starts as 2. - [DIMDSEP](https://wiki.musacad.org/reference/system-variables/dimdsep/): Set a dimension variable of the current dimension style. Starts as .. - [DIMEXE](https://wiki.musacad.org/reference/system-variables/dimexe/): Set a dimension variable of the current dimension style. Starts as 1.2500. - [DIMEXO](https://wiki.musacad.org/reference/system-variables/dimexo/): Set a dimension variable of the current dimension style. Starts as 0.6000. - [DIMFRAC](https://wiki.musacad.org/reference/system-variables/dimfrac/): Set a dimension variable of the current dimension style. Starts as 0. - [DIMJUST](https://wiki.musacad.org/reference/system-variables/dimjust/): Set a dimension variable of the current dimension style. Starts as 0. - [DIMLAYER](https://wiki.musacad.org/reference/system-variables/dimlayer/): The layer new dimensions go on; . for the current layer. Starts as use current. - [DIMLFAC](https://wiki.musacad.org/reference/system-variables/dimlfac/): Set a dimension variable of the current dimension style. Starts as 1.0000. - [DIMLUNIT](https://wiki.musacad.org/reference/system-variables/dimlunit/): Set a dimension variable of the current dimension style. Starts as 2. - [DIMLWD](https://wiki.musacad.org/reference/system-variables/dimlwd/): Set a dimension variable of the current dimension style. Starts as 25. - [DIMRND](https://wiki.musacad.org/reference/system-variables/dimrnd/): Set a dimension variable of the current dimension style. Starts as 0.0000. - [DIMTAD](https://wiki.musacad.org/reference/system-variables/dimtad/): Set a dimension variable of the current dimension style. Starts as 1. - [DIMTFAC](https://wiki.musacad.org/reference/system-variables/dimtfac/): Set a dimension variable of the current dimension style. Starts as 1. - [DIMTMOVE](https://wiki.musacad.org/reference/system-variables/dimtmove/): Set a dimension variable of the current dimension style. Starts as 0. - [DIMTXT](https://wiki.musacad.org/reference/system-variables/dimtxt/): Set a dimension variable of the current dimension style. Starts as 2.5000. - [DIMTXTDIRECTION](https://wiki.musacad.org/reference/system-variables/dimtxtdirection/): Set a dimension variable of the current dimension style. Starts as 0. - [DIMZIN](https://wiki.musacad.org/reference/system-variables/dimzin/): Set a dimension variable of the current dimension style. Starts as 0. - [DYNDIGRIP](https://wiki.musacad.org/reference/system-variables/dyndigrip/): The fields a grip's stretch shows: 1 the resulting length, 2 the length change, 4 the absolute angle, 8 the angle change, 16 an arc's radius (31). Starts as 31. - [DYNDIVIS](https://wiki.musacad.org/reference/system-variables/dyndivis/): How many of a grip's fields show: 0 the length change, 1 it and the resulting length, 2 all DYNDIGRIP asks for. Starts as 1. - [DYNMODE](https://wiki.musacad.org/reference/system-variables/dynmode/): Dynamic Input: 1 pointer input, 2 dimensional input, 3 both, 0 off (negative: off, F12 turns it back on). Starts as 3. - [DYNPICOORDS](https://wiki.musacad.org/reference/system-variables/dynpicoords/): Dynamic Input's second and next points as relative (0) or absolute (1) coordinates. Starts as 0. - [DYNPIFORMAT](https://wiki.musacad.org/reference/system-variables/dynpiformat/): Pointer input shows a next point polar (0, distance