- UID
- 409321
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2006-3-26
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
刚刚看到这个帖子在前边问过了
我怎么删不了这个帖子呢
问题解决了,谢谢前边的高手指点,是我的判断错了
:(
if(pTagPrompt="Tag")
//上面这句改成if(strcmp(pTagPrompt,"Tag")==0)
{
pAtt->setTextString("C");
}
if(pTagPrompt="Tag1")
//上面这句改成if(strcmp(pTagPrompt,"Tag1")==0)
{
pAtt->setTextString("D");
}
我自己定义了一个块,里面有两段文字,比如值分别是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的不同,赋不同的值的函数阿?
小弟刚刚开始学习,困难很大
请各位前辈多多指教
谢谢,谢谢! |
|