yindb 发表于 2004-4-5 19:23:00

[求助]要实现给一条线加扩展属性如何实现阿?

要实现给一条线加扩展属性如何实现阿?请给出简单实例,谢谢了。

Student 发表于 2004-4-6 09:39:00

下面是一个完整的函数,供参考。


<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-&gt;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-&gt;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-&gt;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-&gt;rbnext;</FONT></SPAN>


<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT face="Times New Roman"><SPAN style="mso-tab-count: 1">                                               pTemp-&gt;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-&gt;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-&gt;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>

yindb 发表于 2004-4-6 11:15:00

谢谢!给你加个花

yindb 发表于 2004-4-6 15:03:00

这句代码怎么理解啊?为什么还要pTemp-&gt;rbnext???


pTemp-&gt;rbnext = acutNewRb(AcDb::kDxfXdAsciiString);<BR>                                               pTemp = pTemp-&gt;rbnext;

yindb 发表于 2004-4-6 16:37:00

这个函数怎么用啊?如何将参数传给此函数啊?

hantaojian 发表于 2004-4-13 14:50:00

<FONT face="Times New Roman">resbuf 是个练表,


pTemp-&gt;rbnext = acutNewRb(AcDb::kDxfXdAsciiString); //使pTemp的下一个指针指


                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        //向/内存中新开辟的CString        空间,<BR>                                               pTemp = pTemp-&gt;rbnext;                                                                                                                                                                                                                                       //使pTemp指向新开辟的单元空间

</FONT>

luckstar 发表于 2007-12-24 11:34:00

这是添加扩展数据, 如何增加属性呢;

luckstar 发表于 2007-12-25 14:18:00

<p>就AppendAcDbEntity(entId,Attrib)</p><p>这样就可以加上,</p><p>不过我还是不知道如何选中那个实体来修改这个属性;</p><p></p>

lichunyu 发表于 2012-3-1 17:15:10

比较有难度啊
页: [1]
查看完整版本: [求助]要实现给一条线加扩展属性如何实现阿?