- Art Cooney (artc@autodesk.com)There's a description of the codes in the ObjectARX documentation (I've includedit below). I don't think the DXF documentation explains the overrides.Here's the description from the ObjectARX docs:Dimension style overrides can be applied to any of the AcDbEntity types thatreference an AcDbDimStyleTableRecord. These are:AcDbAlignedDimensionAcDbRotatedDimensionAcDbDiametricDimensionAcDbRadialDimensionAcDb2LineAngularDimensionAcDb3PointAngularDimensionAcDbOrdinateDimensionAcDbLeaderAcDbFcfDimension overrides applied to an object of any of these classes are stored asxdata under the "ACAD" appId in a special subsection. The subsection starts witha group code 1000 (AcDb::kDxfXdAsciiString) with the string "DSTYLE", followedby all the dimension override data bracketed inside a pair of group code 1002's(AcDb::kDxfXdControlString) (the first being a "{" and the other a "}").Dimension variables in general are called dimvars, and this data is commonlycalled "per-entity dimvar overrides" or just dimvar overrides.Within the group code 1002 brackets is a chain of dimvar group-code/data-valueresbuf pairs, one pair for each dimvar being overridden.The first resbuf in each pair is the DXF group code for the dimvar, as found inthe Table below. Since the group code is an integer it has a restype ofAcDb::kDxfXdInteger16 (group code 1070).The second resbuf in each pair is the value for that dimvar. Data values fordimvars may be strings, integers, reals, or objectIds. As with resbufs ingeneral, the value of the resbuf’s restype indicates how to read the data in theresval. Please refer to the Table below.As an example, here is a dimension style override list that will override theDIMTAD and DIMGAP variables. The list is shown in AutoLISP format with indentingfor clarity.("ACAD" (1000 . "DSTYLE") (1002 . "{") (1070 . 77) (1070 . 1) (1070 . 147) (1000 . 0.2) (1002 . "}"))In this example the group code 77 is DIMTAD, which is overridden to be 1. ThenDIMGAP (group code 147) is set to 0.2.The following code sample uses acutBuildList() to create this resbuf chain andto set overrides for DIMTAD and DIMGAP on the entity pointed to by pEnt,assuming pEnt points to an AcDbEntity of one of the types listed above and isopen for writing:resbuf* pRb = acutBuildList( AcDb::kDxfRegAppName, "ACAD", AcDb::kDxfXdAsciiString, "DSTYLE", AcDb::kDxfXdControlString, "{", AcDb::kDxfXdInteger16, 77, AcDb::kDxfXdInteger16, 1, AcDb::kDxfXdInteger16, 147, AcDb::kDxfXdReal, 0.2, AcDb::kDxfXdControlString, "}", RTNONE);Acad::ErrorStatus es = pEnt->setXdata(pRb);acutRelRb(pRb);It is very important the xdata you set onto an object have the proper sequenceof resbufs. Each override must have both the DXF group code resbuf and theassociated value resbuf. In addition, the value must be the correct data type(string, real, or int) and must be within the allowable range for that dimvar.If any of these conditions are not met, AutoCAD may terminate. Also, the 1000"DSTYLE" and the following 1002 "{" "}" set must be present, and there must onlybe one set of all of these.Remember that xdata is obtained and replaced on a per-appId basis. To modify anydimension overrides, work with the complete list of xdata for the "ACAD" appId,which may have other data, including other dimension overrides. So, be sure toobtain whatever xdata may already be present for the "ACAD" appId (use theobject's xData() method with the string "ACAD"). Add or remove only thedimension override information you need, making sure that if dimension overrideinformation already exists you don't duplicate any of the xdata that's alreadythere (including the "DSTYLE" string and the 1002 "{" "}" bracket pairs). Placenew overrides in between the existing 1002 bracket pair, and put the completemodified list back into the object via the object's setXData() method. If notdone correctly, AutoCAD may terminate.Here is a table of all the DimStyleTableRecord dimvars, with their DXF groupcodes, data types, and value ranges:Group code Dimension variable Data type Value range3 DIMPOST string any4 DIMAPOST string any40 DIMSCALE real >= 0.041 DIMASZ real >= 0.042 DIMEXO real >= 0.043 DIMDLI real >= 0.044 DIMEXE real >= 0.045 DIMRND real >= 0.046 DIMDLE real >= 0.047 DIMTP real >= 0.048 DIMTM real >= 0.071 DIMTOL int 0 = off, 1 = on72 DIMLIM int 0 = off, 1 = on73 DIMTIH int 0 = off, 1 = on74 DIMTOH int 0 = off, 1 = on75 DIMSE1 int 0 = off, 1 = on76 DIMSE2 int 0 = off, 1 = on77 DIMTAD int 0 - 378 DIMZIN int 0 - 1579 DIMAZIN int 0 - 15 new140 DIMTXT real >= 0.0141 DIMCEN real any value142 DIMTSZ real >= 0.0143 DIMALTF real >= 0.0144 DIMLFAC real >= 0.0145 DIMTVP real >= 0.0146 DIMTFAC real >= 0.0147 DIMGAP real any value148 DIMALTRND real >= 0.0 new170 DIMALT int 0 = off, 1 = on171 DIMALTD int >= 0172 DIMTOFL int 0 = off, 1 = on173 DIMSAH int 0 = off, 1 = on174 DIMTIX int 0 = off, 1 = on175 DIMSOXD int 0 = off, 1 = on176 DIMCLRD int 0 - 256177 DIMCLRE int 0 - 256178 DIMCLRT int 0 - 256179 DIMADEC int 0 - 8 new271 DIMDEC int 0 - 8272 DIMTDEC int 0 - 8273 DIMALTU int 1 - 8274 DIMALTTD int 0 - 8275 DIMAUNIT int 0 - 4276 DIMFRAC int 0 - 2 new277 DIMLUNIT int 0 - 4 new278 DIMDSEP int (char) any char new279 DIMATMOVE int 0 - 2 new280 DIMJUST int 0 - 4281 DIMSD1 int 0 = off, 1 = on282 DIMSD2 int 0 = off, 1 = on283 DIMTOLJ int 0 - 2284 DIMTZIN int 0 - 15285 DIMALTZ int 0 - 15286 DIMALTTZ int 0 - 15288 DIMUPT int 0 = off, 1 = on289 DIMATFIT int 0 - 3 new340 DIMTXSTY objectId new341 DIMLDRBLK objectId new342 DIMBLK objectId new343 DIMBLK1 objectId new344 DIMBLK2 objectId new371 DIMLWD int lineweights new372 DIMLWE int lineweights new