Divide irregular closed areas into subdivisions by acreage
SplitArea utility by CAD Studio
The AutoCAD LISP utility SplitArea (freeware) can automatically split any closed polyline (irregular area) to a number of subdivisions defined by acreage.
You can use several methods for subdivision lines - fixed direction, fixed point or user defined division lines.
SplitArea
Setup
Load the SplitArea.VLX file into your AutoCAD drawing.
You can load it automatically using ACAD.LSP/ACADDOC.LSP or with the _APPLOAD command (drag it to the briefcase icon).
Start the function with the SPLITAREA command.
You can use the CADSTUDIO command to list all loaded CAD Studio LISP utilities.
Usage
The SPLITAREA command prompts for a number of options to subdivide the selected area (see also the images). First select a closed, non-selfintersecting polyline - the command will list its acreage (area). Then use the following options to subdivide it:
Number/Acreage - you can enter the ratio of the original area either by a number (ratio of the original area) or a fixed acreage (m2). If you use the number (N) of lots, you will get the lot(s) with the acreage = Total/N (divider). Later, you will be able to specify whether only a single lot (with this acreage) will be created or multiple division lines will be drawn to cut the original area into N segments.
Direction/Point/User/Vonoroi - you can specify the division line(s) between the future lots. This line will be modified to fit the requested subdivision. The convergence procedure will use either a fixed direction (parallel) or a fixed point (angles, fan-shaped) or user defined line (pre-drawn polyline) or Vonoroi cells (equal distance).
Division/Boundaries - if you specify the Number of lots and the Direction algorithm, you can also decide whether to create a single pair of boundaries or just the division lines. For >2 lots always use division lines.
Depending on the convergence algorithm, specify the xline of the initial position of the division line, or a fixed point and angle of the division line, or pick an existing polyline. The specified division line should be inside the original area - preferably close to the expected result.
Now pick two points which will be used through the convergence algorithm. If the algorithm fails, change the position of these two points. Always pick points inside the original area, and as far as possible from the initial/sample dividing line (close to opposite points of the area). The first point will be inside the primary (computed) area.
The convergence loop will start here and the resulting boundaries (green-red pair of boundaries) or a set of division lines will be drawn. The function also reports the resulting area.
In case of the division lines you can optionally trim the lines to the original area. You can use the _BOUNDARY command to create real areas from the division lines.
You can control the requested precision of the resulting area and the maximum number of iterations by two LISP variables (default values shown):
(setq SAmaxLoops 4000)
(setq SAmaxDif 0.0001)
Sample videos
1.
Split to 5 lots with the division lines option (click to start animation)
2.
Regular split into 2 halves with the direction option (click to start animation)
3.
Regular split into 2 halves with the point/angle option (click to start animation)
4.
Regular split into 2 halves with the user line option (click to start animation)
History
Version 1.0 (7/2009) initial version.
Version 1.1 (8/2009) adds User division lines
Version 1.2 (11/2009) fixes divergence problems
Version 1.3 (11/2011) increased speed and precision of iterations, SAmaxDif variable
Version 1.4 (11/2012) added Vonoroi cells
Version 1.5 (3/2021) small fixes, changed to freeware
Possible problems
The CAD Studio SplitArea tool was tested in AutoCAD 2009, 2010, 2011, 2012, 2013, 2014 and 2015, 2016, 2017, 2018, 2019, 2020, 2021. It runs also in all AutoCAD "verticals" (industry-specific versions).
Concave (dented) areas may cause problems if they are cut by dividing line(s) in multiple points - resulting in multiple subdivisions.