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

Hong-Jun Kim hongjun at mcs.anl.gov
Mon Aug 15 16:06:57 CDT 2011


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) 



More information about the cgma-dev mailing list