In a recent posting I did say where photo's of my machine and an impeller cut with it can be looked at.
It is in groups.yahoo.com under group SA-CNC-CLUB in "photos". This is the discussion group for our local CNC club (South Africa), which I started about 2 years ago (SA-CNC-CLUB) and has about 40 members. Most of the members are using EMC2 and we have converted probably more than 20 machines to EMC2 already. I personally have done 6. I have not been able to find a way to post photos to this forum. Lets focus a little on the process of going from world coordinates to joint coordinates. Starting from a toolpoint position in part or world coordinates xyz and unit tool vector ijk, these have to be transformed to joint coordinates XYZAC, with C the rotation angle of the top rotary table and A the rotation angle of the rotary table on which the top rotary table sits. The rotary axis of the A table is along the X-axis of the machine. X sits on Y which sits on Z (look at my pictures if necessary). The world coordinates I supply to EMC is the original xyz and the two angles A and C which have been computed in the CAM post-processor from ijk by: A = -arccos(k) and C = arctan2(i,j) Some adjustment of C is necessary to go beyond -180 deg and +180 deg. This is transformed by the inversekins: J0 = cos(C)*x - sin(C)*y j1 = sin(C)*cos(A)*x + cos(C)*cos(A)*y - sin(A)*z j2 = sin(C)*sin(A)*x + cos(C)*sin(A)*y + cos(A)*z j3 = A j4 = b (not used) j5 = C This is a working process for me so far as you can see from the photo of the impeller produced. If I use a G55 transformation of say G55 x10 y10, then EMC seems to add these values to x and y before it sends it to inversekins. The world coordinate origin is shifted to the new position. That seems fine. G55 is set by a G10 L2 P2 command. If I use a G55 of say G55 c45 nothing happens. It would have worked for me if EMC also added 45 to the value of C before it passes it on to inversekins. Practically I would only want to shift the C-axis when cutting parts like impellers with a number of blades. The GCODE for only one blade is the provided. I could also have passed on the ijk values as abc values to the inversekins. It would then have to work out the AC values, but there is quite a bit of checking and adjustment to C to be done. I am not sure if EMC could then pass on transformations. I hope the problem is now clearer and look forward to some response. Rudy ------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users