Proxy Object Problems

Proxy Object Problems

Kyudos
Advisor Advisor
6,372 Views
6 Replies
Message 1 of 7

Proxy Object Problems

Kyudos
Advisor
Advisor

If my ARX is loaded I can draw some of my AcDbPolyline-derived custom objects save and reload with no (apparent) issues. However, if I load the saved file without the ARX (to check the proxies work) the file is somehow bad. AUDIT tells me things like this:

 

Command: AUDIT
Fix any errors detected? [Yes/No] <N>: n
Auditing Header
Auditing Tables
Auditing Entities Pass 1
Pass 1 200     objects audited
Auditing Entities Pass 2
Pass 2 200     objects auditedAcDbZombieEntity(2E8)
Extension dictionary AcDbLinetypeTableRecord: "TYPE1" Wrong type            Removed
AcDbZombieEntity(2E8)
                    Invalid layer eNullObjectId         $AUDIT-BAD-LAYER
AcDbZombieEntity(2E8)             was not repaired.
AcDbZombieEntity(2EB)
Extension dictionary AcDbLinetypeTableRecord: "TYPE1" Wrong type            Removed
AcDbZombieEntity(2EB)
                    Invalid layer eNullObjectId         $AUDIT-BAD-LAYER
AcDbZombieEntity(2EB)             was not repaired.
Auditing Blocks
 2       Blocks audited
Auditing AcDsRecords
Total errors found 4 fixed 0
Erased 0 objects

Any ideas what would cause this bad layer ID? Its specific to one of my objects types - other similar types don't have this issue. The layer the objects are supposed to be on exists.

 

0 Likes
Accepted solutions (1)
6,373 Views
6 Replies
Replies (6)
Message 2 of 7

tbrammer
Advisor
Advisor

Can you please append the DWG that causes the audit errors?


Thomas Brammer ● Software Developer ● imos AGLinkedIn
If an answer solves your problem please [ACCEPT SOLUTION]. Otherwise explain why not.

0 Likes
Message 3 of 7

Kyudos
Advisor
Advisor

Problem file attached.

0 Likes
Message 4 of 7

Virupaksha_aithal
Autodesk Support
Autodesk Support

Hi,

 

Are you storing “acdblinetypetablerecord” in extension dictionary? The message is prompting that it is removing the object as acdblinetypetablerecord from extension dictionary. I feel acdblinetypetablerecord to be added to symbol table (AcDbLinetypeTable).



Virupaksha Aithal KM
Developer Technical Services
Autodesk Developer Network

Message 5 of 7

Kyudos
Advisor
Advisor

I'm not consciously doing that - I am loading some line types from a .lin file. Does that put them in an extension dictionary?

0 Likes
Message 6 of 7

tbrammer
Advisor
Advisor

It is even more strange:

The extension dictionary of the proxy entity with handle "2D8" is an AcDbLinetypeTableRecord.

But it should be an AcDbDictionary!

Here is a screenshot from ArxDbg.arx after command SNOOPDB and selecting entity 2D8:

 

SnoopDb_2D8.png


Thomas Brammer ● Software Developer ● imos AGLinkedIn
If an answer solves your problem please [ACCEPT SOLUTION]. Otherwise explain why not.

0 Likes
Message 7 of 7

Kyudos
Advisor
Advisor
Accepted solution

I fixed this by changing the order of things in my dwg in/out functions to make sure I was doing the base class(es) first.

0 Likes