Page 1 of 1

Re: Turn Screenset design

PostPosted: Mon Mar 27, 2017 9:48 am
by Battwell
where do i find the threading wizard?

Re: Turn Screenset design

PostPosted: Mon Mar 27, 2017 8:12 pm
by dezsoe
Vmax549 wrote:Currently UCCNC does not handle Wizards very well . There is no dedicated folder to store them OR call them from. Also you cannot call up a Wizard by name only by macro #. It is confusing enought that I will not release any more wizards until UCCNC can handle them in a proper fashion.

Sorry but it got very confusing for users. I only show them so users can see what is possible with UCCNC.

When UCCNC officially adopts Wizards THEN I will start releasing them and share what I have learned about how to create them in UCCNC. There are things that are different between programming a Macro and programming a MacroWizard (;-)

(;-) TP


Could you, please, explain in a few words the difference between programming a macro and a wizard?

Re: Turn Screenset design

PostPosted: Mon Mar 27, 2017 9:14 pm
by karangetang
THIS looks realy great >>> maybe i have send Balazs a bottle Champain to get this working including constant surface speed: G96
I realy wannt to pay for it .....

Re: Turn Screenset design

PostPosted: Tue Mar 28, 2017 8:43 am
by dezsoe
Vmax549 wrote:Bascially in a macro it is built as a Function() and you work inside of that function enviroment. that means you ONLY have access to things that UCCNC decided to allow us to have access to. That did not allow us to build a proper wizard because you need functions outside of what is allowed in the macro Function. SO THEY gave us a hook to get to teh outside and more access to C# functions . BUT still at that point you only have access IF you give teh function the full USEING path to teh C# function you require. In teh macro enviroment you could build teh Form (page) BUT you could not do anything with it as you did not have access to button functions and etc.

Teh process is explained in teh Macro Manual BUT it does not cover all teh things you run into by having that access to teh outside (;-) Those problems you have to learn to sort out with a LOT of help from Balazs to explain how it has to work in order to work.


Yes, it's true, but since #Events has arrived, we can manage the forms events and the best is: we can write functions. Before the #Events era it was a bit annoying to repeat code snippets in a macro. (The best would be a "global" macro which could not run itself, but could be accessed from all other macros for global variables and functions.)

Vmax549 wrote:Without having the FULL knowledge of HOW UCCNC works it is sometimes TOUGH to figure out HOW to make something work . Most times it is a learning process of TEST TRY FAIL TRY something else ,test,try.etc etc, . AND without a MACRO editor it gets VERY time consuming to create code , run it ,debug it. VERY TIME consuming. SOme of the simplest things took forever to figure out how to make at work in teh Macro, MacroWizard system.

ALSO having that much access to teh inner workings YOU must be very carefull as to WHAT you do. You COULD seriously crash your machine or hurt someone.

I do know that both Balazs's had to think about it for a LONG time before they allowed us to access more of the inner workings as a MACROWIZARD

With great power comes great responsibilty to use it safely.

THAT is probably why Wizards have not been formally included in UCCNC yet . I still sometimes get surprised by a rouge function that I created that had adverse side effects to OTHER things in UCCNC. I call them RUT ROW's other wise know as OH Shoot's.


You're right. The guys don't have time for writing nice programming guides, I absolutely understand it. Sometimes we have to make lots of experiments, but I really enjoy it.

It's hard to balance between safety and freedom. But I think that you can crash your machine with even a one-line macro. You just have to move to the wrong direction. So IMHO writing small macros are not safer than writing nice wizards. We as developers always have to be careful to publish only over-tested things.

What kind of macro editor do you think of? I use my favourite text editor and can't imagine what else should I need. It helps a little that it can highlight C# syntax, but sometimes I forget to turn it on (not automatic for .txt files).

Re: Turn Screenset design

PostPosted: Tue Mar 28, 2017 9:39 pm
by dezsoe
OK, now I see what you thought of. I absolutely have to agree with you.

Just two ideas:
- In GCodeView there is a full GCode interpreter with syntax check for me. I am not sure of its future, maybe I will make those classes public. (And there is also a debugger in GCodeView, but that is disabled now, because it is not finished.),
- You can protect your code using plugins.

And one more idea, especially for Balázs. As I wrote the above lines, I found out that when a GCode is loaded in UCCNC, it displays it. So, after IsLoading() goes false UCCNC knows whether the code is good or not. We just need a function or property to check this result.