Introducción
CadQuery es una biblioteca CAD basada en código muy similar a OpenSCAD, pero basada en Python. A diferencia de OpenSCAD, el modelado utiliza OpenCascade en el backend. Por lo tanto, la experiencia de modelado es más cercana a otros paquetes de software CAD BRep, como Fusion 360 o Solidworks. Este recinto es mi primer proyecto utilizando la biblioteca.
Una cosa genial es que los archivos pueden importarse y exportarse como archivos STEP. Esto significa que los PCB diseñados en KiCAD pueden importarse y diseñarse en la carcasa.
Dónde conseguir CadQuery.
Recomiendo instalar CQ-editor. Es un pequeño IDE que tiene CadQuery incluido y puede mostrar y exportar tu modelo directamente dentro del IDE. El github oficial está aquí:
Cómo personalizar la carcasa
En la parte superior del archivo, hay una colección de variables globales que se pasan al código de abajo para generar el recinto.
#Secect ¿Qué componentes fabricar? makeTop=True makeBottom=True makeFront=True makeBack=TrueEn el código anterior, coorisponde a las partes que se van a generar. Por ejemplo, establezca makeTop en True y las otras variables en False para hacer solo la parte superior de la carcasa.
#overall shell Dims height=40 #Altura del recinto width=170 #Ancho del recinto length=90 #Longitud del recinto thick=2 #Espesor de las paredes roundingRad=3 #Tamaño de la ranura de los filetes grooveThick=2 #Espesor de la ranura de los paneles delantero y trasero grooveTol=0.6 #Tolerancia o holgura extra dada a la ranura del panelCambia los valores de arriba para cambiar el tamaño del recinto. Ten en cuenta que todas las dimensiones están en milímetros.
#Dims de los pies de montaje en la parte inferior. mounts=True mountLenPad=8 mountT=thick mountHoleDia=5El código anterior afecta el tamaño de las almohadillas de montaje lateral. Establezca "needMounts" en Falso para eliminar completamente los pies de montaje lateral.
#Dims de las pestañas laterales en la pestaña inferiorW=10 tabH=8 tabT=2 tabHoleDia=2Estas variables describen el tamaño de las lengüetas de montaje que salen de la pieza inferior de la carcasa para que la pieza superior pueda atornillarse a ella.
#Postes de montaje de PCB #ubicaciones de los postes de PCB [(x,y),(x,y)] pcbMLocs=[(-66.675+5.715,46.79-27.94-12),(-66.675+5.715,21.79-27.94-12), (+66.675-5.715,46.79-27.94-12),(+66.675-5.715,21.79-27.94-12)] pcbMDia=5 pcbHoleDiaSi necesitas postes de montaje, puedes tener un número arbitrario de ellos rellenando la matriz. La PCB se localiza desde el centro de la carcasa. Si no se necesitan soportes de PCB, cambia pcbMlocs por una matriz vacía.
#Bottom Vents botSideVents=False #Top Vents topSideVents=False topTopVents=TrueEstablece Verdadero o Falso dependiendo de si quieres rejillas de ventilación en el cerramiento.
##Rellene para los orificios en la tarjeta frontal de la carcasa##### #Las ubicaciones de los orificios se definen como [(x_loc,y_loc.dia),(x,y.dia)] frontHoles=[] #Las ubicaciones de los rectángulos se definen como [(x_loc,y_loc,anchura,longitud)] frontRects=[] #Texto [(x,y,grosor,tamaño de fuente,texto)] frontTexts=[] ##RellDefina la ubicación y el tamaño de los recortes del agujero frontal en el panel frontal y trasero. En este modelo, admite círculos y cuadrados de cualquier tamaño. También se puede agregar texto a los paneles frontal y trasero modificando las matrices anteriores.
Bueno, eso es todo. Espero que este código pueda ser útil para cualquiera que lo necesite y díganme si tienen alguna recomendación.
タグ
モデルソース
