Quantcast
Channel: MicroStation Programming Forum - Recent Threads
Viewing all articles
Browse latest Browse all 7260

RE: [CONNECT C++] Dropping Shared Cells to Normal Cells

$
0
0

[quote user="Bruce Reeves SRNS"]if ( eeh.GetElementType() == CELL_HEADER_ELM ) { // check for a Shared Cell auto cellQueryP = dynamic_cast<ICellQuery*>(&eeh.GetHandler()); if (cellQueryP->IsSharedCell(eeh)) { mdlSharedCell_dropToNormalCell (eeh.GetElementP(), filePos , true, false);[/quote]

That's never going to work.  If your element handle contains a normal cell header, you can't pretend that it's a shared cell.  If you want to test for element type, use SHARED_CELL_ELM, defined in DgnPlatform.r.h.

[quote user="Bruce Reeves SRNS"]Trying to figure out how to drop a Shared Cell to a Normal Cell[/quote]

The definition of a shared cell is stored in the active DGN file as a SHAREDCELL_DEF_ELM.  The traditional path to follow would be to find the shared cell definition element and read its components.  I suppose that's what mdlSharedCell_dropToNormalCell() does, adding in the cell translation.

I see that the MicroStationAPI for CONNECT provides two relevant handlers: SharedCellHandler and SharedCellDefHandler.  Both inherit from ISharedCellQuery.


Viewing all articles
Browse latest Browse all 7260

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>