![]() |
【转帖】creating oddbdimassoc
creating oddbdimassoc
creating oddbdimassoc hi, i have asked something like this before, but still do not know the answer: i would like to create an association between a dimension and other data base objects (for example make an aligned dimension associative). so i have the oddbhandle of an oddbaligneddimension, the handle of the corresponding oddbline (or whatever you want), i can create an oddbdimassoc object, i can set the corresponding dimension to the one i want, but i don't have a clue how to set the oddbosnappointrefs (more exactly their main entities - these are private members with no set functions in the class oddbosnappointref) or what should i do instead? could you help me with this? thank you, miklos here is the sample code from writeex example application. oddblineptr pline; // some line oddbrotateddimensionptr pad; // some dimention pad->createextensiondictionary(); oddbdictionaryptr dict = pad->extensiondictionary().safeopenobject(oddb::kforwr ite); oddbdimassocptr dimassoc = oddbdimassoc::createobject(); dimassoc->setdimension(dimid); dimassoc->setrotateddimtype(oddbdimassoc::kparallel); oddbobjectid dimassid = dict->setat("acad_dimassoc", dimassoc); oddbosnappointrefptr pointref = oddbosnappointref::createobject(); pointref->osnappoint() = pline->startpoint(); pointref->setosnapmode(oddb::kosmodestart); pointref->setnearosnap(0.0); pointref->mainentity().objectids().append(lineid); pointref->mainentity().subentid().settype(oddb::kedgesubent type); dimassoc->setosnappointref(oddbdimassoc::kfirstpoint, pointref); pointref = oddbosnappointref::createobject(); pointref->osnappoint() = pline->endpoint(); pointref->setosnapmode(oddb::kosmodeend); pointref->setnearosnap(0.0); pointref->mainentity().objectids().append(lineid); pointref->mainentity().subentid().settype(oddb::kvertexsube nttype); dimassoc->setosnappointref(oddbdimassoc::ksecondpoint, pointref); // setting reactors pad->addpersistentreactor(dimassid); pline->addpersistentreactor(dimassid); -- best regards, sergey z. |
所有的时间均为北京时间。 现在的时间是 10:24 PM. |