Plot Style Files (CTB/STB)
CTB and STB files store plot styles used by AutoCAD and BricsCAD for printing and plotting.
If the plot style table is attached to a Paperspace or the Modelspace,
a change of a plot style affects any object that uses that plot style. CTB files contain color dependent plot
style tables, STB files contain named plot style tables.
See also
AUTODESK KNOWLEDGE NETWORK: How to install CTB files in AutoCAD
- ezdxf.addons.acadctb.load(filename: str | PathLike) ColorDependentPlotStyles | NamedPlotStyles
Load the CTB or STB file filename from file system.
- ezdxf.addons.acadctb.new_ctb() ColorDependentPlotStyles
Create a new CTB file.
- ezdxf.addons.acadctb.new_stb() NamedPlotStyles
Create a new STB file.
ColorDependentPlotStyles
Color dependent plot style table (CTB file), table entries are PlotStyle objects.
- class ezdxf.addons.acadctb.ColorDependentPlotStyles
- description
Custom description of plot style file.
- scale_factor
Specifies the factor by which to scale non-ISO linetypes and fill patterns.
- apply_factor
Specifies whether or not you want to apply the
scale_factor.
- custom_lineweight_display_units
Set
1for showing lineweight in inch in AutoCAD CTB editor window, but lineweights are always defined in millimeters.
- lineweights
Lineweights table as
array.array
- __getitem__(aci: int) PlotStyle
Returns
PlotStylefor AutoCAD Color Index (ACI) aci.
- __iter__()
Iterable of all plot styles.
- new_style(aci: int, data: dict | None = None) PlotStyle
Set aci to new attributes defined by data dict.
- Parameters:
data –
dictofPlotStyleattributes: description, color, physical_pen_number, virtual_pen_number, screen, linepattern_size, linetype, adaptive_linetype, lineweight, end_style, join_style, fill_style
- get_lineweight_index(lineweight: float) int
Get index of lineweight in the lineweight table or append lineweight to lineweight table.
- get_table_lineweight(index: int) float
Returns lineweight in millimeters of lineweight table entry index.
- Parameters:
index – lineweight table index =
PlotStyle.lineweight- Returns:
lineweight in mm or
0.0for use entity lineweight
- set_table_lineweight(index: int, lineweight: float) int
Argument index is the lineweight table index, not the AutoCAD Color Index (ACI).
- Parameters:
index – lineweight table index =
PlotStyle.lineweightlineweight – in millimeters
- save()
Save CTB file as filename to the file system.
- write(stream: BinaryIO) None
Compress and write CTB file to binary stream.
NamedPlotStyles
Named plot style table (STB file), table entries are PlotStyle objects.
- class ezdxf.addons.acadctb.NamedPlotStyles
- description
Custom description of plot style file.
- scale_factor
Specifies the factor by which to scale non-ISO linetypes and fill patterns.
- apply_factor
Specifies whether or not you want to apply the
scale_factor.
- custom_lineweight_display_units
Set
1for showing lineweight in inch in AutoCAD CTB editor window, but lineweights are always defined in millimeters.
- lineweights
Lineweights table as
array.array
- __delitem__(name: str) None
Delete plot style name. Plot style
'Normal'is not deletable.
- __iter__() Iterable[str]
Iterable of all plot style names.
- new_style(name: str, data: dict | None = None, localized_name: str | None = None) PlotStyle
Create new class:PlotStyle name by attribute dict data, replaces existing class:PlotStyle objects.
- Parameters:
name – plot style name
localized_name – name shown in plot style editor, uses name if
Nonedata –
dictofPlotStyleattributes: description, color, physical_pen_number, virtual_pen_number, screen, linepattern_size, linetype, adaptive_linetype, lineweight, end_style, join_style, fill_style
- get_lineweight_index(lineweight: float) int
Get index of lineweight in the lineweight table or append lineweight to lineweight table.
- get_table_lineweight(index: int) float
Returns lineweight in millimeters of lineweight table entry index.
- Parameters:
index – lineweight table index =
PlotStyle.lineweight- Returns:
lineweight in mm or
0.0for use entity lineweight
- set_table_lineweight(index: int, lineweight: float) int
Argument index is the lineweight table index, not the AutoCAD Color Index (ACI).
- Parameters:
index – lineweight table index =
PlotStyle.lineweightlineweight – in millimeters
- save()
Save STB file as filename to the file system.
- write()
Compress and write STB file to binary stream.
PlotStyle
- class ezdxf.addons.acadctb.PlotStyle
- index
Table index (0-based). (int)
- aci
AutoCAD Color Index (ACI) in range from
1to255. Has no meaning for named plot styles. (int)
- description
Custom description of plot style. (str)
- virtual_pen_number
Only used by non-pen plotters and only if they are configured for virtual pens. valid range from
1to255orAUTOMATIC. (int)
- screen
Specifies the color intensity of the plot on the paper, valid range is from
0to100. (int)If you select
100the drawing will plotted with its full color intensity. In order for screening to work, theditheringoption must be active.
- linetype
Overrides the entity linetype, default value is
OBJECT_LINETYPE. (bool)
- adaptive_linetype
Trueif a complete linetype pattern is more important than a correct linetype scaling, default isTrue. (bool)
- linepattern_size
Line pattern size, default =
0.5. (float)
- lineweight
Overrides the entity lineWEIGHT, default value is
OBJECT_LINEWEIGHT. This is an index into theUserStyles.lineweightstable. (int)
- end_style
Line end cap style, see table below, default is
END_STYLE_OBJECT(int)
- join_style
Line join style, see table below, default is
JOIN_STYLE_OBJECT(int)
- fill_style
Line fill style, see table below, default is
FILL_STYLE_OBJECT(int)
- dithering
Depending on the capabilities of your plotter, dithering approximates the colors with dot patterns. When this option is
False, the colors are mapped to the nearest color, resulting in a smaller range of colors when plotting.Dithering is available only whether you select the object’s color or assign a plot style color.
- grayscale
Plot colors in grayscale. (bool)
Default Line Weights
# |
[mm] |
|---|---|
0 |
0.00 |
1 |
0.05 |
2 |
0.09 |
3 |
0.10 |
4 |
0.13 |
5 |
0.15 |
6 |
0.18 |
7 |
0.20 |
8 |
0.25 |
9 |
0.30 |
10 |
0.35 |
11 |
0.40 |
12 |
0.45 |
13 |
0.50 |
14 |
0.53 |
15 |
0.60 |
16 |
0.65 |
17 |
0.70 |
18 |
0.80 |
19 |
0.90 |
20 |
1.00 |
21 |
1.06 |
22 |
1.20 |
23 |
1.40 |
24 |
1.58 |
25 |
2.00 |
26 |
2.11 |
Predefined Values
- ezdxf.addons.acadctb.AUTOMATIC
- ezdxf.addons.acadctb.OBJECT_LINEWEIGHT
- ezdxf.addons.acadctb.OBJECT_LINETYPE
- ezdxf.addons.acadctb.OBJECT_COLOR
- ezdxf.addons.acadctb.OBJECT_COLOR2
Line End Style
END_STYLE_BUTT |
|
END_STYLE_SQUARE |
|
END_STYLE_ROUND |
|
END_STYLE_DIAMOND |
|
END_STYLE_OBJECT |
|
Line Join Style
JOIN_STYLE_MITER |
|
JOIN_STYLE_BEVEL |
|
JOIN_STYLE_ROUND |
|
JOIN_STYLE_DIAMOND |
|
JOIN_STYLE_OBJECT |
|
Fill Style
FILL_STYLE_SOLID |
|
FILL_STYLE_CHECKERBOARD |
|
FILL_STYLE_CROSSHATCH |
|
FILL_STYLE_DIAMONDS |
|
FILL_STYLE_HORIZONTAL_BARS |
|
FILL_STYLE_SLANT_LEFT |
|
FILL_STYLE_SLANT_RIGHT |
|
FILL_STYLE_SQUARE_DOTS |
|
FILL_STYLE_VERICAL_BARS |
|
FILL_STYLE_OBJECT |
|
Linetypes
Linetype name |
Value |
|---|---|
Solid |
0 |
Dashed |
1 |
Dotted |
2 |
Dash Dot |
3 |
Short Dash |
4 |
Medium Dash |
5 |
Long Dash |
6 |
Short Dash x2 |
7 |
Medium Dash x2 |
8 |
Long Dash x2 |
9 |
Medium Lang Dash |
10 |
Medium Dash Short Dash Short Dash |
11 |
Long Dash Short Dash |
12 |
Long Dash Dot Dot |
13 |
Long Dash Dot |
14 |
Medium Dash Dot Short Dash Dot |
15 |
Sparse Dot |
16 |
ISO Dash |
17 |
ISO Dash Space |
18 |
ISO Long Dash Dot |
19 |
ISO Long Dash Double Dot |
20 |
ISO Long Dash Triple Dot |
21 |
ISO Dot |
22 |
ISO Long Dash Short Dash |
23 |
ISO Long Dash Double Short Dash |
24 |
ISO Dash Dot |
25 |
ISO Double Dash Dot |
26 |
ISO Dash Double Dot |
27 |
ISO Double Dash Double Dot |
28 |
ISO Dash Triple Dot |
29 |
ISO Double Dash Triple Dot |
30 |
Use entity linetype |
31 |