查看单个帖子
旧 2009-05-05, 10:56 AM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】find which layout an xref or image ref are on

find which layout an xref or image ref are on...
find which layout an xref or image ref are on...
is there a way to find out which layout (either layout handle or id i guess, or even name if needed) an xref or an imageref is located on...
i know with the xrefdatabase() i can get the whole database or with
oddbxrefgraph xrefg;
//load xrefgraph with the drawing
oddbxrefgraph::getfrom(pdb, xrefg);
i get all the xrefs for the pdb drawing.... but how can i get all the xrefs or img refs for a single layout? is it possible?
thanks in advance for the an answer, or tips as to where to check to get such a list
for any entity (including oddbblockreference referencing xref or oddbrasterimage) you can get it's owner.
entity's owner is oddbblocktablerecord which can be "normal" block or one of layout blocks (model space, paper space, paper space0, etc.)
oddbblocktablerecord::islayout() says if it's one of layout blocks. getlayoutid() return layout id or null if it's not a layout block.
but entity can be inserted in "normal" block. and reference to that block can be inserted in more than one layout....
to get all entities of specific class in layout you need to loop through layout block (oddblayout::getblocktablerecordid()).
but note that layout block can contain references to oddbblockreference entities so the looping needs to be recursive.
sergey slezkin
last edited by mmuratov; 20th january 2005 at 04:40 amfff">.
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)