miércoles, 28 de agosto de 2024

FreeCAD Resumen

1. Crear un nuevo objeto

En la pestaña por omisión de "DOCUMENTS",  hay un apartado de "Ficheros Recientes" y un poco mas abajo "Crear nuevo .."


Ahora seleccionamos "Sketcher" "Part Design" y "Crear Croquis"


Seleccionamos el plano X-Y.

Para ver la rejilla hay un icono a la deecha de la barra de símbolos para seleccionarla

Antes de empezar a dibujar comprobar que se ha se seleccionado ls dos opciones de "Constraints"

2. Figuras gemétricas planas

Para crear elementos se tiene de izquierda a derecha:


Punto, segmento,arco, circunferencia, elipses (cónicas) , B-Spines, polilíneas, cuadrados, polígonos regulares y ranuras.

Si apretamos el botón derecho sobre el dibujo nos propone las opciones anteriores más comunes:


Pero hay muchas opciones, pore ejmplo a la hora de crear un rectangulo, se puede crear centrado, para ello se marca primero el punto central y luego el punto de un extremo.

2. Modos de trabajo del ratón

En la parte inferir izquierda, por opmisión tengo seleccionado CAD, pero puede haber más modos que se pueden seleccionar con el triangulito de al lado

Y pasando por encima (hovering) podemos ver que hace cada tecla

3. Restricciones

Se entiende por resticciones (constrains) el acotar un lado, establecer longitudes y anchuras, marcar la distancia (horizontal y vertical) entre 2 puntos





2.

martes, 27 de agosto de 2024

Ubuntu 24.04. Instalar FreeCAD. FreeCAD falla. No arranca Ubuntu. "default.target" is not active

Introducción

Se descargo el FreeCAD com aAppImage

Se marcó come ejecutable

y al ejecutar des de una consola dice:

MESA-LOADER: failed to open crocus: /usr/lib/dri/crocus_dri.so: undefined symbol: amdgpu_va_get_start_addr (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)

failed to load driver: crocus

MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: undefined symbol: amdgpu_va_get_start_addr (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)

Y hay un gracioso de un foro que se le ocurre decir que ha instalado "fuse!!!!!". OJO no instalar este "fuse", pues te cambia el entorno gráfico.

Se buscan loas librerias en cuestion dentro de /usb y cuando las encontramos hacemos un link

sudo ln -s /usr/lib/x86_64-linux-gnu/dri/crocus_dri.so /usr/lib/dri/
sudo ln -s /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so /usr/lib/dri/
sudo ln -s /usr/lib/x86_64-linux-gnu/libdrm_amdgpu.so.1 /usr/lib/dri

Y ejecutamos el FreeCAD con esta instrucción desde el directorio donde se ha copiado el FreeCAD

LD_PRELOAD=/usr/lib/libdrm_amdgpu.so.1 ./FreeCAD-0.21.2-Linux-x86_64.AppImage

Y a funcionar.

Se puede crear un fichero sh con esta instrucción y se acaba el problema

Problemas

Si se instala "fuse", se instala el escritorio XFCE4 de Xubuntu, que no está mal, pero que se lía con FreeCAD y las pantallas comienzan a moverse y marean. Que hay que hacer:

1. sudo apt remove fuse

Si por casualidad se nos ocurre eliminar todo el rastro de XFCE4 tal como se dice en https://askubuntu.com/questions/429148/how-do-i-remove-xfce-from-my-computer entonces la liamos

A parti de ahí, al rearrancar salian errores de toda clase:

1. Error al montar mnt-1aab800004d532055

He quitado la línea del etc/fstab que relacionaba ese UUID y ahí se jodió mas. Y salia este error

2. "default.target" is not active. Please review the default.target setting

He podido consultar el default.target con 

systemctl get-default y contesta grahical.target

Y se me ocuirre volver a instalar el entorno gráfico de Ubuntu

sudo apt-update

sudo apt-install ubuntu-desktop

sudo reboot

y a funcionar !!!!!


Tocar el /etc/fstab

Hay que tener cuidado y no tocarlo. Vale la pena utilizar la aplliacion "Discs" y nontar los discos que hacen falta








miércoles, 7 de agosto de 2024

Python (IX) Crear ejecutables en windows

1. Crear una carpeta de trabajo

2. En VS abrir dicha carpeta

3. Crear el entorno virtual usando el terminal de VS (comprobando que estamos en dicha carpeta) y activándolo

pip install virtualenv 
python -m venv myenv
myenv\Scripts\activate.bat

4. Crear el fichero "farmacies_excel2csv.py" y copiar el contenido siguiente:

import pandas
import os
import sys


def mainProva():
	FILE_PATH= os.path.dirname(os.path.abspath(sys.argv[1])) 
	excel=pandas.ExcelFile(sys.argv[1])
	for sheetName in excel.sheet_names:
		sheet=pandas.read_excel(excel, sheetName).to_csv(sep=',')
		longLine=""
		separator=""
		for lin in sheet.splitlines():
			fields=lin.split(",")
			a=fields[2].strip()
			try:
				a=int(a)
			except Exception as e: 
				a='????????'
			else:
				longLine+=separator+fields[4]+'"'
				separator=","	

		with open(FILE_PATH + os.sep+sheetName, 'w') as f:
			f.write(longLine)
			f.close()
			
	

if __name__ == "__main__":
	mainProva()	

5. Habran errores que se solucionaran instalando las dependencias que pide que pueden ser:

pip install pandas
pip install xlrd
pip install openpyxl

6. Instalar pyinstaller

pip install -U pyinstaller

7. Crear ejecutable. Puede dar problemas para encontrar la ruta de pyinstaller.
Si da problemas se busca la ruta y se añade al path

Cuando se instala en windows 11 se instala pyinstaller dentro de la carpeta del usuario. Por tanto debemos incluir en el path del usuario 


En windows tenemos que añadir a las variables de entorno de usuario estas carpetas tal como se muestra:

C:\Users\eduard\AppData\Local\Programs\Python\Python312\Scripts

C:\Users\eduard\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\Scripts







Creamos el ejecutable


# En windows
Pyinstaller --onefile -w farmacies_excel2csv.py
# En windows, si falla
python -m Pyinstaller --onefile -w farmacies_excel2csv.py

# En Linux
pyinstaller --onefile farmacies_excel2csv.py