audit report semantic quality
audit report semantic quality
1) the semantic of the message strings reported by the oddbauditinfo:

rinterror() does not permit to build clean messaging:
or example; ("reasonfff">" comes from the "validationfff">" parameter "set tofff">" comes from the "defaultvaluefff">" parameter)
acdbline(7efaf) linetypescale is invalid - 0 (reason: >0) set to 1
acdbviewport(48e28) width (0) is invalid (reason: >0) set to 1
acdbsortentstable(25b8) (3a066) (reason: duplicate keys were found) set to (3a066)
acdbsortentstable(25b8) (3a067) (reason: duplicate keys were found) set to (3a069)
acdbtext(4efd3) xdata handle (4efcd) is invalid (reason: invalid) set to null
- in the first two lines : the validation param is ">0fff">" which is an assertionfff">, not a reasonfff">. should be "expected >0fff">" or " should be >0
- in the third line the duplicated "value" parameter is (3a066fff">) and the "defaultvalue" parameter is also (3a066fff">). confusing... the duplicate key is replaced by himself, hence no correction but oddbauditinfo:

rintinfo(p) says "total errors found during audit 5, fixed 5fff">"... what does that means ?
- in the fifth line: xdata handle (4efcd) is invalid because ... it is invalid !
i know i could edit the sidvarvalidpositive in "messagedef.h" file, but not sure if the message is used in an other context where an assertion is necessary instead of a reason...
2) auditing hundreds of dwg files from our customers, it looks like the following messages:
acdbviewport(48e28) width (0) is invalid....
acdbsortentstable(xxx) (xxxx) (reason: duplicate keys were found)...
comes out thousands of times...
are these really errors ?? (the old kit was very happy with them)
or does this mean ac files are not " that clean..." ?? ( our files comes from autocad for sure ....)
jph
if you could post the drawing file that generated the messages, we'll be able to address the problem.
quote:
- in the first two lines : the validation param is ">0" which is an assertion, not a reason. should be "expected >0" or " should be >0"
you are absolutely right but i suppose it's your not dd code which used the word "reason" in printerror implementation.
quote:
- in the third line the duplicated "value" parameter is (3a066) and the "defaultvalue" parameter is also (3a066).
this problem is in dd code.
quote:
...
are these really errors ?? (the old kit was very happy with them)
or does this mean ac files are not " that clean..." ?? ( our files comes from autocad for sure ....)
try to use recover and audit in autocad.
negative linetype scale, zero width viewports etc. are invalid for sure.
sergey slezkin
much better in dd2.0.2 !
thank you for having fixed this in dd2.0.2. we can now design better error reports (oddbauditinfo:: printerror) like this :
sprintf(dwg.sztemp,"%s\t\t %s %s. %s\n", (const char*)name, (const char*)value, (const char*)validation, (const char*)defaultvalue);
acdbtextstyletablerecord(17) last height 0 not >0. set to 0.2
acdblayertablerecord(24) plotstylenameid (1f) invalid. set to null
acdbviewport(37c7f) snap x increment 0 not >0. set to 0.5
acdbtext(4efd3) xdata handle (4efcd) invalid. set to null
acdbhatch(34496) associative object acdbline(2c1d0) missing hatch as reactor invalid. associativity removed
acdbhatch(34496) associative flag is true but associative objects are missing invalid. set to false
acdbsortentstable(25b8) (34805 fff">duplicate keys were found. (34805
looks to be a slight problem with the acdbsortentstable report "value" and "defaultvalue" string:
missing right parenthesis.
sometimes the erroneous value is between parenthesis
acdbtext(4efd3) xdata handle (4efcd)fff"> invalid. set to null
sometimes it is not :
acdbtextstyletablerecord(17) last height 0fff"> not >0. set to 0.2
also some messages are missing punctuation or parenthesis, like :
acdbhatch(3cf2) hatch has invalid boundary data polylinefff"> hatch boundary has duplicated vertices. removed
acdb2dvertex(46cc) layer (58) doesn't match to owner shouldfff"> match to owner. set to default layer "(238)
acdb2dvertex(46cc) linetype (b) doesn't match to owner shouldfff"> match to owner. set to default linetype "(27)
acdbhatch(bd37) associative flag is true but associative objects are missing invalidfff">. set to false
acdbtextstyletablerecord(37) duplicate record name "standard" invalid. $ddt_audit_generated_(37)
acdbblocktablerecord(3fa0) hasattributedefinitions flag is false, but record has attributedefinitions disparityfff">. set to true