Fix Attributes with AcDbMTextObjectEmbedded fields
enhancement
See the ATTRIB spec:
### 20.4.4 ATTRIB (2)
Common TEXT Entity Data
R2010+:
Version RC ?
R2018+:
Attribute type RC 71 1 = Single line,
2 = Multi line (ATTRIB),
4 = Multiple line (ATTDEF)
IF Attribute type is multi line
MTEXT fields ... Here all fields of an embedded MTEXT object are
written, starting from the Entmode
(entity mode). The owner handle can be 0.
For DXF this is marked with <101, Embedded Object>,
Followed by the MTEXT fields, starting with the
Insertion point (group 10).
Annotative data size BS
IF Annotative data size greater than zero
Annotative data bytes RC Byte array with length Annotative data size.
Registered application H Hard pointer.
Unknown BS 72? Value 0.
END IF
Tag string VT 2
Unknown BS 73? Value 0
Flags RC 70 0 = None, 1 = Invisible, 2 = Constant,
4 = Input verification required,
8 = Preset
Lock position B 280
END IF
Common:
IF Attribute type is single line
Tag TV 2
Field length BS 73 unused
Flags RC 70 NOT bit-pair-coded.
R2007+:
Lock position flag B 280
END IF (single line)
Fix the AcDbMTextObjectEmbedded. repro `./log to/2018/from_ACadSharp/AecObjects.dwg`. There's also a converted DXF alongside.
For each field in the DXF after 101 Embedded Object
change it, convert via ODA to a 2018 DWG, and check the changed value and position
with ./log -v6.
If you see the exact position of the changed value, change the spec accordingly
关闭于 2026-04-02 2 条评论