qtvismach, a axis toolpath
- MarkoPolo
- Away
- Elite Member
-
Less
More
- Posts: 304
- Thank you received: 83
23 May 2025 18:36 #328998
by MarkoPolo
Replied by MarkoPolo on topic qtvismach, a axis toolpath
I have the following code in the hadler vismach file. (a bit more in the file)
STATUS.connect('graphics-gcode-properties',lambda w, d: update_gcode_properties(d))
def update_gcode_properties(props):
if props != None:
print ("update update_gcode")
property_names = {
'x': "X bounds:",'x_zero_rxy':'X @ Zero Rotation:',
'y': "Y bounds:",'y_zero_rxy':'Y @ Zero Rotation:',
'z': "Z bounds:",'z_zero_rxy':'Z @ Zero Rotation:',
'a': "A bounds:", 'b': "B bounds:",
}
Based on graphics-gcode-properties I draw a block of processed material.
This code works, but only when I run it as a built-in qtdragon panel. I want to run the panel as a standalone window.
Currently, to make everything work for me, I run the panel twice, as a standalone window and as a built-in panel. I want to get rid of the built-in panel and run it only as a standalone window.
How do I modify the handler file so that it works as a standalone window?
It seems to me that "STATUS.connect" does not work in standalone vismach
Marek
STATUS.connect('graphics-gcode-properties',lambda w, d: update_gcode_properties(d))
def update_gcode_properties(props):
if props != None:
print ("update update_gcode")
property_names = {
'x': "X bounds:",'x_zero_rxy':'X @ Zero Rotation:',
'y': "Y bounds:",'y_zero_rxy':'Y @ Zero Rotation:',
'z': "Z bounds:",'z_zero_rxy':'Z @ Zero Rotation:',
'a': "A bounds:", 'b': "B bounds:",
}
Based on graphics-gcode-properties I draw a block of processed material.
This code works, but only when I run it as a built-in qtdragon panel. I want to run the panel as a standalone window.
Currently, to make everything work for me, I run the panel twice, as a standalone window and as a built-in panel. I want to get rid of the built-in panel and run it only as a standalone window.
How do I modify the handler file so that it works as a standalone window?
It seems to me that "STATUS.connect" does not work in standalone vismach
Marek
Please Log in or Create an account to join the conversation.
- cmorley
- Offline
- Moderator
-
Less
More
- Posts: 7322
- Thank you received: 2148
24 May 2025 01:29 #329029
by cmorley
Replied by cmorley on topic qtvismach, a axis toolpath
This is a limitation of python/linuxcnc.
The properties signal is produced in the qt_graphics widget.
The receiving widget must be in the same python instance as the qt_graphics widget.
A stand alone panel is a different instance of python then the main screen.
You could add a qt_graphics widget to your stand alone panel.
Or possibly could try using ZMQ messages with a customized handlerfile.
The properties signal is produced in the qt_graphics widget.
The receiving widget must be in the same python instance as the qt_graphics widget.
A stand alone panel is a different instance of python then the main screen.
You could add a qt_graphics widget to your stand alone panel.
Or possibly could try using ZMQ messages with a customized handlerfile.
The following user(s) said Thank You: MarkoPolo
Please Log in or Create an account to join the conversation.
- MarkoPolo
- Away
- Elite Member
-
Less
More
- Posts: 304
- Thank you received: 83
24 May 2025 10:18 #329041
by MarkoPolo
Replied by MarkoPolo on topic qtvismach, a axis toolpath
I did it a bit differently.
I wish I had thought of that earlier.
I added this function to the custom handler qtdragon file in the machine directory and now it works.
I wish I had thought of that earlier.
I added this function to the custom handler qtdragon file in the machine directory and now it works.
Please Log in or Create an account to join the conversation.
- MarkoPolo
- Away
- Elite Member
-
Less
More
- Posts: 304
- Thank you received: 83
03 Jul 2026 18:26 #347483
by MarkoPolo
Replied by MarkoPolo on topic qtvismach, a axis toolpath
Returning to the topic of Vismach navigation, there are several issues that make navigating the Vismach window less than pleasant.
When panning the scene left, right, or up and down, the zoom level isn't taken into account, and at greater zoom levels, it's difficult to move the object.
When zooming in, near maximum zoom, there's a very unpleasant effect: many mouse wheel rotations and little zoom effect.
Panning the scene is done with the middle mouse button, while the left mouse button rotates on two axes. This is difficult to master because in the qtdragon preview window, panning is done with the left mouse button. It would be nice to have the same solution in Vismach.
I have a file, qt_vismach.py, that fixes all these issues.
The question is, do you see the problem and the need to improve these things?
When panning the scene left, right, or up and down, the zoom level isn't taken into account, and at greater zoom levels, it's difficult to move the object.
When zooming in, near maximum zoom, there's a very unpleasant effect: many mouse wheel rotations and little zoom effect.
Panning the scene is done with the middle mouse button, while the left mouse button rotates on two axes. This is difficult to master because in the qtdragon preview window, panning is done with the left mouse button. It would be nice to have the same solution in Vismach.
I have a file, qt_vismach.py, that fixes all these issues.
The question is, do you see the problem and the need to improve these things?
Please Log in or Create an account to join the conversation.
- cmorley
- Offline
- Moderator
-
Less
More
- Posts: 7322
- Thank you received: 2148
04 Jul 2026 01:34 #347501
by cmorley
Replied by cmorley on topic qtvismach, a axis toolpath
Yes I remember these short comings.
Patches are always welcome.
Patches are always welcome.
Please Log in or Create an account to join the conversation.
- MarkoPolo
- Away
- Elite Member
-
Less
More
- Posts: 304
- Thank you received: 83
04 Jul 2026 09:53 #347512
by MarkoPolo
Replied by MarkoPolo on topic qtvismach, a axis toolpath
Try it out.
There's also an increased toolpath history.
It also refreshes every 50ms, because 100ms doesn't create pretty circles, but it also puts more strain on the CPU.
For simulations without a rotary axis, 100ms is fine.
Is it possible to have the entire scene refresh at a standard 100ms, and the toolpath itself at 50ms?
There's also an increased toolpath history.
It also refreshes every 50ms, because 100ms doesn't create pretty circles, but it also puts more strain on the CPU.
For simulations without a rotary axis, 100ms is fine.
Is it possible to have the entire scene refresh at a standard 100ms, and the toolpath itself at 50ms?
Please Log in or Create an account to join the conversation.
- cmorley
- Offline
- Moderator
-
Less
More
- Posts: 7322
- Thank you received: 2148
05 Jul 2026 03:44 #347525
by cmorley
Replied by cmorley on topic qtvismach, a axis toolpath
Pushed.
I don't immediately see how to split the update of screen vrs plot points or whether that would make much difference. Lets see what the world thinks of your changes.
I don't immediately see how to split the update of screen vrs plot points or whether that would make much difference. Lets see what the world thinks of your changes.
The following user(s) said Thank You: MarkoPolo
Please Log in or Create an account to join the conversation.
- MarkoPolo
- Away
- Elite Member
-
Less
More
- Posts: 304
- Thank you received: 83
07 Jul 2026 17:27 #347579
by MarkoPolo
Replied by MarkoPolo on topic qtvismach, a axis toolpath
For now, the world is silent. Maybe it's not so bad...
Please Log in or Create an account to join the conversation.
- Vegko
- Offline
- New Member
-
Less
More
- Posts: 4
- Thank you received: 1
07 Jul 2026 17:42 #347582
by Vegko
Replied by Vegko on topic qtvismach, a axis toolpath
Hey, tested your proposal for panning/zooming => works nice!
The following user(s) said Thank You: MarkoPolo
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.712 seconds