高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】hatch contour visibility problem
hatch contour visibility problem
hatch contour visibility problem
hi,
it seems as if a contour object of an associated hatch would get an oddb::kinvisible flag (even though the object is visible in autocad and in the dxf file there is no 60, 1 code-value pair). i tried two versions of the same simple drawing (a hatched circle) with the only difference that in one drawing the hatch was associated and in the second it was not. in the first case there was this pentity->visibility() == oddb::kinvisible had value true (for the circle entity), in the second it had value false.
is there something i am missing here?
thank you,
miklos
strange. as i know circle's visibility should not depend on hatch's associativity. could you provide more details and/or a sample file?
sergey slezkin
hi,
in the attachment assoc.dwg there is a hatched circle with associative hatch. in the other attachment (nonassoc.dwg) is the same circle with non-associative hatch.
when i check for visibility in my program using
pent->visibility() == oddb::kvisible
in the first case i get false, in the second case i get true. (in this case pent is a smart pointer to the oddbcircle object.)
i looked at the dxf versions of these two files, i found minor differences, (and of course differences caused by the change in the associativity status of the hatch), but nothing related to visibility. i created both files using autocad 2002. i am using dwgdirect 1.10.
i got similar results with polygons as contour objects.
thank you for your help,
miklos
attached files (24.2 kb, 3 views)
(24.2 kb, 3 views)
i can't reproduce it.
i inserted the following code into debugcommand.h in odamfcapp sample:
code:
void extern_debugcommand(codamfcappdoc* pdoc, cdwgview* pview)
{
oddbobjectid objid = pview->getcurobjectid();
oddbobjectptr obj = objid.openobject(oddb::kforwrite);
oddbentityptr pent = oddbentity::cast(obj);
if (!pent.isnull())
{
bool bvisible = (pent->visibility() == oddb::kvisible);
}
}
to check it i selected circle in objects tree and invoked edit/run debug command (breakpoint was set inside the code).
it works the same for circles from both files...
sergey slezkin
hi,
thank you for the answer. then there must be something wrong in our code.
(next time before i write i'll try out debugcommand.h in odamfcapp first...)
miklos
|