ObjectARX
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Proxy Object Problems

6 REPLIES 6
SOLVED
Reply
Message 1 of 7
Kyudos
4346 Views, 6 Replies

Proxy Object Problems

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.

 

6 REPLIES 6
Message 2 of 7
tbrammer
in reply to: Kyudos

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.

Message 3 of 7
Kyudos
in reply to: tbrammer

Problem file attached.

Message 4 of 7
Virupaksha_aithal
in reply to: Kyudos

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
in reply to: Virupaksha_aithal

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

Message 6 of 7
tbrammer
in reply to: Kyudos

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.

Message 7 of 7
Kyudos
in reply to: Kyudos

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.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost