Robertspark's CNC Setup
- robertspark
- Offline
- Platinum Member
- Posts: 915
- Thank you received: 216
This also allows me to setup my LinuxCNC setup quickly if I do a fresh start in a short space of time. I've posted some of my settings on a few threads and I do a search for those when I set up from a clean slate to start again.
These settings may not work for you! Then again you may learn something like I have following all the countless installs of LinuxCNC via iso / buildbot / RIP installs on Debian Buster, Bullseye and MX21 etc.
My current setup is: Debian Buster LinuxCNC 2.8.2 installed via iso on usb stick.
I have:
* list ~5x5 home built plasma running on 50x50 rails, nema23 4.2A all round with Mod1 R&P with a 3:1 gear driven reducer on X, Y & Y1 axis, Z is via a 1204 ball screw, complete with attached air scribe, laser crosshair and magnetic breakaway that allows for install of a laser diode (not used it yet), scanning camera (not used it yet), and sharpie holder. Also a 4th axis rotary tube (CHS/SHS) with a 100mm 4 jaw self centring chuck.
* list Denford Orac Lathe, running with 750W servo motor spindle (2:1 reduction drive) and spindle shaft encoder (1000ppr) using 40 position mutifix quick change tool post. X and Z are 0.001mm/step.
* list Emco / Maximat FB2 3 axis mill with stepper converted rotary table, converted to cnc using nema 34 stepper motors and HTD belt reduction for 0.001mm/step per X,Y and Z axis.
* list 3 axis router, openbuilds Cbeam-XL, with makita rt0700c router, and SuperPID speed controller, with laser diode, and drag-knife attachment
Non Linuxcnc:
* list Creality CR-10S 3D printer
* list Atomstack A10/S10/X7 with M50 laser and Ortur rotary axis
LinuxCNC uses a Mesa 7i76E + THCAD5 for the Plasma and a Mesa 7i92H + 7i76 mill router and lathe (hence 2 x static ports setup in the interfaces file)
I have 2 x Mesa ethernet devices, each on its own ethernet port / network adapter hence they are each setup with their own static IP address.
I share the 2 x Mesa ethernet devices between all of the machines, basically the plasma, mill and router use the 7i76E which drives 5x stepper drives, and the 7i92H+7i76 is used for the lathe driving 2 stepper drives, and a servo for the spindle. The stepper drives have plugs & leads so I swap between machines from a central control station its a hobby setup and I don't use more than one machine at any one time.
if required, download linuxcnc.iso:
once downloaded copy across to usb disk
find which drive is the usb stick using:
lsblk
sudo dd if=linuxcnc-2.8.2-buster.iso of=/dev/sdc bs=1024k status=progress
Once Debian Buster and LinuxCNC is installed via the iso, run:
sudo apt update
sudo apt upgrade -y
sudo apt install -y geany grub-customizer git ethtool python3-opengl gnome-icon-theme curl dpkg-dev xfce4-power-manager
sudo Thunar
navigate to: /etc/lightdm/ and open lightdm.conf
alternative:
sudo geany /etc/lightdm/lightdm.conf
scroll down to line ~ 126 and remove the # + add your user name from:
#autologin-user=
#autologin-user-timeout=0
I have intel network cards, hence the following helps to sort latency issues. I found that ethtool works and the other method did not work for me. plus I added a 3 sec delay to the process or it did not have effect. It works for me, your mileage may vary....
navigate to: /etc/network/ and open interfaces
alternative:
sudo geany /etc/network/interfaces
edit to YOUR needs, below is mine, 99.9% certain this WILL NOT work for you, as your ethernet adapters may have different names and my mesa cards are on different ports + they have custom IP addresses set via the mesa firmware tool.
run the following to list your network adapters names:
ip link show
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto enp2s0
iface enp2s0 inet static
address 10.10.10.1/24
up sleep 3
post-up ethtool -C enp2s0 rx-usecs 0
auto enp3s0
iface enp3s0 inet static
address 172.16.0.1/24
up sleep 3
post-up ethtool -C enp3s0 rx-usecs 0
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
- Posts: 915
- Thank you received: 216
quiet splash isolcpus=1,3
install the following:
sudo apt install -y inkscape gimp librecad freecad
download sheetcam:
www.sheetcam.com/downloads
download scanything:
www.sheetcam.com/Scanything/downloads
download lightburn:
lightburnsoftware.com/pages/trial-version-try-before-you-buy
install sheetcam:
sudo sudo dpkg -i package_file.deb
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
- Posts: 915
- Thank you received: 216
git clone git://github.com/linuxcnc/linuxcnc.git linuxcnc-dev
sudo apt install -y dpkg-dev
cd linuxcnc-dev/debian
./configure uspace
cd ..
dpkg-checkbuilddeps
copy BUILD dependencies list to geany and edit to install adding "sudo apt install -y" and removing numbers / brackets.
cd linuxcnc-dev/src
./autogen.sh
./configure --with-realtime=uspace
make -j4
sudo make setuid
source ../scripts/rip-environment
runtests
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
- Posts: 915
- Thank you received: 216
As taken from here:
forum.linuxcnc.org/nativecam/32891-use-n...eb-package-now#94274
Download the attached script and run it
sudo bash /Downloads/ncam_debsetup.txt
As taken from here:
forum.linuxcnc.org/nativecam/39068-nativ...buster-please#182941
curl -s https://packagecloud.io/install/repositories/FernV/NativeCAM/script.deb.sh | sudo bash
5. Navigate to Settings > Repositories
6. Click on the one for packagecloud.io/FernV/NativeCAM/debian/
7. Change the name from buster to stretch in the Distribution field
8. Click OK (Reload when prompted)
9. Close Synaptic Package Manager (if you don't, you probably can't run the next command)
10. Back at your terminal, run this:
sudo apt update
sudo apt upgrade -y
sudo apt install nativecam
ncam
13. You should answer yes to both.
14. NativeCAM should open in a separate window.
To use with your own inifile, it must first be edited. From a normal user terminal, change directory to the one that contains your inifile Using the command : ncam -i(inifilename) -c('mill' | 'plasma' | 'lathe') will automatically create a backup and modify your file. It will also prepare the sub-directory with needed files and links. If you use axis and -t option it will be embedded in a tab
Navigate to the config files:
cd linuxcnc/config
ncam -i(inifilename) -c lathe
ncam -i(inifilename) -c mill
ncam -i(inifilename) -c plasma
for tabs, run the following and add in the scripts to the inifile to embed the tabs etc.
ncam --h
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
- Posts: 915
- Thank you received: 216
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
- Posts: 915
- Thank you received: 216
lsblk
sudo dd if=/dev/sda of=/dev/sdb status=progress
lsblk
save the following & run as update script:
will need to save as update.sh and run:
chmod 744 update.sh
#!/usr/bin/env bash
sudo apt update
sudo apt upgrade -y
cd linuxcnc-dev
git pull
cd src
./autogen.sh
./configure --with-realtime=uspace
make -j4
sudo make setuid
source ../scripts/rip-environment
runtests
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
- Posts: 915
- Thank you received: 216
forum.linuxcnc.org/49-basic-configuratio...obe?start=550#232195
forum.linuxcnc.org/38-general-linuxcnc-q...xcnc?start=10#213111
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
- Posts: 915
- Thank you received: 216
I thought I'd post a few shortcut tips that I've learnt using linux, stuff that may be obvious to some who just use linux or have been using it for years. But for me, a native button clicking windows user who although used dos, still likes a gui the terminal has taken a bit of getting used to:
I will try to add a few more tips to this list as I remember or use them.
Use the TAB button / key
when typing out something such as directory change, or to run a file or open a deb file, use the TAB key for linux to autocomplete the text. It also avoids typos on long complex file names....
eg:
cd lin <TAB> will complete the line as
cd linuxcnc-dev if you have a linuxcnc-dev file that is
likewise
cd Dow<TAB> will complete the line as
cd Downloads
you can also do multiple TABs on a line, such as:
cd lin<TAB> ..... which becomes
cd linuxcnc-dev, then type /deb<TAB> and it will complete the line as
cd linuxcnc-dev/debian
likewise if you are installing a debian (*.deb) file
dpkg -i she<TAB>
will complete the line as
dpkg -i sheetcam_v1.2xyzabx.deb
you can also use it to run files too.... if in doubt, just press tab and it may complete the line for you from the current directory or the directory you are navigating to such as
sudo geany etc/net<TAB>/int<TAB> will open the network interfaces file.
sudo Folder Access / File Edit (graphically)
being a windows guy, I like to sometimes use the graphical folder view to navigate my way to edit files (such as the user.config file and the network/interfaces file and other stuff that requires sudo (super user) privileges, hence I open a terminal and run
sudo Thunar
terminal commands:
clear - clear terminal screen
cd - change directory (eg. cd linuxcnc-dev will move up to the linuxcnc-dev directory (if there is such a folder in the current directory)
cd OR cd ~ - changes to the home directory
cd .. - step back a directory level (e.g. if the current directory level is /linuxcnc-dev/debian, and you type cd .. it will move 1 level back to /linuxcnc-
cd / - changes to the root directory
ls - list contents of current directory
ls *.deb - list all deb extension files in the current directory (can be used with *.sh or whatever extension you require, can change it to ls sh* which will list all files beginning with "sh" in the current directory).
uname -a - displays the linux kernel and release and architecture information within the terminal (to ensure you are running an "RT" (real time) patched kernel + it's version. can use uname -v for just the kernel version.
ip link show - shows all network card addresses and names (ethX OR enpX for ethernet cards and wlanX for wifi cards)
/sbin/ifconfig -a - displays any network errors or collisions etc, useful to check after a long uptime / run to see if you have potential network issues.
lscpu - list cpu information, useful for isolating cpu's + checking how many cores you have listed and if hyperthreading is turned on / off etc.
lscpu | egrep 'Model name|Socket|Thread|NUMA|CPU\(s\)' - list cpu info in a bit more concise format than just an lscpu info dump.
nproc - lists the number of processes that can be run simultaneously (eg, a dual core machine with hyperthreading can run 4 threads at once, see make below).
make -j4 - when using the make / build command the "-j4" switch tells the make command to run 4 jobs at once, this normally corresponds to your number of processes that are available.
make -j$(nproc) - alternative to the above make -j4, if you are unsure of your number of parallel processes that are able to run at once, will always use the maximum number, and complete the make process as quick as possible (useful for building linuxcnc as a RIP making *.deb files on the machine).
find - very useful (and quick) way to find files on linux, there are a few switches for finding all specific files and folders in specific locations.
find / -type d -name "apt" -ls - find all directories with the name apt (case sensitive).
find / -type d -iname "apt" -ls - find all directories with the name apt or APT or Apt or aPt or apT or APt or aPT or ApT (case insensitive)
find / -name '*.py' - find all files OR folders with the extension .py (case sensitive). can use the wild card as the extension if you know the first part of the file / folder name.
find / -type f -name '*.py' - find only files with the extension .py (case sensitive), could use -iname to make case insensitive, could obviously change to *.dxf or anything that you've lost. find is very powerful on linux, but the switches can confusing to remember (for me) unless used often.
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
- Posts: 915
- Thank you received: 216
I've been dabbling (again) with Debian Bullseye, as I thought I'd give QtPyVCP a go both from the perspective of using Probe Basic for Mill and Lathe and getting stop using Gmoccopy. I though I'd also give creating simple screensets a go for my 3/4 axis mill + router + lathe as I don't have an ATC but I do have a 40 position multifix tool post for the lathe with a lot of tool holders all on a rack with numbers.
Enough waffle:
Download Debian Bullseye from the Debian repository via ISO
www.debian.org/download
I tend to use the non-free version amd64 as I have intel network cards and the non-free version will provide the firmware "out of the box" at install time, so I download from here:
cdimage.debian.org/cdimage/unofficial/no...urrent/amd64/iso-cd/
I use etcher (or if on linux dd) the iso onto usb stick and then install accordingly.
once the install is complete,
I will add my user account to the sudo (super user) group by logging on to the root account and adding myself to the sudo users group (it makes life easier to install stuff + its just a cnc machine and I'm not fussed if it was ever hacked... it does not run unless I'm present or nearby).
type the following into the terminal:
su
type:
sudo usermod -a -G sudo username
being linux.... if it worked you won't get a complaint or response... if not it will pop up with a message.
you will need to log off and log back on in order for the change to take place to the user account.
I will run the following scripts to install the programmes I use in my setup:
sudo apt update
sudo apt upgrade -y
sudo apt install -y git geany grub-customizer git ethtool curl dpkg-dev
install the RT patched kernel:
sudo apt install -y linux-image-rt-amd64 linux-headers-rt-amd64
I normally start Thunar with super user privilages
sudo Thunar
and then I navigate to etc/network/ and open the interfaces file and set up my network settings: {THEY WON'T WORK FOR YOU!}
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto enp2s0
iface enp2s0 inet static
address 10.10.10.1/24
up sleep 3
post-up ethtool -C enp2s0 rx-usecs 0
auto enp3s0
iface enp3s0 inet static
address 172.16.0.1/24
up sleep 3
post-up ethtool -C enp3s0 rx-usecs 0
next navigate to: /etc/lightdm/ and open lightdm.conf
scroll down to around line 126 and remove the # from the two following lines + add YOUR login name:
So that linux will automatically log in.#autologin-user=
#autologin-user-timeout=0
I normally navigate to the Power Manager under the Applications >> Settings menu and change the settings so that the screen does not start the screensaver / turn off the monitor or stop the monitor turning off, screensaver starting or more importantly, linux logging off and requiring a login.... (could be frustrating if you need to stop something in a hurry without using the estop mushroom button)
I will normally navigate to Grub-Customiser (located under Applications >> System)
and on the General tab change the start delay from 5 seconds to 1 second, and change the kernel parameters to:
quiet splash isolcpus=1,3
I normally install all my free CAD software (+ sheetcam and lightburn)
sudo apt install -y inkscape gimp librecad freecad
www.sheetcam.com/downloads
lightburnsoftware.com/pages/trial-version-try-before-you-buy
install sheetcam *.deb via:
[sudo]sudo sudo dpkg -i Sheet*.deb[/code]
or press the <TAB> key after typing "She" to autocomplete
Sheetcam {current release} requires a couple of dependencies....
sudo apt install -y libncurses5 libinfo5
There is another dependency which is missing which is libreadline7..... again version 8 is installed within Debian Bullseye... and version 7 is not available from the repositories ..... however it can be downloaded from an older debian repository as a *.deb file and installed:
packages.debian.org/buster/amd64/libreadline7/download
then run {from the Downloads directory}:
sudo dpkg -i lib+<TAB>
[sudo]sudo sudo dpkg -i Sheet*.deb[/code]
and it should run just fine (it does on my debian Bullseye install now!).
Oh the joys of linux and dependencies and version compatibility!
for lightburn *.run file you may need to make it executable via:
chmod 774 Lig+<TAB>
./Lig+<TAB>
OK now the LinuxCNC stuff.....
Install some more dependencies for LinuxCNC + QtPyVCP using the following (kindly taken from the QtPyVCP website):
sudo apt install -y geany git debhelper dh-python libudev-dev tcl8.6-dev tk8.6-dev bwidget tclx libeditreadline-dev asciidoc dblatex docbook-xsl dvipng ghostscript graphviz groff imagemagick inkscape python3-lxml source-highlight w3c-linkchecker xsltproc texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-lang-cyrillic texlive-lang-french texlive-lang-german texlive-lang-polish texlive-lang-spanish texlive-latex-recommended asciidoc-dblatex python3-dev python3-tk libxmu-dev libglu1-mesa-dev libgl1-mesa-dev libgtk2.0-dev libgtk-3-dev gettext intltool autoconf libboost-python-dev libmodbus-dev libusb-1.0-0-dev psmisc yapps2 libepoxy-dev python3-xlib python3-pyqt5 python3-dbus.mainloop.pyqt5 python3-pyqt5.qtopengl python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtquick qml-module-qtquick-controls gstreamer1.0-plugins-bad libqt5multimedia5-plugins pyqt5-dev-tools python3-dev python3-setuptools python3-wheel python3-pip python3-yapps dpkg-dev python3-serial libtk-img qttools5-dev qttools5-dev-tools python3-wheel espeak espeak-data espeak-ng freeglut3 gdal-data gstreamer1.0-tools libaec0 libarmadillo10 libarpack2 libcfitsio9 libcharls2 libdap27 libdapclient6v5 libepsilon1 libespeak1 libfreexl1 libfyba0 libgdal28 libgdcm3.0 libgeos-3.9.0 libgeos-c1v5 libgeotiff5 libgif7 libglew2.1 libgtksourceview-3.0-dev libhdf4-0-alt libhdf5-103-1 libhdf5-hl-100 libimagequant0 libkmlbase1 libkmldom1 libkmlengine1 liblept5 libmariadb3 libminizip1 libnetcdf18 libodbc1 libogdi4.1 libopencv-calib3d4.5 libopencv-contrib4.5 libopencv-core4.5 libopencv-dnn4.5 libopencv-features2d4.5 libopencv-flann4.5 libopencv-highgui4.5 libopencv-imgcodecs4.5 libopencv-imgproc4.5 libopencv-ml4.5 libopencv-objdetect4.5 libopencv-photo4.5 libopencv-shape4.5 libopencv-stitching4.5 libopencv-video4.5 libopencv-videoio4.5 libportaudio2 libpq5 libproj19 libprotobuf23 libqhull8.0 librttopo1 libsocket++1 libspatialite7 libsuperlu5 libsz2 libtbb2 libtesseract4 liburiparser1 libxerces-c3.2 libxml2-dev mariadb-common mesa-utils mysql-common odbcinst odbcinst1debian2 proj-bin proj-data python3-configobj python3-espeak python3-gi-cairo python3-olefile python3-opencv python3-opengl python3-pil python3-pil.imagetk python3-pyqt5.qtsvg python3-pyqt5.qtwebkit tcl-tclreadline geotiff-bin gdal-bin glew-utils libgtksourceview-3.0-doc libhdf4-doc libhdf4-alt-dev hdf4-tools odbc-postgresql tdsodbc ogdi-bin python-configobj-doc libgle3 python-pil-doc python3-pil-dbg python3-pil.imagetk-dbg python3-sqlalchemy netcat
Download Master / 2.9 from linuxcnc repository git and build *.debs for install....
cd ~
mkdir dev
cd dev
mkdir linuxcnc
cd linuxcnc
git clone git://github.com/linuxcnc/linuxcnc.git rip
make and build the *.debs {without documentation (it's all on line anyway on the linuxCNC website) + its quicker}
also note the -j4 switch for dpkg-buildpackage which will use 4x threads / simultaneous operations for a 4 core machine... adjust to your machine setup as it will be much quicker than without the switch if you have multiple cores.
cd ~/dev/linuxcnc/rip/debian
./configure no-docs uspace
cd ..
dpkg-buildpackage -j4 -b -uc
Install the linuxCNC *.deb
cd ~/dev/linuxcnc
sudo dpkg -i linuxcnc-uspace_2.9.0~pre0_amd64.deb
Install QtPyVCP:
cd ~/dev
git clone https://github.com/kcjengr/qtpyvcp
cd qtpyvcp
python3 -m pip install --editable .
cp scripts/.xsessionrc ~/
Don't forget or miss those damn dots ( . )!!!! or it will fling you an error!
You can test QtPyVCP:
qtpyvcp -h
qtpyvcp -i
And then setup QT Designer:
cd ~/dev/qtpyvcp/pyqt5designer/Qt5.15.2-64bit/python3.9/
sudo ./install.sh
Setup / install the QtPyVCP Sims:
cp -r ~/dev/qtpyvcp/linuxcnc ~/
To setup / install Probe Basic for Python 3!!:
cd ~/dev
git clone -b python3 https://github.com/kcjengr/probe_basic.git
[code]
To setup / install probe basic (mill) + probe basic lathe:
[code]
cd probe_basic
qcompile .
python3 -m pip install -e .
cd
cp -r ~/probe_basic/probe_basic/fonts/ ~/.local/share/
cp -r ~/probe_basic/config/probe_basic/ ~/linuxcnc/configs/
cp -r ~/probe_basic/config/probe_basic_lathe/ ~/linuxcnc/configs/
Again don't miss those damn dots....
To install the QtPyVCP Conversational G-code Widgets:
cd ~/dev
git clone -b python3 https://github.com/kcjengr/qtpyvcp.conversational-gcode.git
cd ~dev/qtpyvcp.conversational-gcode
python3 -m pip install .
To Edit Probe_Basic (mill) screenset:
editvcp probe_basic
To Edit Probe_Basic_Lathe screenset:
editvcp probe_basic_lathe
To download the QtPyVCP Template:
github.com/kcjengr/vcp-template
cd ~/dev
git clone https://github.com/kcjengr/vcp-template.git
install:
python3 -m pip install -e .
edit it with:
editvcp myvcp
cd ~/dev/vcp-template
./copy.sh
To create the Tutorial, run:
cd ~/dev/vcp-template
./tutorial.sh
update any of the folders using:
git pull
you can also create a bash script to update and build etc by creating a new file and saving it as a *.sh, and running chmod 774 *.sh to maake it executable ..... add within the first line of the file:
#!/bin/bash
Please Log in or Create an account to join the conversation.
Probe basic lathe works right out of the box, editvcp and qtpyvcp are all installed and working properly with no error codes. One thing I did notice though is that in the linuxcnc configuration selector there is no folder for probe basic, but if i choose sim.qtpyvcp, XYZ i can launch right into the probe basic lathe program.
thats where the good news ends though. When launching the xyz config and selecting probe_basic i still get an error code and a crash... Heres the error message:
{
Traceback (most recent call last):
File "/home/cnc/.local/bin/qtpyvcp", line 33, in <module>
sys.exit(load_entry_point('qtpyvcp===python3-master-174.g2c249709', 'console_scripts', 'qtpyvcp')())
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/__init__.py", line 74, in main
run(opts, None)
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/__init__.py", line 102, in run
load_vcp(opts)
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/launcher.py", line 131, in load_vcp
if _load_vcp_from_entry_point(vcp, opts):
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/launcher.py", line 181, in _load_vcp_from_entry_point
vcp.main(opts)
File "/home/cnc/dev/probe_basic/probe_basic/__init__.py", line 20, in main
qtpyvcp.run_vcp(opts, VCP_CONFIG_FILE)
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/__init__.py", line 27, in run_vcp
run(*args, **kwargs)
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/__init__.py", line 129, in run
launch_application(opts, config)
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/launcher.py", line 78, in launch_application
loadWindows(config)
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/launcher.py", line 228, in loadWindows
window = _initialize_object_from_dict(window_dict)
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/launcher.py", line 208, in _initialize_object_from_dict
return obj(*args, **kwargs)
File "/home/cnc/dev/probe_basic/probe_basic/probe_basic.py", line 24, in __init__
super(ProbeBasic, self).__init__(*args, **kwargs)
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 43, in __init__
self.loadUi(ui_file)
File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 102, in loadUi
uic.loadUi(ui_file, self)
File "/usr/lib/python3/dist-packages/PyQt5/uic/__init__.py", line 238, in loadUi
return DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix)
File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py", line 66, in loadUi
return self.parse(filename, resource_suffix)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 1037, in parse
actor(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 828, in createUserInterface
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 264, in createWidget
self.stack.push(self.setupObject(widget_class, parent, elem))
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 228, in setupObject
obj = self.factory.createQObject(clsname, name, args, is_attribute)
File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 100, in createQObject
factory = self.findQObjectType(classname)
File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 125, in findQObjectType
w = module.search(classname)
File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py", line 113, in search
module = __import__(mname, {}, {}, (cls,))
ModuleNotFoundError: No module named 'qtpyvcp_conversational_gcode'
}
what do i do... im laughing and crying all at once
Attachments:
Please Log in or Create an account to join the conversation.