Is there a way to access AEC object (AEC_WALL etc.) properties from RealDWG? I am able to get the class name AecDbWall. And even the extents of the entity.There are some Aec*.dll files in the RealDWG folder but I am not sure what to use to get the properties of Wall,window.I'm using visual C++. I have installed the object enablers of Architecture Structure Drawing, MEP, and also of Civil.
Here is the feedback from my colleague Jeremy on that question:
You may be able to use the AutoCAD Architecture C++ API named OMF for this, if you really have to. It is similar to ObjectARX for AutoCAD.
OMF itself does include both C++ and .NET APIs, but for the RealDWG scenario, probably only the C++ portion can ever possibly work.
The .NET wrapper modules are not included at all in RealDWG, and this case is not supported.
Furthermore, one of my more experienced colleagues recommends trying to avoid this completely, if you can.
He says that even using the C++ OMF with the object enabler modules is not officially supported with RealDWG. Although it should theoretically be possible from a technical point of view, and some developers reported using it, it was a huge hassle to get any fixing done whenever something broke.
Therefore, the recommendation is to stay away from it and try to get what you need through straight RealDWG APIs if at all possible.
Since a lot of the information stored by AutoCAD Architecture is actually just placed in normal ObjectARX dictionaries, you can often access all you need using just pure ObjectARX.
I hope this helps.
Best regards,
Jeremy Tammik
Is this statement still valid for RealDWG 2016?
I need especially AecStreamSlice and AecStreamExplode.
Let's say I write a DBX "MyAecStuff.dbx" using OMF 2016 that implements the exported functions mySlice() and myExplode() which use these classes. Can my RealDWG host application load MyAecStuff.dbx and call these functions?