- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Advanced Covering Failing
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-31-2011 03:43 AM
Hi,
I am trying to use "api_advanced_cover_no_stitch" to cover a set of edges without success. The api gives message "An internal error occured in advanced covering". I am attaching the SAT file which contains all the edges which are to be covered.
The edges I am trying to cover are free edges and there are no constraints which I need to impose.
I tried specifying adjacency tolerance through "acovr_edge_constraint", but that did not help. Here is the code snippet:
--------------------------------------------------
FACE * face = NULL;
acovr_edge_constraint constr;
constr.set_continuity(acovr_G0);
constr.set_pos_tol(1e-2);
acovr_options opts;
opts.set_default_constraint(constr);
o = api_advanced_cover_no_stitch(face, edgList, &opts);
--------------------------------------------------
Any help regarding this will be greatly appreciated.
Thanks!
Jinesh.
Re: Advanced Covering Failing
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-31-2011 06:39 AM
Dear Jinesh
I loaded the edges you saved into scheme and tried api_advanced_cover_no_stitch on them. The reason you get an API failure is because the edges don't have COEDGE objects; I am sorry the error message for this is so cryptic and that the header file documentation for the API does not express this requirement adaquately. From reading the docs, I thought what you were trying would work.
However, there is a workaround. Please try using api_make_ewires with an options object specifying the coincidence tolerance is 1.0e-2 (I got this from your constraint tolerance, it might work with smaller coincidence tolerances but I haven't tried it that way). That will give you one united wire. Then use api_advanced_cover providing one edge from the new wire as an input. I tried this in scheme and it worked, producing the attached sat file.
I think api_advanced_cover_no_stitch is expecting existing edges from a valid body. Typical BODYs in ACIS do have coedges on each edge. The workflow I describe consumes the input edges. If for some reason, you need to keep them around, you can use api_copy_entity_list to copy the edges and do the destructive workflow on a copy.
I hope this helps. Please let us know if you run into further difficulty.
Eric Zenk
Re: Advanced Covering Failing
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-01-2011 02:13 AM
Dear Eric,
Thanks a lot for the reply.
Your workflow worked perfectly.
Best Regards,
Jinesh.

