BKG_PathArray

Version 20170116 (freeware).
Works on BricsCAD V16 and higher for Windows®.
By downloading the .zip file you agree to the EULA for free software (freeware).

Download link: BKG_PathArray.zip (< 60kB)

Animation

BKG_PathArray is an easy to understand dialog driven application for BricsCAD. With BKG_PathArray you can create and edit dynamic path arrays. Path arrays can be used for anything from a row of trees, to a circular pattern of bolts or a series of holes in a cabinet with adjustable shelves. You can even use them as 'pseudo' linetypes.

The program can array any block (except anonymous blocks) along the following path entities: arcs, circles, ellipses, lines, (2D) polylines and splines. There are 15 patterns to choose from and several additional options including the option to calculate the pattern per segment (for polylines).

The program creates a dynamic link between the path entity and the array of blocks and any change to the path will automatically result in an updated array.

Key features

  • Very easy to use.
  • The path arrays are fully dynamic.
  • Works with 2D constraints.
  • No custom entities are used.

Available commands

BKG_PathArray

Creates and edits path arrays. This command can only be used if the drawing contains valid block definitions.

  1. Optional: Preselect a path array entity or a 'normal' block reference.
  2. Start the command by doing one of the following:
    • Click the BKG_PathArray button ( Button ) on the BKG_PathArray toolbar.
    • Type BKG_PathArray or BPA in the command bar and press enter.
  3. If you have skipped step 1: Choose a path array entity or a 'normal' block reference or press enter.
  4. The main dialog will display. Select a pattern, fill out the dimensions for the pattern and choose the desired settings.
  5. Click the OK button.
  6. Optional: If you have selected a path array entity in step 1 or 3 and you want to edit that path array, you have to (re)select an entity belonging to the array.
  7. Optional: Select (additional) paths or existing BKG_PathArrays you want to apply the pattern data to.
  8. Press enter.
  9. Do one of the following:
    • Continue the command by specifying new selection(s).
    • Press enter to finish the command.

BKG_PathArrayUpdate

Updates path arrays. This command only needs to be used if the drawing was changed while the BKG_PathArray program was not running.

  1. Optional: Preselect one or more path array entities.
  2. Start the command by doing one of the following:
    • Click the BKG_PathArrayUpdate button ( Button ) on the BKG_PathArray toolbar.
    • Type BKG_PathArrayUpdate or BPAU in the command bar and press enter.
  3. If you have skipped step 1: Select one or more path array entities.
  4. If the selection contains BKG_PathArray path entities without a parent block, you will be asked what you want to do with them. Choose Erase, Disconnect or Create. The Disconnect option removes the BKG_PathArray data and turns the paths into 'normal' entities. The Create option will recreate the missing parent blocks.
  5. If the selection contains BKG_PathArray parent blocks without a path entity, you will also be asked what you want to do with them. Choose Erase or Disconnect. The last option turns the parent blocks into 'normal' block references by removing their BKG_PathArray data. It is not possible to recreate missing path entities.

BKG_PathArrayDisconnect

Turns path arrays into 'normal' entities by removing their BKG_PathArray data.

  1. Optional: Preselect one or more path array entities.
  2. Start the command by doing one of the following:
    • Click the BKG_PathArrayDisconnect button ( Button ) on the BKG_PathArray toolbar.
    • Type BKG_PathArrayDisconnect or BPAD in the command bar and press enter.
  3. If you have skipped step 1: Select one or more path array entities.

BKG_PathArrayAbout

Displays the BKG_PathArray About dialog.

  1. Start the command by doing one of the following:
    • Click the BKG_PathArrayAbout button ( Button ) on the BKG_PathArray toolbar.
    • Type BKG_PathArrayAbout or BPAA in the command bar and press enter.
  2. Click the OK button to close the dialog.

Main dialog

Dialog

The main dialog is used by the BKG_PathArray command. The pattern settings are explained below. The other elements in the dialog are self-explanatory.

Pattern settings

Pattern dimensions

The left column of the 'Pattern settings' panel lists the pattern dimensions. These dimensions are pattern dependent but all dimensions must be numbers.

Pattern(s) Dimension Must be
XXXXX No. Segments At least 1
Shift factor
BBBBB BBEBB BBUBB
SSSSS SSESS SSUSS
Segment size Bigger than 0
Shift factor
OOOOO OOEOO OOUOO Min. segment size At least 0
Optimal segment size Bigger than min. segment size
Max. segment size Bigger than optimal segment size
Shift factor
FFFFR RFFFF
RFFFR RFEFR RFUFR
Segment size Bigger than 0
Min. rest size At least 0
Optimal rest size Bigger than min. rest size
Max. rest size Bigger than optimal rest size

Patterns without rest sizes have a shift factor. If the shift factor is zero the pattern will start with a standard segment. Otherwise the pattern will be shifted. If, for example, the shift factor is 0.3 the first segment will measure 0.3 times the standard segment. Note that a value of 1.3 has the same effect as 0.3. And -0.4 has the same effect as 0.6.

Rest sizes can be bigger or smaller than the segment size.
If the rest sizes are not relevant you can use:
Min. rest size = 0
Optimal rest size = Segment size divided by 2
Max. rest size = Segment size

Nested block at start point and end point

By default all patterns do not insert a nested block at the start and end point of the path. The 'Nested block at start point' and 'Nested block at end point' options can be used to override this behavior. If you select both options you do not have to worry about double blocks in case of closed paths (circles, ellipses, polylines or splines) or when you have selected the 'Pattern per segment' option. The program will never put more than one nested block in exactly the same location.

Pattern per segment

The 'Pattern per segment' option is not used for paths that do not have segments.

Understanding BKG_PathArrays

BKG_PathArrays are always made up of two dynamically linked entities: a path entity and a reference of an anonymous block containing the array. This anonymous block is called the parent block.

Path entity

For the program all paths (even circles and ellipses!) have a start and end point and a direction. This information and of course the shape and the length of the path are used to calculate the array.

For circles the start point is always the right most point on the circumference (the three o'clock point), and the direction is always counterclockwise. For arcs the direction is also always counterclockwise. Turning arcs and circles into polylines can sometimes be required to overcome these limitations. With polylines you have control over both the start point and the direction of the path.

Parent block

The array consists of one or more nested block references inside the parent block. If the calculation of the array results in zero nested references, because the pattern does not fit the path, the parent block will contain a text entity with the warning: 'BKG_PATHARRAY EMPTY PATTERN'. This text is on the DefPoints layer which normally does not plot.

Dynamic link

The program creates a dynamic link between the path entity and the parent block. This means that if you change the path, the array inside the parent block will automatically be updated. It also means that you cannot move the parent block independently from its path. It can be a good idea to create a special layer for the parent blocks and to lock that layer.

If you erase a path entity its parent block will automatically also be erased. To avoid this you have to first use the BKG_PathArrayDisconnect command. If, on the other hand, you erase a parent block its path entity will not be erased, but that entity's BKG_PathArray data will be removed turning it into a 'normal' entity.

Installing the program

With the menu file

Unpack all files from the .zip file in a single folder, which does not have to be in the search path, and follow the instructions you can find here.

Without the menu file

Unpack BKG_Viewport.des from the .zip file in a folder in the search path and follow the instructions you can find here.

What is new

Version 20170116:
  • First public version of final program.