?? 2004-june.txt
字號:
From amr.eldessouky at memscap.com Tue Jun 1 10:24:38 2004From: amr.eldessouky at memscap.com (Amr S. El-Dessouky)Date: Tue Jun 1 10:28:48 2004Subject: [Acis-alliance] force edges to inherit the color of their owning body in the GI/GL viewerMessage-ID: <40BC91A6.4010003@memscap.com.eg>An HTML attachment was scrubbed...URL: http://lists.cs.columbia.edu/pipermail/acis-alliance/attachments/20040601/c36efce9/attachment.htmlFrom T.Mwinuka at postgrad.umist.ac.uk Tue Jun 1 12:45:01 2004From: T.Mwinuka at postgrad.umist.ac.uk (Tito Mwinuka)Date: Tue Jun 1 12:45:50 2004Subject: [Acis-alliance] Clearing ACIS document using DeleteContents()Message-ID: <1086108301.40bcb28d8a04b@webmail1.umist.ac.uk>Dear AllianceI'm trying to have my acis document cleared so that I can add entities to a fresh document. I'm writing ACISMFC application using ACIS version 6.3.1. I'm using m_pAcisDoc->DeleteContents() but I end up with error when I run the programe. Is it the right function to use? and if it is, does anybody know as to why it shouldn't run smoothly? Kindly help.From Samuel.Mazel at cedrat.com Wed Jun 2 05:23:26 2004From: Samuel.Mazel at cedrat.com (Samul Mazel)Date: Wed Jun 2 05:24:16 2004Subject: [Acis-alliance] New user of Acis and first questionMessage-ID: <001f01c44883$42718cb0$8201a8c0@cedratgrenoble.fr>Hello,I work on the R13 version of Acis, I don't have the advanced core. I want toconstruct a geometry with an attribute on some object of my topology(Vertex,Edge,Loop,Face and Body).It's difficult because I begin to construct Vertex and after Edge etc... andit isn't the good sense but I must construct like this.My problem is in the use of the function api_cover_wires, (I use forconstruct my Face) and I want to specify the surface like a cone surface orcylinder surface.So I try to construct the surface, with the default constructor of surfaceor recovering a surface in face in a body contruct withapi_solid_cylinder_cone.I don't understand the function api_cover_wires not run.I try in the sceme support and it's the same, I have this message :acis> (define res6 (sheet:cover-wires wire_body4 (entity 42)))*** Error sheet:cover-wires: Edge does not lie on the given surfaceacis> (face:types)entity:(entity 39 1) face:(entity 42 1) face_type:Cylinder face:(entity 43 1) face_type:Plane face:(entity 44 1) face_type:PlaneThe specified surface must be exactly in the same dimension of the wire_bodyassociated ?Thanks a lotSamuel MazelFrom g_baylor at yahoo.com Wed Jun 2 07:08:32 2004From: g_baylor at yahoo.com (=?iso-8859-1?q?gordon=20baylor?=)Date: Wed Jun 2 14:02:51 2004Subject: [Acis-alliance] Surface modificationMessage-ID: <20040602110832.58762.qmail@web12701.mail.yahoo.com>I was wondering how I could modify a spline surfacesay for example on a wiggle body. First of all Icreate the wiggle body. Then I select the spline face.I then want to use bs3_surface_set_ctrlpt to modifythe surface. Do I need to convert the surface to a bs3surface before I can do this and if so how (maybe usesomething like spline::sur() ?) I am using ACIS R12. Ieventually want to be able to select the surfacethrough hoops if anyone can offer me any advice onthis.Thanks in advance.Gordon//create wiggle bodyBODY *block;double width = 5000, depth = 5000, height = 1000;int low_v = 1; // S shaped curve on each "v" sideint high_v = 1; int low_u = 2; // Double hump curve on each "U" side int high_u = 2; api_wiggle(width, depth, height, low_v, high_v, low_u,high_u, TRUE, block);//select spline surfaceSHELL *eg = block->lump()->shell();FACE *ff;for(ff = eg->face_list(); ff != NULL && ff->geometry()->identity()!=SPLINE_TYPE; ff=ff->next());//modify spline surfaceSURFACE *fs = ff->geometry();const surface& sfs= fs->equation_for_update();SPAposition centre_of_spline_face;centre_of_spline_face.set_x(0.0);centre_of_spline_face.set_y(0.0);centre_of_spline_face.set_z(3000.0);bs3_surface_set_ctrlpt(sfs,0.5,0.5,centre_of_spline_face,0); ____________________________________________________________Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.htmlFrom Samuel.Mazel at cedrat.com Tue Jun 8 07:36:03 2004From: Samuel.Mazel at cedrat.com (Samul Mazel)Date: Tue Jun 8 07:36:30 2004Subject: [Acis-alliance] Keep Attributes during boolean operationMessage-ID: <001701c44d4c$c86063f0$8201a8c0@cedratgrenoble.fr>Hi,I have R13 Version of Acis, my problem is simpleI want to keep attributes attach to a body during operation boolean.I attach attrib on Vertices edges and faces(api_add_generic_named_attribute) of 2 body, with this body I do a booleanoperation (api_boolean). So the entities who are unchanged should may havethe same attribute, but the entities result are recreate with no attributes.perhaps I misledI try with different option Merge,Trans in the functionapi_add_generic_named_attribute but nothing.I don't understand because with Scheme after a boolean operation I find thesame id of the entities unchanged. ?????I'm stoppedplease helpThanks a lotSamuel MazelFrom zhangkm at hhuc.edu.cn Sat Jun 12 02:57:27 2004From: zhangkm at hhuc.edu.cn (張坤明)Date: Sat Jun 12 10:55:49 2004Subject: [Acis-alliance] ask for helpMessage-ID: <287023447.21124@hhuc.edu.cn> I don't know the attribute of EDGE or FACE about "sense" clearly,in what timethe FACE is FORWARD(REVERSED)? And the EDGE? Another:How to decide the position is in the FACE rather than plane? I'm looking forward to getting your answers about these questions.Thank you anyway!From raphael.klock at umail.univ-metz.fr Mon Jun 14 07:14:45 2004From: raphael.klock at umail.univ-metz.fr (raphael klock)Date: Mon Jun 14 07:15:25 2004Subject: [Acis-alliance] ask for helpMessage-ID: <200406141114.i5EBEjUw024922@umail.univ-metz.fr>Hellothe attribute "sense" is for the 'good sens' of construction: the norm is external at the facean exemple: APOINT * a1= new APOINT(sp1); APOINT * a2= new APOINT(sp2); APOINT * a3= new APOINT(sp3); APOINT * a4= new APOINT(sp4); VERTEX * v1= new VERTEX(a1); VERTEX * v2= new VERTEX(a2); VERTEX * v3= new VERTEX(a3); VERTEX * v4= new VERTEX(a4); SPAunit_vector uv1(sp2.x() - sp1.x(),sp2.y() - sp1.y(),sp2.z() - sp1.z()); SPAunit_vector uv2(sp3.x() - sp2.x(),sp3.y() - sp2.y(),sp3.z() - sp2.z()); SPAunit_vector uv3(sp4.x() - sp3.x(),sp4.y() - sp3.y(),sp4.z() - sp3.z()); SPAunit_vector uv4(sp1.x() - sp4.x(),sp1.y() - sp4.y(),sp1.z() - sp4.z()); STRAIGHT * st1 = new STRAIGHT(sp1,uv1); STRAIGHT * st2 = new STRAIGHT(sp2,uv2); STRAIGHT * st3 = new STRAIGHT(sp3,uv3); STRAIGHT * st4 = new STRAIGHT(sp4,uv4); EDGE * e1= new EDGE(v1,v2,st1,FORWARD); EDGE * e2= new EDGE(v2,v3,st2,FORWARD); EDGE * e3= new EDGE(v3,v4,st3,FORWARD); EDGE * e4= new EDGE(v4,v1,st4,FORWARD); COEDGE * ce1 = new COEDGE(e1,FORWARD,NULL,NULL); COEDGE * ce2 = new COEDGE(e2,FORWARD,NULL,NULL); COEDGE * ce3 = new COEDGE(e3,FORWARD,NULL,NULL); COEDGE * ce4 = new COEDGE(e4,FORWARD,NULL,NULL); ce1->set_next_no_rev(ce2); ce1->set_previous_no_rev(ce4); ce2->set_next_no_rev(ce3); ce2->set_previous_no_rev(ce1); ce3->set_next_no_rev(ce4); ce3->set_previous_no_rev(ce2); ce4->set_next_no_rev(ce1); ce4->set_previous_no_rev(ce3); LOOP * l1 = new LOOP (ce1,NULL); SPAunit_vector u1 = CalculNormalFace( l1 );// it a function that i create PLANE * s1= new PLANE(sp1,u1); FACE * f1 = new FACE (l1,NULL,s1,FORWARD);Good luck From alames at sandia.gov Mon Jun 14 15:19:47 2004From: alames at sandia.gov (Ames, Arlo)Date: Mon Jun 14 15:20:43 2004Subject: [Acis-alliance] ask for helpMessage-ID: <16F54D8E44BBEE4BBBDB5EFB3AEEB86D01C521C6@es06snlnt.sandia.gov>The sense bits are present for at least two good reasons:1. to use the opposite side of a surface. If you want a concave cylinder(e.g. for describing a hole) you complement the face (because thecylindrical surface is otherwise convex).2. to speed up operations like booleans. The boolean operator is a singleoperator -- you can write one of union, difference, or intersect, thencomplement objects to obtain the remaining operators. Since we need to beable to complement solids, we can either change the signs of a lot offloating point numbers, or complement their direction with a simple integerflag, saving potentially a lot of floating point work.ACIS has complementation flags in 3 places:A. On FACE objects. This effectively changes the sign of surface normalson the face.B. On COEDGE objects. This effectively changes the direction theunderlying curve will be traversed, effectively reversing theparameterization of the edge, and complementing which side of the coedge isseen as the interior of the face (you cross surface normal with coedgetangent to find the interior of a face, which is normal to the insidedirection determined by A above.C. On EDGE objects. This effectively changes the direction of theunderlying curve will be traversed. The direction the curve will betraversed is actually determined by xor-ing the COEDGE sense and the EDGEsense. I haven't convinced myself that you need both COEDGE and EDGE sense,but you have to deal with them both, as ACIS implements both.At construction time, you will pick which direction of each FACE is outside,first. Then, for each COEDGE, determine the EDGE sense first (this isactually arbitrary). Then, choose the COEDGE sense to correctly state wherethe inside of each FACE is. If you perform Boolean operations, it ispossible for any of the sense bits to be flipped. So, for any analysis youdo, you have to be prepared to check the sense bit and act accordingly.Note that for closed solids it is typical to find just as many COEDGES areREVERSED as are FORWARD, while most FACE sense bits will be forward, with afew REVERSED where you have concave quadric surfaces. EDGE sense bits arevery often FORWARD, but are occasionally REVERSED, again for reasons I'venever bothered to determine.Arlo Amesalames@sandia.gov-----Original Message-----From: ?????? [mailto:zhangkm@hhuc.edu.cn] Sent: Saturday, June 12, 2004 12:57 AMTo: acis-alliance@cs.columbia.eduSubject: [Acis-alliance] ask for help I don't know the attribute of EDGE or FACE about "sense" clearly,in whattime the FACE is FORWARD(REVERSED)? And the EDGE? Another:How to decide the position is in the FACE rather than plane? I'm looking forward to getting your answers about these questions.Thankyou any way!_______________________________________________Acis-alliance mailing listAcis-alliance@cs.columbia.eduhttp://lists.cs.columbia.edu/mailman/listinfo/acis-allianceFrom Samuel.Mazel at cedrat.com Tue Jun 15 10:23:36 2004From: Samuel.Mazel at cedrat.com (Samul Mazel)Date: Tue Jun 15 10:23:40 2004Subject: [Acis-alliance] Exemple of use History Stream, Delta State, BulletinMessage-ID: <002d01c452e4$58eb1900$8201a8c0@cedratgrenoble.fr>HelloI want to compare two entities to say if there are some changes between thisentities. So after a boolean operation I want to say if somefaces,edges,vertices have been modified or not.I don't found a api function who do that so I will use the history managerof acis.(HISTORY STREAM, BULLETIN BOARD, ...)If somebody have an example of this use, I should be happy if this peoplescan be send this or if you know a function who compare two entities and sayif there are differents.I have acis R13thanks for your replySamuel MazelFrom christian.pietersen at uk.radan.com Fri Jun 18 09:58:39 2004From: christian.pietersen at uk.radan.com (Christian Pietersen)Date: Fri Jun 18 09:54:34 2004Subject: [Acis-alliance] memory leakMessage-ID: <PEEFJOALJDHPOPDGPCGEAEBGDBAA.christian.pietersen@uk.radan.com>HelloI've got a memory leak that's causing a whole load of problems that I can'tget to the bottom of and would appreciate some help with.Basically at shutdown we delete the entities using api_delen() and this inturn causes our user defined attributes to be deleted, now the attribute inquestion is implemented by us to contain a list of objects.I know the leak is not in the list code because we've been using that codefor years without any leaks.I suspect it's down to the macros for attributes as shown below and how theyare copied (shallow/deep) and subsequently deleted. I know exactly where thememory allocation is occurring that is subsequently not deleted. ATTCOPY_DEFcalls MY_Attribute::operator= which diligently copies the list as it shouldallocating to a pointer. leaving it in the list pointing to a new copy ofthe list item. It appears that this pointer is being trashed by a call tomemcpy() from LOSE_DEF before we get a chance to tidy it up properly in ourDelete() function.Here is the macro code in question as defined in our code.Here are a few notes about the functions called.Delete(), does as suggested and tidies up.Copy(), Does a deep copy. Calls backup() and Delete() first.Thanks in advance if you are able to help.RegardsChristian-------------------------------------------------------------------------------------------------------ATTCOPY_DEF("my_attribute")LOSE_DEF Delete();DTOR_DEF Delete();DEBUG_DEFSAVE_DEF
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -