- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Does ACIS have any Mesh Manipulati on support??
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-02-2011 02:20 AM
Hello,
I looked for mesh manipulation features in ACIS but was unable to find much.
Can anybody help me getting those
Re: Does ACIS have any Mesh Manipulati on support??
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-02-2011 05:04 AM
Hi,
What kind of mesh manipulation operations are you looking for?
Thanks,
Re: Does ACIS have any Mesh Manipulati on support??
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-06-2011 12:15 AM
hello,
I am looking for following things:
1. change the mesh density. (want " more fine" mesh). I tried it setting via facet options. but could nt get any change in output.
2. can i set same number of nodes at shared edge. so that i can get Equivalenced mesh??
my first preferences will be above questions.
Thanks
Re: Does ACIS have any Mesh Manipulati on support??
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-06-2011 08:45 AM
Hi.
ACIS certainly does have controls which allow you to change how fine the mesh is. I suggest using facet_options_precise and the methods set_max_edge_length (which causes triangle edges to be split if they are longer than your requested max length) and surface tolerance ( tightening surface tolerance will give more facets where the part is curved.) Were these the controls you used before? If so, some more specifics about what you were doing that didn't work would allow me to help you get a better result.
Regarding the second requirement: we call this watertightness. Normally you shouldn't have to do anything special to make the facets are watertight. The easiest workflow is to facet an entire solid all at once using api_facet_entity. If you facet some but not all of the faces in a body, that should also be watertight as long as you don't delete the attributes which store where the edge facets are.
best regards
Eric Zenk
Re: Does ACIS have any Mesh Manipulati on support??
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-09-2011 12:16 AM
Thanks,
option of setting triangle max length worked.
Re: Does ACIS have any Mesh Manipulati on support??
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-16-2011 11:40 PM
I did some code for Polygon mesh : The code worked for values in code.
But nw i m trying with some different values as
SPAposition * pos_array = ACIS_NEW SPAposition[5];
pos_array[0] = SPAposition(15.585800,32.236699,0);
pos_array[1] = SPAposition(15.585800,42.887599,0);
pos_array[2] = SPAposition(35.254400,42.887599,0);
pos_array[3] = SPAposition(35.254400,32.236699,0);
pos_array[4] = SPAposition(15.585800,32.236699,0);
result = api_make_wire (my_body, 5, pos_array, my_body);
For those values the code below doesnt give me af_query output.
Please help me on this ASAP
following is the code snippet.
API_BEGIN
BODY *body = NULL;
SPAposition * pos_array = ACIS_NEW SPAposition[7];
pos_array[0] = SPAposition(1.3341,0.4307,0);
pos_array[1] = SPAposition(1.3266,-0.1385,0);
pos_array[2] = SPAposition(0.1852,-0.1610,0);
pos_array[3] = SPAposition(0.1066,0.5805,0);
pos_array[4] = SPAposition(0.4958,0.2134,0);
pos_array[5] = SPAposition(0.7353,0.4943,0);
pos_array[6] = SPAposition(1.3341,0.4307,0);
result = api_make_wire (body, 7, pos_array, body);
ACIS_DELETE [] pos_array; // De-allocate the array.
WIRE * my_wire = body->lump()->shell()->wire();
FACE *face = NULL;
result = api_cover_wire (my_wire, *(surface*)NULL_REF, face);
result = api_body_to_2d (body);
MESH_MANAGER * MM = NULL;
MESH_MANAGER * oldMM;
outcome o1 = api_get_mesh_manager( oldMM );
check_outcome(o1);
MM = new INDEXED_MESH_MANAGER;
o1 = api_set_mesh_manager(MM);
check_outcome(o1);
REFINEMENT* ref;
o1 = api_create_refinement(ref);
api_set_entity_refinement((ENTITY *)face, ref, FALSE);
POLYGON_POINT_MESH *facets = (POLYGON_POINT_MESH*)NULL;
facet_options_visualization my_opts;
face_quality_level level;
level = medium_fine;
my_opts.set_face_quality(medium_fine);
facet_options_precise my_opt1;
my_opt1.set_max_edge_length(0.01);
result = api_facet_entity((ENTITY *)face,&my_opt1);
result = api_get_face_facets(face,facets);
check_outcome(result);
int facetCount = facets->size(); //facets->count();
MESH * face_mesh = NULL;
af_query((ENTITY*)face, IDX_MESH_APP, IDX_MESH_ID, face_mesh);
INDEXED_MESH * mesh = (INDEXED_MESH*)face_mesh;

