求助:怎么样逐一修改属性块的值呢?
我自己定义了一个块,里面有两段文字,比如值分别是A,B现在我在插入这个块的时候根据需要把他们的值分别变成 C和D
请问怎么做?
我定义属性的时候是怎么定义的
pAttdef->setTextString("A");
pAttdef->setTag("Tag");
……
pAttdef1->setTextString("B");
pAttdef1->setTag("Tag1");
修改属性的时候我是根据范例修改的具体的如下:
AcDbAttribute *pAtt=new AcDbAttribute();
pAtt->setPropertiesFrom(pAttdef);
pAtt->setInvisible(pAttdef->isInvisible());
basePoint = pAttdef->position();
basePoint +=pBlkRef->position().asVector();
pAtt->setPosition(basePoint);
pAtt->setHeight(pAttdef->height());
pAtt->setRotation(pAttdef->rotation());
pTagPrompt = pAttdef->tag();
if(pTagPrompt="Tag")
{
pAtt->setTextString("C");
}
if(pTagPrompt="Tag1")
{
pAtt->setTextString("D");
}
AcDbObjectId attId;
pBlkRef->appendAttribute(attId,pAtt);
pAtt->close();
结果是所有的文字的值都被变成了D
我看了下,应该是pAtt->setTextString();这个函数使用错误,
他是不是对属性块中所有的文字项都赋值,并不是根据Tag的不同赋值的,有没有可以根据Tag的不同,赋不同的值的函数阿?
小弟刚刚开始学习,困难很大
请各位前辈多多指教
谢谢,谢谢!
麻烦各位高手,给说一下
这个问题对于你们来说很简单,可对我来说是一个坎
好几天了一直没有找到答案,程序的编写也停了好几天了,
麻烦路过的给指点下,小弟感激不尽
我也遇到了这个问题
麻烦哪位说一下啊!!
敢问楼主的问题解决了没有?
如果解决了能否给在下说一下
还没有解决 :(
CAD里面可以根据tag修改它的值
可程序不知道怎么写
等位高手给解决下
你书附值,还是判断,你告诉我好了
呵呵~~VC的语法的基本知识,应该是两个等号
if(pTagPrompt =="Tag"){pAtt->setTextString("
")}
页:
[1]