[cgma-dev] r5088 - cgm/trunk/geom/OCC

Hong-Jun Kim hongjun at mcs.anl.gov
Tue Aug 16 16:27:31 CDT 2011


Hi, Jane

I thought merged entities had wrong edge directions, but it is because the original geometry had wrong edge directions set in loading, then merge comparison failed to find overlapped pairs merged.

So, I attached the original step geometry with modified "test_edge_orient" test code which checks edge directions respect to 2 parent faces for all imported volumes.

Please check the "test_edge_orient" test in OCC with the attached step file which is passed in ACIS kernel.
Thanks.

Hong-Jun


----- Original Message -----
> From: "Hong-Jun Kim" <hongjun at mcs.anl.gov>
> To: "Jiangtao Hu" <jiangtao_ma at yahoo.com>
> Cc: cgma-dev at mcs.anl.gov
> Sent: Monday, August 15, 2011 4:06:57 PM
> Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC
> Thank you for your fix.
> 
> It works for most test geometries except the one with merged entities.
> It looks there are wrong merged edge directions respect to parent
> surfaces.
> 
> I am trying to make a test code for this, but before that, can you
> think any suspected code for this problem?
> Thanks.
> 
> -----------------------------
> Hong-Jun Kim
> Post-doc researcher
> MCS, Argonne National Laboratory
> 9700 S. Cass Ave. B240/R2147
> Argonne, IL 60439
> 630-252-4791
> hongjun at mcs.anl.gov
> -----------------------------
> 
> ----- Original Message -----
> From: "Jiangtao Hu" <jiangtao_ma at yahoo.com>
> To: "Jane Hu" <janejhu at gmail.com>, "Hong-Jun Kim"
> <hongjun at mcs.anl.gov>
> Cc: cgma-dev at mcs.anl.gov
> Sent: Monday, August 15, 2011 12:32:21 PM
> Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC
> 
> Hi, Hong-Jun,
> 
> Please see r5102 for fix of your model. Thanks for fixing the nightly
> build issues.
> 
> Jane
> 
> --- On Fri, 8/12/11, Hong-Jun Kim <hongjun at mcs.anl.gov> wrote:
> 
> 
> 
> From: Hong-Jun Kim <hongjun at mcs.anl.gov>
> Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC
> To: "Jane Hu" <janejhu at gmail.com>
> Cc: cgma-dev at mcs.anl.gov, "Jiangtao Hu" <jiangtao_ma at yahoo.com>
> Date: Friday, August 12, 2011, 5:53 PM
> 
> 
> Hi, Jane
> 
> Could you please check the attached step file for "test_edge_orient"
> again?
> 4 similar shaped faces have problems in the test with OCC kernel.
> Thanks.
> 
> -----------------------------
> Hong-Jun Kim
> Post-doc researcher
> MCS, Argonne National Laboratory
> 9700 S. Cass Ave. B240/R2147
> Argonne, IL 60439
> 630-252-4791
> hongjun at mcs.anl.gov
> -----------------------------
> 
> ----- Original Message -----
> From: "Jane Hu" < janejhu at gmail.com >
> To: "Jiangtao Hu" < jiangtao_ma at yahoo.com >
> Cc: "Hong-Jun Kim" < hongjun at mcs.anl.gov >, cgma-dev at mcs.anl.gov
> Sent: Friday, August 12, 2011 12:31:22 PM
> Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC
> 
> Hi, Hong-Jun
> 
> Please use r5098 to fix the problem seen in your model. Thanks.
> 
> Jane
> 
> 
> On Thu, Aug 11, 2011 at 10:58 PM, Jiangtao Hu < jiangtao_ma at yahoo.com
> > wrote:
> 
> 
> 
> 
> Sure, I'll look into this case tomorrow. Thanks for the model and your
> time finding it.
> 
> Jane
> 
> --- On Thu, 8/11/11, Hong-Jun Kim < hongjun at mcs.anl.gov > wrote:
> 
> 
> 
> 
> From: Hong-Jun Kim < hongjun at mcs.anl.gov >
> 
> Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC
> To: jiangtao_ma at yahoo.com
> Cc: cgma-dev at mcs.anl.gov
> Date: Thursday, August 11, 2011, 5:12 PM
> 
> 
> 
> 
> 
> Hi, jane
> 
> I attached a step geometry file (with a picture) having problem in OCC
> kernel.
> It passes the "test_edge_orient" in ACIS kernel but doesn't in OCC.
> Could you please check this file?
> Thanks.
> 
> Hong-Jun
> 
> ----- Original Message -----
> From: "Hong-Jun Kim" < hongjun at mcs.anl.gov >
> To: cgma-dev at mcs.anl.gov
> Sent: Thursday, August 11, 2011 3:06:25 PM
> Subject: Re: [cgma-dev] r5088 - cgm/trunk/geom/OCC
> 
> Thank you for this change.
> 
> I am testing it with complex geometries and it looks there are some
> improvement but it is not working for some cases.
> I am still finding where the problem is coming from and let me inform
> you the result.
> Thanks.
> 
> Hong-Jun
> 
> ----- Original Message -----
> > From: "jiangtao ma" < jiangtao_ma at yahoo.com >
> > To: cgma-dev at mcs.anl.gov
> > Sent: Thursday, August 11, 2011 9:21:55 AM
> > Subject: [cgma-dev] r5088 - cgm/trunk/geom/OCC
> > Author: janehu
> > Date: 2011-08-11 09:21:55 -0500 (Thu, 11 Aug 2011)
> > New Revision: 5088
> >
> > Modified:
> > cgm/trunk/geom/OCC/OCCCurve.cpp
> > cgm/trunk/geom/OCC/OCCModifyEngine.cpp
> > cgm/trunk/geom/OCC/OCCQueryEngine.cpp
> > cgm/trunk/geom/OCC/OCCSurface.cpp
> > Log:
> > Added changes to make coedge and loop direction correct. For
> > surfaces,
> > opposite to acis where face is always forward direction respect to
> > its
> > volume, OCC surfaces and shell might be reversed direction with
> > respect to its solid. This may cause volume mesh fail, I am looking
> > into it now, and might need to change some logic in the geom level
> > of
> > cgm.
> >
> > Modified: cgm/trunk/geom/OCC/OCCCurve.cpp
> > ===================================================================
> > --- cgm/trunk/geom/OCC/OCCCurve.cpp 2011-08-09 22:27:32 UTC (rev
> > 5087)
> > +++ cgm/trunk/geom/OCC/OCCCurve.cpp 2011-08-11 14:21:55 UTC (rev
> > 5088)
> > @@ -123,10 +123,10 @@
> >
> > void OCCCurve::set_TopoDS_Edge(TopoDS_Edge edge)
> > {
> > - if(edge.IsEqual(*myTopoDSEdge))
> > + if(edge.IsSame(*myTopoDSEdge))
> > return;
> >
> > - if(!edge.IsSame(*myTopoDSEdge))
> > + else
> > {
> > DLIList<OCCPoint*> points ;
> > this->get_points(points);
> > @@ -737,8 +737,7 @@
> > double OCCCurve::start_param()
> > {
> > double start = 0.0, end = 0.0;
> > -
> > - get_param_range( start, end );
> > + get_param_range( start, end );
> > return start;
> > }
> >
> > @@ -781,29 +780,22 @@
> > {
> > TopTools_IndexedMapOfShape M;
> > TopExp::MapShapes(*myTopoDSEdge, TopAbs_VERTEX, M);
> > - TopologyBridge *point1, *point2;
> > - if (M.Extent()==1) {
> > - point1 = OCCQueryEngine::instance()->occ_to_cgm(M(1));
> > - if (point1)
> > - children.append_unique(point1);
> > - } else if (M.Extent()==2) {
> > - if ( fabs(BRep_Tool::Parameter(TopoDS::Vertex(M(1)),
> > *myTopoDSEdge)-start_param()) >
> > - fabs(BRep_Tool::Parameter(TopoDS::Vertex(M(2)),
> > *myTopoDSEdge)-start_param()) ) {
> > - point1 = OCCQueryEngine::instance()->occ_to_cgm(M(2));
> > - point2 = OCCQueryEngine::instance()->occ_to_cgm(M(1));
> > - } else {
> > - point1 = OCCQueryEngine::instance()->occ_to_cgm(M(1));
> > - point2 = OCCQueryEngine::instance()->occ_to_cgm(M(2));
> > - }
> > - if (point1 && point1 == point2) {
> > - children.append_unique(point1);
> > - } else {
> > - if (point1)
> > - children.append_unique(point1);
> > - if (point2)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ilc_13body.stp
Type: application/octet-stream
Size: 348976 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/cgma-dev/attachments/20110816/f7aad065/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_edge_orient.cc
Type: text/x-c++src
Size: 3692 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/cgma-dev/attachments/20110816/f7aad065/attachment-0001.cc>


More information about the cgma-dev mailing list