高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】changing dimension arrow type
changing dimension arrow type
changing dimension arrow type
hello,
can i trouble anybody with a question about dimensions?
i want to know how to change the deafult dimension arrow with some of the other default types(ex. "_dot", "_origin", "_open", etc.) as in acad. is there any binary file where they are stored? i want to get them and to store as blocks in the database block table.
thanks in advance,
hotsouce
oddbdimstyletablerecord and oddbdimension have methods:
setdimblk(), setdimblk1(), setdimblk2
which accept arrow name as string.
for standard autocad arrows like "_dot" etc. blocks representing arrows will be generated by dd.
sergey slezkin
thanks,
i found these methods and now everything is ok.
quote:
originally posted by sergey slezkin
oddbdimstyletablerecord and oddbdimension have methods:
setdimblk(), setdimblk1(), setdimblk2
which accept arrow name as string.
for standard autocad arrows like "_dot" etc. blocks representing arrows will be generated by dd.
i'm creating a new dwg file:
odrxobjectimpl<myservices> svcs;
odinitialize(&svcs);
oddbdatabaseptr pdb = svcs.createdatabase();
and then trying to create a new dim style...
oddbdimstyletableptr pstyletbl;
pstyletbl = pdb->getdimstyletableid().safeopenobject(oddb::kforwri te);
if (!pstyletbl->has( "testing" )) {
oddbdimstyletablerecordptr pstyletblrcd = oddbdimstyletablerecord::createobject();
pstyletblrcd->setname( "testing" );
pstyletblrcd->setdimblk("_dot"); //<-exception, same for setdimblk1 or setdimblk2..
pstyletbl->add(pstyletblrcd);
}
but setdimblk(), setdimblk1(), setdimblk2() causes an exception...
can anyone figure out what is wrong?
i suppose you get enodatabase exception.
add the dimstyletabletablerecord to the table first before calling setdimblk(name_string).
setdimblk(id) can be called on non-database resident objects.
setdimblk(name) - not.
because dd needs to find block id having block name and database to search block in is unknown.
sergey slezkin
quote:
originally posted by sergey slezkin
i suppose you get enodatabase exception.
add the dimstyletabletablerecord to the table first before calling setdimblk(name_string).
setdimblk(id) can be called on non-database resident objects.
setdimblk(name) - not.
because dd needs to find block id having block name and database to search block in is unknown.
thank you. it is ok now...
|