几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【转帖】求助:怎么样逐一修改属性块的值呢? (http://www.dimcax.com/hust/showthread.php?t=7876)

yang686526 2009-04-18 05:20 PM

【转帖】求助:怎么样逐一修改属性块的值呢?
 
求助:怎么样逐一修改属性块的值呢?
求助:怎么样逐一修改属性块的值呢?
我自己定义了一个块,里面有两段文字,比如值分别是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修改它的值
可程序不知道怎么写
等位高手给解决下



if(ptagprompt="tag")
{
patt->settextstring("c");

}
if(ptagprompt="tag1")
{
patt->settextstring("d");

}
你书附值,还是判断,你告诉我好了
呵呵~~vc的语法的基本知识,应该是两个等号
if(ptagprompt =="tag"){patt->settextstring("
")}


所有的时间均为北京时间。 现在的时间是 02:38 AM.