高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】how to init drawing using template
how to init drawing using template
how to init drawing using template
i have input drawing and want to use it as a template for output one:
code:
pdbin = svcs.readfile(...);
pdbout = svcs.createdatabase();
// populate output drawing
...
pdbout->writefile(...);
got an error message trying to post an entity:
code:
oddbobjectid newid = pblocktblrecout->appendoddbentity(pent);
quote:
"oderror thrown: already in database"
which does not have any sence. so, i'm guessing, the output drawing database is not setted yet (layers? line styles? ...).
odwriteex sample shows how to populate new drawing database.
is there an easy way to copy structure from one db to another?
thanks,
gok
life would be so much easier if we could just look at the source codefff">fff">
why won't you just read the database directly into 'pdbout'?
to copy some objects from one database to another use wblockcloneobjects()
vladimir
thanks, vladimir, for respond.
well, right now i'm doing the same thing: reading dxf in input and output databases, erasing an entities from output. drawings are relatively big, so double reading the same data looks rather silly.
straight approach to create empty output using input as a template would involve huge
code:
if (...) then
tree for each blocktable, layertable, styletable, ...
my hope is it could be better way to clone database' structure. "partial" flag in readfile(..) didn't help either.
any ideas/suggestions?
life would be so much easier if we could just look at the source codefff">fff">
what means 'structure'? everything but entities and blocks?
vladimir
yes, vladimir. all but spatial entities.
and after couple tryes this schema looks like working fine:
code:
pdbout = srvcs.createdatabase(true);
pdbout->initialize();
...
pdbin->wblockcloneobjects(ids, pdbout->getmodelspaceid, ...);
...
pdbout->writefile(..);
thanks a lot for you support!
life would be so much easier if we could just look at the source codefff">fff">
|