![]() |
【转帖】[求助]帮我看一下块加属性代码?
[求助]帮我看一下块加属性代码?
[求助]帮我看一下块加属性代码? void insertblock() { acgepoint3d pt1; cstring blk_name="testblock"; cstring fname=blk_name+".dwg"; char sfilename[160]; const char *dwgname=(lpstr)(lpctstr)fname; acedfindfile(dwgname,sfilename); acdbdatabase *pnewdb =new acdbdatabase(adesk::kfalse); int es=pnewdb->readdwgfile(sfilename ,_sh_denyno,false); if (es!=acad::eok) { acutprintf("\nthe file %s cannot be opend",sfilename); return; } ///////////////////////////////////////////////////////////////// acdbdatabase *pdb; pdb =acdbhostapplicationservices ()->workingdatabase () ; acdbobjectid blockid; if((es=pdb->insert(blockid, blk_name,pnewdb, true))==acad::eok) { acutprintf("\ninsert ok\n"); } else { afxmessagebox("insert failed"); delete pnewdb; return; } if(rtnorm!=acedgetpoint(null,"\n请输入插入点:",asdblarray(pt1))) { return; } acdbblocktable *pblocktable; acdbblocktablerecord *pblocktablerecord; acdbhostapplicationservices()->workingdatabase() ->getsymboltable(pblocktable, acdb::kforread); pblocktable->getat(acdb_model_space, pblocktablerecord, acdb::kforwrite); pblocktable->getat(blk_name, blockid); pblocktable->add(blockid,pblocktablerecord); pblocktable->close(); acdbblockreference *pblkref = new acdbblockreference; pblkref->setblocktablerecord(blockid);//指向blockid; pblkref->setposition(pt1);//设定位置 pblkref->setrotation(0);//设定转角 acdbobjectid newentid; pblocktablerecord->appendacdbentity(newentid, pblkref); pblocktablerecord->close(); pblkref->close(); //////////////////////////////////////////////////////////////////////////// acdbblocktablerecord *pblockrec; acdbopenobject(pblockrec,blockid,acdb::kforwrite); acdbattributedefinition *pattridef=new acdbattributedefinition; pattridef->setprompt("aa"); pattridef->settextstring("a"); pattridef->settag("tag"); pattridef->setinvisible(adesk::kfalse); pattridef->setpreset(adesk::kfalse); pattridef->setconstant(adesk::kfalse); pblockrec->appendacdbentity(newentid,pattridef); pattridef->close(); pblockrec->close(); } 插入一个外部块,然后给这个块加块属性,但是属性却看不到,炸开却有块属性在。这是什么问题? 遇到了同样的问题 块里有块,内部块的属性值修改不了。 怎么办? |
| 所有的时间均为北京时间。 现在的时间是 08:12 PM. |