初级练习!!!
<p>1.提取实体的扩展数据,本代码在VC++6.0,2002通过</p><p>//<br/>// ObjectARX defined commands</p><p>#include "StdAfx.h"<br/>#include "StdArx.h"</p><p>// This is command 'TEST'<br/>int printdxf(struct resbuf *eb);<br/>void test()<br/>{<br/> // TODO: Implement the command</p><p> struct resbuf *ebuf, *eb; <br/> ads_name ent1;<br/> ads_point pt;<br/> <br/> acedEntSel("\n请选择对像",ent1,pt);<br/> ebuf = acdbEntGet(ent1); <br/> <br/> eb = ebuf; <br/> <br/> acutPrintf("\nResults of entgetting last entity\n"); <br/> <br/>// Print items in the list.<br/> for (eb = ebuf; eb != NULL; eb = eb->rbnext) <br/> printdxf(eb); <br/> <br/>// Release the acdbEntGet() list.<br/> acutRelRb(ebuf); <br/>} <br/> <br/>int printdxf(struct resbuf *eb) <br/>{ <br/> int rt; <br/> <br/> if (eb == NULL) <br/> return RTNONE; <br/> <br/> if ((eb->restype >= 0) && (eb->restype <= 9)) <br/> rt = RTSTR ; <br/> else if ((eb->restype >= 10) && (eb->restype <= 19)) <br/> rt = RT3DPOINT; <br/> else if ((eb->restype >= 38) && (eb->restype <= 59)) <br/> rt = RTREAL ; <br/> else if ((eb->restype >= 60) && (eb->restype <= 79)) <br/> rt = RTSHORT ; <br/> else if ((eb->restype >= 210) && (eb->restype <= 239)) <br/> rt = RT3DPOINT ; <br/> else if (eb->restype < 0) <br/>// Entity name (or other sentinel)<br/> rt = eb->restype; <br/> else <br/> rt = RTNONE; <br/> <br/> switch (rt) { <br/> <br/> case RTSHORT: <br/> acutPrintf("(%d . %d)\n", eb->restype, <br/> eb->resval.rint); <br/> break; <br/> <br/> case RTREAL: <br/> acutPrintf("(%d . %0.3f)\n", eb->restype, <br/> eb->resval.rreal); <br/> break; <br/> <br/> case RTSTR: <br/> acutPrintf("(%d . \"%s\")\n", eb->restype, <br/> eb->resval.rstring); <br/> break; <br/> <br/> case RT3DPOINT: <br/> acutPrintf("(%d . %0.3f %0.3f %0.3f)\n", <br/> eb->restype, <br/> eb->resval.rpoint, eb->resval.rpoint, <br/> eb->resval.rpoint); <br/> break; <br/> <br/> case RTNONE: <br/> acutPrintf("(%d . Unknown type)\n", eb->restype); <br/> break; <br/> <br/> case -1: <br/> case -2: <br/>// First block entity<br/> acutPrintf("(%d . <Entity name: %8lx>)\n", <br/> eb->restype, eb->resval.rlname); <br/> } <br/> <br/> return eb->restype; <br/>} </p><p></p><p></p>
页:
[1]