Formatting Guide

This section is only for myself, because of the long pauses between develop iterations, I often forget to be consistent in documentation formatting.

Documentation is written with Sphinx and reSturcturedText.

Started integration of documentation into source code and using autodoc features of Sphinx wherever useful.

Sphinx theme provided by Read the Docs :

pip install sphinx-rtd-theme

guide — Example module

guide.example_func(a:int, b:str, test:str=None, flag:bool=True) → None

Parameters a and b are positional arguments, argument test defaults to None and flag to True. Set a to 70 and b to “x” as an example. Inline code examples example_func(70, 'x') or simple example_func(70, "x")

  • arguments: a, b, test and flags
  • literal number values: 1, 2 … 999
  • literal string values: “a String”
  • literal tags: (5, “F000”)
  • inline code: call a example_func(x)
  • Python keywords: None, True, False, tuple, list, dict, str, int, float
  • Exception classes: DXFAttributeError
class guide.ExampleCls(**kwargs)

The ExampleCls constructor accepts a number of optional keyword arguments. Each keyword argument corresponds to an instance attribute, so for example

e = ExampleCls(flag=True)

This is the attribute flag.


axis as (x, y, z) tuple

axis: (x, y, z) tuple
example_method(flag:bool=False) → None

Method example_method() of class ExampleCls

Text Formatting

DXF version
DXF R12 (AC1009), DXF R2004 (AC1018)
DXF Types
DXF types are always written in uppercase letters but without further formatting: DXF, LINE, CIRCLE
(internal API)
Marks methods as internal API, gets no public documentation.
(internal class)
Marks classes only for internal usage, gets not public documentation.
Spatial Dimensions
2D and 3D with an uppercase letter D
x-axis, y-axis and z-axis
xy-plane, xz-plane, yz-plane
modelspace, paperspace [layout], block [layout]
Extended Entity Data
AppData, XDATA, embedded object, APPID