dwgadd.5 - Format of the LibreDWG dwgadd example input-file
The dwgadd program accepts this input format to add entities and objects to a
DWG file.
commands start at each new line and must begin with a keyword and has optional
agruments.
comments start with # and are ignored.
entities are created with the arguments as in the VBA object model
AddEntity or AddObject methods.
entities are added to the model space by default, objects to the
DWG or to parents objects, as e.g. with "xrecord
dictionary".
- readdwg "file.dwg"
- This must be the very first command. Otherwise a new, empty DWG Document
is created.
- readdxf "file.dxf"
- This must be the very first command. Otherwise a new, empty DWG Document
is created.
- readjson "file.json"
- This must be the very first command. Otherwise a new, empty DWG Document
is created.
- imperial
- By default a new DWG is created as metric. There must be maximal one
imperial line.
- version number
- Writes the output file in this version. It accepts numbers only
"[0-9.]+", prefixes it with an
"r", and converts this string via
"dwg_version_as("r"version)"
to a "Dwg_Version_Type". It accepts only
valid DWG versions. There must be maximal one version line.
- pspace
- Add further entities to the paper space.
- mspace
- Add further entities to the model space again. This is only needed when a
previous "pspace" command was used.
mspace is the default.
- HEADER.field = value
- Assign "VALUES" to a HEADER field. See the full documentation of
valid HEADER fields.
- point (3dpoint)
- line (3dpoint) (3dpoint)
- Create a line variable and entity. You may set all other fields via the
"line.field = value" syntax. E.g.
"line.layer = "0""
- ray (3dpoint) (3dpoint)
- xline (3dpoint) (3dpoint)
- xline (3dpoint) (3dpoint)
- text "text_value" (ins_pt) height
- mtext (ins_pt) height "text_value"
- leader num_points ((points)...) mtext type
- mtext must be the immediate previous command.
- attribute 8 0 "prompt" (0.0 1.0 0.0) "tag"
"text"
- attdef 8 0 "prompt" (0.0 1.0 0.0) "tag"
"default_text"
- block "name"
- Starts a new block.
- endblk
- Ends the current block.
- insert (ins_pt) "name" xscale yscale zscale rotation
- minsert (ins_pt) "name" xscale yscale zscale rotation
numrows numcols rowspacing colspacing
- polyline_2d numpts ((2dpoints) ...)
- lwpolyline numpts ((2dpoints) ...)
- polyline_3d numpts ((3dpoints) ...)
- arc (center) radius startangle endangle
- circle (center) radius
- polyline_pface 5 3 ((3dpoints)...) ((faces_4ints)...)
- polyline_mesh num_m_verts num_n_verts ((3dpoints)...)
- dimension_aligned (xline1_pt) (xline2_pt) (text_midpt)
- dimension_ang2ln (center_pt) (xline1end_pt) (xline2end_pt)
(text_midpt)
- dimension_ang3pt (center_pt) (xline1_pt) (xline2_pt)
(text_midpt)
- dimension_diameter (chord_pt) (far_chord_pt) leader_len
- dimension_ordinate (feature_location_pt) (leader_endpt) number
- dimension_radius (center_pt) (chord_pt) leader_len
- dimension_linear (xline1_pt) (xline2_pt) (def_pt) angle
- 3dface (pt1) (pt2) (pt3) [(pt4)]
- solid (pt1) (pt2-2d) (pt3-2d) (pt4-2d)
- trace (pt1) (pt2-2d) (pt3-2d) (pt4-2d)
- shape "name" (3dpoint) scale angle
- viewport "name"
- ellipse (center_pt) major_axis axis_ratio
- spline num_fitpts ((fitpts)...) (begin_tan_vector)
(end_tan_vector)
- dictionary "name" "key" handle_ref
- xrecord dictionary "name"
- tolerance "testtekst" (0 0 0) (0 0 1)
- mlinestyle "name"
- mline num_points ((points)...)
- layout viewport "name"
"canonical_media_name"
- torus (center_pt) (normal) major_radius minor_radius
- sphere (center_pt) (normal) radius
- cylinder (center_pt) (normal) height major_radius minor_radius
x_radius
- cone (center_pt) (normal) height major_radius minor_radius
x_radius
- wedge (center_pt) (normal) length width height
- box (center_pt) (normal) length width height
- pyramid (center_pt) (normal) height sides radius topradius
- layer "name"
- style "name"
- ltype "name"
- vport "name"
- view "name"
- vport "name"
- layout "name"
- group "name"
- entity.field = value
- Every field of the just created entity or object can be set. See
"VALUES" and the full documentation of the available entity
fields.
Acceptable values must be formatted as:
- integer
- negative integers are allowed. "0xXXX"
hex numbers are not accepted.
- float
- floats may omit the dot.
- angle as float in degrees, not radians.
- string in double-quotes
- E.g "string" or "" for the empty string.
- point as (float, float, [float])
- esp. (float float) for 2dpoint
(float float float) for 3dpoint. (0 0 0) is a valid
3dpoint.
- handle as "D.D.XXX"
- <C[0-12]> as type "." decimal digits as size "."
hexadecimal absolute ref. For relative handle codes, like 6,8,10,12 do not
take the 3rd handle part asis, but use the absolute ref.
E.g. 5.1.15 for
HEADER.LTYPE_BYLAYER.