The Mark command will help you quickly place texts on a drawing field with part numbers or their sizes. The program can extract properties from any objects in the drawing. If you are drawing solid models of parts, you can use the Mark command to describe parts of chipboard laid out on the floor or podium or, for example, for marking assemblies of flat walls. But you can use the command in flat drawings as well. For example, to label the lengths of lines or areas of shapes.
Another useful feature of the Mark command is the placement of special Info-Points - blocks with invisible attributes under parts or assemblies. Info points can store any properties of objects: dimensions, color, layer, name, description, etc. Then you can extract data from the Info points with the usual command _DataExtract and insert the data into an Excel spreadsheet.
Select objects both in the model and all visible in the viewport on the sheet.
Skip Annotations objects. Filter unwanted objects by layer, type, manufacturing technology.
Call the Numbering program to assign names to all objects (except blocks).
Calculate the geometric center of objects as a mark insertion point.
Move marks higher or lower parts dimensions.
Insert Label into the drawing - multitexts with the description of objects.
Insert Info-Points into the drawing - blocks with a point and invisible attributes.
Insert arbitrary blocks with attributes into the drawing.
Use paper space to place marks over objects visible in the viewport.
Arrange texts in the model in the current UCS (coordinate system).
Customize the style and size of texts, include frames around the texts.
Easy create new info-points, edit the set of their attributes.
Quickly switch between nine mark styles directly while selecting objects, without opening the settings window.
Find and delete old marks among the selected objects.
Find and delete old marks that are visible in the viewport or drawn over the viewport.
Manage layers - you can create your own layer for labels. In over case the Annotation and Info layers are used.
Download the plugin in the AVC_Mark_nnnn_nn.7z archive
In theory, I could teach a program to mark parts within blocks. I am waiting for someone to stimulate this work financially.
Sheets of a chipboard of a podium are marked by Labels with their dimensions. And in the right viewport the part numbers are put in _TagCircle blocks.
The shelf is marked with Info-Points with attributes describing every detail.
Wall blocks are marked with Labels in the "Under" position. For the left wall, a UCS turn was made before calling Mark command.
The Mark command is able to work with perspective viewports.
If you want to place your own blocks as marks, you need to create a block in advance.
You can call the Mark command from both the model and the paper. You can select objects by entering the viewport and then you will have the opportunity to place marks on the paper.
If you place marks in the model, select the desired coordinate system with the command _UCS. Texts and blocks will be expanded into the XY plane of the current UCS.
You can pre-select the marked objects, but then you will not have options to customize the command.
Use the _QSelect or SSO commands to select only the objects you need.
Call the Mark command.
If nothing is selected yet, the command will prompt you to select objects.
At the same time, select old marks if they need to be removed.
You can select a viewport or several viewports - then the program will mark everything that is visible in them now.
It's okay if you capture texts, dimensions and other annotations - the program will ignore them by default and will not try to label them.
In the selection query, you will see 2 options:
SwitchMarkStyle - quickly switch between nine sets of settings.
TUNE - call setup dialog.
After pressing Enter, the program will start.
First, old marks will be removed from the selected objects, from the viewport and from the paper space above it.
Then the program will collect all data from the selected objects.
All solids will receive a metric. Moreover, the measurement will be done again even if the metric has already been. Just in case.
Then the program will build the Data Table. It will be used to number the parts and count their number. This is done in case you are displaying the number of identical parts in marks.
Then new marks will be created.
A progress bar is displayed. Messages of the program are displayed in the command line.
Attention! The program does not support marks update. When calling the command for the same objects again, the labels will be placed again at the same points and superimposed on each other. Choose old marks with the marked objects and then the program will delete them.
Right in the heading of the Mark section, you can choose from the list one of the styles (sets of settings) of the marking.
+ You can add your new style. In this case, all settings will be copied from the current style. The program will assign the number to the style itself.
- You can remove the extra style
Also in the header there is a button to reset all the settings of this style.
The name for this mark style. Not used in the program. Only for convenience of choice.
Filter of selected objects
Filtering is needed to discard drawing objects that accidentally fall into the selection frame. It is easier to select all the objects of the model in a row, and let the program select only the necessary ones from them. You can read more about filtering on the Data Table page.
Own layer - Create a separate layer for the marks of this style. Otherwise, the Annotation layer will be used for the Label and Block, and the Info layer - for the Info-Points. Layer management can be disabled in the Common Options and settings of the Auto-Annotation command. Then the current layer will be used.
Delete old marks - Delete all old marks with same style. Delete only marks that are among the objects you have selected. When you select a viewport, all marks visible in the model and marks on paper that fall on the viewport will be deleted.
Numbering solids - Call NUMBERING command before. All objects to be marked, except for blocks, will be named as sequential numbers. Names (Numbers) are saved in drawing objects (in xData) and can be used in other A>V>C> commands. Numbering has several settings of its own - see here.
Multiplication Request - Query the number by which the amount of objects will be multiplied. Use to calculate the amount of parts in a batch. The multiplier is stored in the drawing properties. Even if it was not requested, the amount will still be multiplied by it.
The rest of the options from this list affect only the numbering of objects. You can see their purpose and description on the Data Table page.
Lable - Create visible MText for each detail.
InfoPoint - Create block - point with invisible attributes.
Block - Use any your block with non-constant attributes.
The location of the marks relative to the described parts. Part dimensions are calculated in the current coordinate system (UCS)
In the Center - In the geometric center of the details or blocks.
Above - Over the dimensions of the detail.
Under - Under the dimensions of the detail.
Z = 0 - Project the mark's location on the XY plane of the current coordinate system.
Text options (for the Label mark type)
Style - Label text style. Leave blank to use current style.
Height - Text size. Set the value to zero to use the value from the system variable TextSize
Text Frame - Draw a frame around the text. Frames appeared only in AutoCAD 2016 and BricsCAD V19
Format - Formatting string with substitutions. In mask you can use any MText format symbols (like \P for new line) and you can use solid parameter replacement (substitutions). Used for Labels and all block attributes that have no default value.
Use the list "<---" to insert substitutions at the current position of the format string. The list contains all standard substitutions.
When choosing the Info-Point mark type, the program will create a new block with a visible point and a set of invisible attributes. InfoPoints are suitable for further data detail extraction (DataExtraction). The list of attributes you can edit.
Adjust the display of points by the variables PDMode (I like 35) and PDSize (default 0). The point mode will automatically switch to 35 if it was 0 and info-points were used.
The attribute list for InfoPoint has 2 columns:
Attribute - Tag (name) of block attribute
Format - Insert one or more substitutions here. If you leave a blank line, then the Format string of Labels will be inserted into the attribute. You can insert text into the format without substitutions, and after marking, fill in the attribute values of each block manually using the usual properties panel.
To call the substitution selection dialog, enter the table cell editing mode (double click or Enter).
The list of attributes has a button to add another attribute. It also invokes the substitution selection dialog.
To remove an attribute, click on the current line pointer and press the Del button.
I do not recommend editing the attribute list when Info-Points of this style are already placed in the drawing. You can get a potentially problematic situation when there are attributes in block inserts that are not in the block definition.
Info-Points themselves will not be updated after editing the list of attributes. You will need to delete all info-points and insert them again.
Block - The name of the block used as a mark. The block must contain non-constant attributes. The default attribute value may contain substitutions. If the attribute does not have a default value, the Format string will be used. And if a block has only 1 attribute and there are no substitutions in its definition, the Format string will also be applied. This makes it easier to create blocks with a single attribute. All substitutions for it can be configured in the Format line without leaving the Mark Settings dialog. For example, you can use the standard _TagCircle block (an attribute in a circle), which AutoCAD uses for leader. You can use a block from dwt-template. A template from the Common Options is used.
On Paper - If possible, insert the block into the paper space. Use only for blocks with flat (2D) graphics.
Convert number to string
When a program finds a substitution and replaces it with an object property, it needs to know how to format numbers, how many characters to write. It is possible to write the format into each substitution. But if you did not specify the format in the substitution, then these settings will be used.
This setting is used only for converting size numbers to a string. It does not apply to areas, volumes, prices and other figures. The format can always be overridden in the substitution itself. The format is ignored when substituting AutoCAD fields.
The format specifies how many decimal places to write and whether to write insignificant zeros. Use the characters 0 and # in the format. 0 is a digit or 0, # is a digit or nothing.
For example, the number 1.111111 formatted as 00.00 will be displayed as 01.11. And formatted 0.#### will be displayed as 1.1111. And the number 1.0034 formatted as 0.## will be displayed as 1.
There are special, AutoCAD-only, formats:
CU – how the units are configured in the current drawing (via the _units dialog)
AR – Architectural
EN – Engineering
FR – Fractional
After AR, EN, FR you can write precision (0-8) Do not use these special formats when pasting data into Excel.
Decimal separator - Replace the decimal point with this character in all numbers and in all substitutions. When saving CSV and XML files, it is important to use the delimiter as configured in your Windows localization. And there is may be a comma. But in dwg tables a dot is always required.
Special Characters - Use special characters such as ¼ ¾ ½. And after the corners, prices, areas and volumes, units of measurement will be affixed. It is impossible to evaluate mathematical expressions with such symbols. And not all fonts contain these characters.
Use Fields - Use AutoCAD Fields instead of substituting property values. Fields only work in AutoCAD tables. The program is not yet able to create fields in BricsCAD tables due to errors in its API.
See the numbering settings here.