2010/6/5 Viesturs Lācis <[email protected]>:

> Please, someone comment on this, how to implement - I am not that
> experienced for this type of activities, so I would really appreciate
> more detailed explanation :))

You need the source, and you might as well get that with Git, as that
makes it easier to share any changes you make. (if you do write a
kinematics module for waterjet, then the project wants it)
http://wiki.linuxcnc.org/emcinfo.pl?Installing_EMC2#Getting_the_source_with_git
and http://wiki.linuxcnc.org/emcinfo.pl?Git
You can just change a few things, then type "make" in the /src
directory, and EMC will rebuild itself incorporating your changes.
(and, fortunately, won't break the installed version, if you use
run-in-place)

You might think that this means changing from being a user to being a
developer. You would be right, but it's a very fine line with EMC.
FWIW I had never programmed in C or compiled anything until a few
months ago, and whilst it felt daunting at first, it soon feels
perfectly normal to root around in the code.

For example, if you want to change the "coolant" and "spindle" buttons
to say something else, have a look in
src/emc/user_intf/axis/scripts/axis.py for the word "spindle" in a
quoted string somewhere, change it to "abrasive"  rebuild and see if
it has worked. (for simplicity I would not suggest changing the
variable or label name, just the button text)

> I was thinking and now am willing to ask - what are the options to
> develop some kind of filter/preprocessor for EMC, in which I would
> input the tilt angle (B axis) and it could calculate the direction for
> C axis from X and Y coordinates and then recalculate the same for A
> and B axis - bit more of trigonometry to get those angles.

I think that would be harder than a kinematics module. Finding the
instantaneous tangent to a curve in progress is much easier than
working it out from the G-code.

My own preference (which is irrelevant, as it isn't my machine) would
be for a kinematics module that takes X, Y, Z, A where the A is an
angle set by the Gcode, but isn't directly related to the conventional
A axis, but is in fact a kerf-angle or cutting angle, with positive to
the right of direction of travel, and negative to the left. The
kinematics module would measure the instantaneous X and Y velocities
to determine the tangent, and do the maths from there. Output of the
kinematics module would be pass-through of X, Y, Z for the X1 X2 Y Z
joints, and calculated positions for the two head joints.

>>> I think that I will need to use ClassicLadder to create the logics
>>> that "Water jet ON" and "Abrasive ON"

> My apologies, I did not understand. Do You mean "HAL Advanced tutorial"?

No, but that might be a reasonable place to start. What I was saying
was that a simple override on the abrasive and water does not need
ClassicLadder, that can be done trivially in HAL.

> In that case - creating additional pyvcp panel with those buttons will
> return to the previously asked, but not answered question - is it
> possible to insert pyvcp panel on the left side of the screen, right
> under "spindle" and "flood" section

Yes, it is possible. But everything is possible when you have the
source code. I don't think that with the standad code the pyVCP can be
anywhere other than the right.
However, I think you might be able to omit the coolant and spindle
pins from the standard HAL file so that the buttons do not appear on
the left, and then add buttons with the same functions to a PyVCP on
the right. I _think_ but have not checked that you can still access
the M3 etc signals through HALUI and direct them to the requisite pins
in HAL

-- 
atp

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to