[求助]要实现给一条线加扩展属性如何实现阿?
要实现给一条线加扩展属性如何实现阿?请给出简单实例,谢谢了。 下面是一个完整的函数,供参考。<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman">void affixXdata(char *appName, char *xData, AcDbObject *pObj)</FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman">{</FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> //</FONT></SPAN>向<FONT face="Times New Roman">AcDbObject</FONT>添加扩展数据<FONT face="Times New Roman">Xdata</FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> struct resbuf *pRb, *pTemp;</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> acdbRegApp(appName);</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> pRb = acutNewRb(AcDb::kDxfRegAppName);</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> pTemp = pRb;</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> pTemp->resval.rstring = new char;</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> strcpy(pTemp->resval.rstring, appName);</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"> <o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> pTemp->rbnext = acutNewRb(AcDb::kDxfXdAsciiString);</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> pTemp = pTemp->rbnext;</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> pTemp->resval.rstring = new char;</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> strcpy(pTemp->resval.rstring, xData);</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"> <o:p></o:p></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> pObj->setXData(pRb);</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1"> acutRelRb(pRb);</FONT></SPAN>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman">}</FONT> 谢谢!给你加个花 这句代码怎么理解啊?为什么还要pTemp->rbnext???
pTemp->rbnext = acutNewRb(AcDb::kDxfXdAsciiString);<BR> pTemp = pTemp->rbnext; 这个函数怎么用啊?如何将参数传给此函数啊? <FONT face="Times New Roman">resbuf 是个练表,
pTemp->rbnext = acutNewRb(AcDb::kDxfXdAsciiString); //使pTemp的下一个指针指
//向/内存中新开辟的CString 空间,<BR> pTemp = pTemp->rbnext; //使pTemp指向新开辟的单元空间
</FONT> 这是添加扩展数据, 如何增加属性呢; <p>就AppendAcDbEntity(entId,Attrib)</p><p>这样就可以加上,</p><p>不过我还是不知道如何选中那个实体来修改这个属性;</p><p></p> 比较有难度啊
页:
[1]