Python, desarrollado por Guido van Rossum hace alrededor de 35 años,
se ha convertido en una herramienta crucial para los profesionales que
trabajan en áreas como el desarrollo de software, la ciencia de datos, la Inteligencia Artificial y, en particular, la ciberseguridad.
Este lenguaje de programación de alto nivel y propósito general es
conocido por su facilidad de uso, una comunidad de desarrolladores de
más de 8.2 millones de personas y una amplia gama de herramientas y
bibliotecas disponibles.
“La accesibilidad, versatilidad y capacidades de integración que
ofrece Python lo han convertido en el lenguaje de referencia para muchos
profesionales de la ciberseguridad, facilitando, por ejemplo, la
automatización de tareas repetitivas y la creación de scripts
personalizados. Además, su amplia comunidad de desarrolladores y la
abundancia de recursos educativos permiten a los profesionales
mantenerse actualizados con las últimas técnicas y herramientas”, señala Josep Albors, director de investigación y concienciación de ESET España. “No
es de extrañar que estas fortalezas se hayan aprovechado para
aplicaciones tan diversas como la exploración espacial, las
recomendaciones de Netflix y el desarrollo de coches autónomos”.
Python, una de las claves para la eficiencia y versatilidad en ciberseguridad
Para explorar más de cerca los beneficios que hacen de Python una de
las opciones preferidas en el sector, ESET, compañía líder en
ciberseguridad, analiza los cinco aspectos clave que consolidan su
relevancia profesional:
Facilidad de uso y concisión: La accesibilidad de
Python se debe a su simplicidad y ligereza. Dada su corta curva de
aprendizaje, incluso los principiantes lo encuentran intuitivo y fácil
de entender. Su sintaxis clara y su estructura de código concisa
agilizan los procesos de desarrollo, permitiendo a los programadores
centrarse en la resolución de problemas en lugar de luchar con las
complejidades del lenguaje. Además, su fácil legibilidad facilita la
colaboración entre los miembros del equipo y, en última instancia,
mejora su productividad.
Versatilidad: Al ofrecer un conjunto de
herramientas completo para una amplia gama de tareas, Python puede ser
un lenguaje universal para los profesionales de la ciberseguridad. Ya
sea realizando evaluaciones de vulnerabilidades, análisis forenses,
analizando malware o automatizando el escaneo de redes y
puertos, esta herramienta demuestra su valía en diversos dominios de
ciberseguridad. No obstante, su adaptabilidad se extiende más allá,
integrándose a la perfección con otros lenguajes de programación y
tecnologías.
Adaptabilidad e integración: Python interactúa a la
perfección con sistemas y tecnologías como bases de datos, servicios
web y API, mejorando la interoperabilidad y la colaboración. Al
aprovechar las extensas bibliotecas y marcos, los desarrolladores pueden
acelerar los ciclos de desarrollo y mejorar la funcionalidad. Además,
siendo independiente de la plataforma, Python puede ejecutarse en todos
los sistemas operativos comunes (Windows, Mac y Linux) y es compatible
con otros lenguajes populares como Java y C, permitiendo su integración
en la infraestructura existente y evitando interrupciones en las
operaciones comerciales.
Automatización de tareas: La automatización es la
piedra angular de las prácticas eficientes de ciberseguridad, y Python
sobresale en este ámbito. Sus sólidas capacidades de automatización
permiten a los equipos de ciberseguridad optimizar las tareas
repetitivas, como el análisis de vulnerabilidades, la detección de
amenazas y la respuesta a incidentes. Al automatizar los procesos
rutinarios, las organizaciones pueden mejorar la eficiencia operativa,
minimizar los errores humanos y reforzar su postura de ciberseguridad
general. La versatilidad de Python también permite la automatización de
tareas administrativas, como el aprovisionamiento de usuarios y la
gestión de la configuración del sistema.
Amplias bibliotecas y comunidad activa: El
ecosistema de código abierto de Python proporciona una gran cantidad de
recursos, con sus extensos módulos, paquetes, bibliotecas y marcos que
satisfacen diversas necesidades de ciberseguridad y proporcionan
soluciones listas para usar en desafíos habituales. Las bibliotecas de
Python ayudan a empoderar a los equipos y organizaciones para abordar
problemas de ciberseguridad complejos de manera efectiva, por ejemplo, a
través de la inteligencia de amenazas o la orquestación. Además, la
comunidad activa que gira en torno a esta herramienta garantiza el
desarrollo y el soporte continuos, con desarrolladores de todo el mundo
que contribuyen a su evolución y mejora.
“No obstante, también es importante señalar que el hecho de que
cualquiera pueda contribuir al repositorio oficial de Python conocido
como PyPI puede acarrear ciertos riesgos”, comenta Albors. “Aunque
no es muy común, el malware que se hace pasar por proyectos legítimos
no es algo desconocido. Una investigación reciente de ESET y otros dos casos de 2017 y 2023 lo demuestran claramente”.
El reliability
La biblioteca es un poderoso paquete Python fácil de usar desarrollado
específicamente para ingeniería de confiabilidad. La ingeniería de
fiabilidad es una subdisciplina de la ingeniería de sistemas que
enfatiza la capacidad del equipo para funcionar sin falla. Tiene amplias
aplicaciones en campos como la fabricación, las operaciones y la
gestión de riesgos.
En el corazón del reliability
La biblioteca son varias distribuciones de probabilidad como Weibull,
Exponencial, Normal, Lognormal, Gamma y otras, a menudo utilizadas en
análisis de confiabilidad y análisis de datos de vida. Estas
distribuciones proporcionan un medio matemático para modelar y analizar
los tiempos de vida de los productos y sistemas.
La
biblioteca ofrece un conjunto de herramientas, desde el ajuste de
distribución hasta las pruebas de confiabilidad y las capacidades de
trazado. Las características clave incluyen:
Distribuciones de probabilidad y ajustadores: la
biblioteca incluye un rango de distribuciones de probabilidad, cada una
con ajustadores correspondientes. Estos ajustadores estiman los
parámetros que mejor se ajustan a los datos y proporcionan métodos para
analizar y visualizar la distribución ajustada.
Análisis de supervivencia: funciones para el análisis de supervivencia, incluidas las estimaciones de Kaplan-Meier y las estimaciones de Nelson-Aalen.
Prueba de confiabilidad: funciones para el diseño de pruebas de confiabilidad, incluidos planes de prueba óptimos y pruebas de vida aceleradas.
Diagramas de confiabilidad: admite
la generación de varios tipos de gráficos, como gráficos de
probabilidad de probabilidad (PP), gráficos cuantil-cuantiles (QQ) y
gráficos de funciones de supervivencia, que son críticos para comprender
los datos y las distribuciones ajustadas.
El reliability
La biblioteca no solo se limita a la ingeniería de confiabilidad, sino
que también tiene aplicabilidad en áreas como el análisis de
supervivencia, el control de calidad y el modelado de riesgos. Como tal,
es una herramienta versátil tener en su kit de herramientas de análisis
de datos.
Nota: La biblioteca se mantiene activamente, y las nuevas funcionalidades y mejoras se agregan regularmente.
Para obtener información más detallada, consulte la documentación oficial del reliability biblioteca:
Python es uno de los lenguajes
informáticos más populares del mundo, con más de 8 millones de
desarrolladores (esto es según una investigación de SlashData ).
El creador de Python es Guido Van Rossum, informático y académico. A
fines de la década de 1980, vio una oportunidad para crear un lenguaje
mejor y también se dio cuenta de que el modelo de código abierto sería
ideal para reforzar la innovación y la adopción (por cierto, el nombre
del lenguaje provino de su comedia favorita, el Circus Flying Circus de
Monty Python).
"Python es un lenguaje de
programación de alto nivel, fácil para principiantes y usuarios
avanzados para comenzar", dijo Jory Schwach, CEO deAndium.com .
"Es indulgente en su uso, lo que permite a los codificadores omitir el
aprendizaje de los matices que son necesarios en otros idiomas más
estructurados como Java. Python fue diseñado para ser obstinados sobre
cómo se debe crear el software, por lo que a menudo hay una forma
apropiada de escribir una pieza de código, dejando a los desarrolladores
con menos decisiones de diseño para deliberar".
"Python se ha convertido en el
lenguaje más popular de elección para el aprendizaje de la programación
en la escuela y la universidad", dijo Ben Finkel, quien es un entrenador de CBT Nuggets .
"Esto es cierto no solo en los departamentos de informática, sino
también en otras áreas, ya que la programación se ha vuelto más
frecuente. Las estadísticas, la economía, la física, incluso los campos
tradicionalmente no técnicos, como la sociología, han comenzado a
introducir programación y análisis de datos en su plan de estudios".
Sin duda, un catalizador
importante para el crecimiento del lenguaje ha sido la IA (inteligencia
artificial) y ML (aprendizaje automático), que depende del manejo de
grandes cantidades de datos y el uso de algoritmos sofisticados.
"Debido
a que Python es fácil de usar y rápido para iterar, fue recogido desde
el principio por los académicos que investigaron en el campo ML/AI",
dijo Mark Story, quien es un desarrollador principal de Sentry .
"Como resultado, se crearon muchas bibliotecas para construir flujos de
trabajo en Python, incluidos proyectos como TensorFlow y OpenAI".
Aunque Python ha demostrado
ser efectivo para una miríada de otras áreas, como construir sitios web y
crear scripts para DevOps. Sin embargo, es con AI/ML donde el lenguaje
realmente ha brillado.
"Bibliotecas de análisis como
Numpy, Pandas, SciPy y varios otros han creado una forma eficiente de
construir y probar modelos de datos para su uso en análisis", dijo Matt
Ratliff, quien es un mentor senior de ciencias de datos en NextUp Solutions .
"En años anteriores, los científicos de datos se limitaron al uso de
plataformas patentadas y C, y algoritmos de aprendizaje automático de
construcción personalizada. Pero con las bibliotecas de Python, las
soluciones de datos se pueden construir mucho más rápido y con más
confiabilidad. Scikit-Learn, por ejemplo, tiene algoritmos incorporados
para la clasificación, la regresión, la clúster y el soporte y el
soporte para la reducción de los libros de datos de Jupyter. Código de
Python para mostrar cálculos y visualizaciones, que luego se pueden
compartir entre colegas y profesionales de la industria ".
De acuerdo, Python ciertamente no es perfecto. Ningún idioma es.
"Debido a su naturaleza
interpretada, Python no tiene el rendimiento de tiempo de ejecución más
eficiente", dijo Story. "Un programa de Python consumirá más memoria que
un programa similar construido en un lenguaje compilado como lo haría C
++. Python no es adecuada para el desarrollo de aplicaciones móviles o
de escritorio".
Pero a pesar de todo esto, hay muchos más profesionales que contras, y Python probablemente continúe creciendo.
"Python es una excelente
opción para que la mayoría de las personas aprendan los conceptos
básicos del código, de la misma manera que todos aprenden a leer y
escribir", dijo Tom Hatch, quien es el CTO de Saltstack .
"Pero la verdadera belleza de Python es que también es un lenguaje que
puede escalar a proyectos de software grandes y complejos".
El poder de Python y Fusion 360 para la impresión 3D
Le
mostraré cómo crear múltiples versiones de un modelo Fusion 360 CAD y
exportarlos como archivos STL para la impresión 3D, utilizando un script
de Python.
Titular de la tapa de lente impresa en 3D, de Twothingies
Automatizar fácilmente las variaciones de archivo CAD utilizando la API de Fusion 360
¡Hola a todos!
Hoy
quiero compartir cómo utilicé un script de Python para automatizar el
proceso de crear múltiples variaciones de un archivo para la impresión
3D. Escribí un script que usa la API Autodesk Fusion 360 para cambiar
las dimensiones de un modelo CAD, y luego exporta cada variación como un
archivo STL que puede cortar para la impresión 3D.
Me
sorprendió lo simple que era hacer esto, así que quería compartirlo
contigo. Desglosaremos el código y explicando cada sección, para que
pueda comprender cómo funciona y cómo puede usarlo para sus propios
proyectos.
Si tiene
alguna idea de producto físico que requeriría hacer cambios en su
geometría basada en una serie de parámetros, ciertamente puede
beneficiarse de hacer algo como esto. Este caso es realmente simple, ya
que incluye solo dos parámetros, y puede ser útil para comprender lo que
se necesita.
Ya
sea que sea un fabricante joven que recién comienza con la impresión 3D o
un diseñador experimentado que busca llevar sus habilidades al
siguiente nivel a través de la automatización, esta publicación es para
usted.
Generación de múltiples archivos STL de Fusion 360 utilizando un script de Python
¿Por qué exportar archivos STL automáticamente?
Como sabrán, Twothingies es un proyecto que comencé con URI el
año pasado, y hemos estado compartiendo todo tipo de archivos útiles
para la impresión 3D en línea. En este caso, fue un diseño para un
titular de tapa de lente, que compartimos en imprimable.com , y recientemente incluidos en la tienda en el mercado de Vulkaza .
Desde
que publicamos los archivos en línea el año pasado, regularmente hemos
recibido solicitudes de personas que preguntaron muy bien si podíamos
hacer una variación de diseño para adaptarse a un tamaño diferente de
lente o correa de cámara.
Inicialmente, haría las
modificaciones y exportaría los archivos manualmente, ya que el diseño
se realizó en Fusion 360, y solo había dos parámetros para modificar
para obtener una versión ajustada. Pero pronto comenzó a ser tedioso, y
quería encontrar una manera de automatizar hacer varias versiones del
modelo y exportarlas, ver que podríamos publicar todos los tamaños
posibles a la vez.
Eso
se hizo más importante cuando decidimos abrir nuestra tienda en Vulkaza
e incluir al titular de la tapa del lente como uno de los diseños
enumerados. Idealmente, cualquiera podría ir a la tienda y pedir un
titular de tapa de lente de cualquier tamaño.
Hacer un modelo CAD paramétrico en Fusion 360
Cuando
creé el archivo CAD para este diseño, sabía que habría un punto en el
futuro cuando necesitaríamos hacer variaciones de él.
Así
que lo diseñé, incluidos algunos parámetros y relaciones que podrían
usarse para hacer cambios, primero modificando manualmente sus valores y
más adelante a través de algún tipo de automatización.
El modelo Fusion 360 del titular de la tapa del lente.
En este caso, los dos
parámetros que usaría para cambiar el tamaño del modelo eran el diámetro
de la lente (lensdiam) y el ancho de la correa de la cámara
(stapwidth). También hice un tercer parámetro, para el grosor de la
correa, que terminé no usando.
Puede
ver en la imagen debajo de los parámetros y algunas de las fórmulas que
se hacen referencia a ellos dentro del boceto principal.
Parámetros y fórmulas utilizadas en el boceto principal para impulsar los cambios en la geometría del modelo
Al hacer algunas pruebas con
el modelo y probar diferentes combinaciones de parámetros, tuve que
recordarme la regla más importante para hacer modelos CAD paramétricos: no deje bocetos sin restricciones en su diseño .
Cuando
cambia los valores de los parámetros, todo puede romperse con
resultados feos si hay elementos de boceto (una línea, un punto, un
arco) sin restricciones. Eso significa que cada entidad de boceto debe
tener una dimensión asociada con ella o una relación (coincidente,
paralela, perpendicular, etc.) a otra entidad de boceto.
La regla general corta, pero muy efectiva, es: no debe haber líneas azules en su boceto .
En Fusion 360, las líneas azules representan elementos sin
restricciones, que puede arrastrar con el mouse, ya que no están
vinculados a nada, o al menos no están adecuadamente vinculados en todos
los grados de libertad.
La regla más importante para hacer modelos CAD paramétricos: no deje bocetos sin restricciones en su diseño .
En este caso particular, todo
está vinculado al diámetro de la lente y al ancho de la correa, que son
las dimensiones que impulsarán los cambios a la geometría.
Los
diferentes diámetros del soporte se definen proporcionalmente a
Lensdiam, excepto por algunas compensaciones constantes que serán los
mismos sin importar el tamaño de la lente, pero su diámetro se define de
todos modos como un desplazamiento del diámetro de la lente.
Además,
la longitud total del soporte cambiará según el diámetro, para evitar
tener puntas demasiado cortas o largas para insertar la correa de la
cámara. El ancho de los lados, en cambio, se calcula a partir del ancho
de la correa.
Desbloqueo de la potencia de la automatización: usando la API Fusion 360
Sabía
que había una API Fusion 360 que permitía hacer scripts de Python para
este tipo de tareas, y esta fue la oportunidad perfecta para probarlo.
Sin saber por dónde empezar, mi primera suposición obvia fue investigar la documentación oficial .
Eso me permitió comprender los conceptos básicos, especialmente sobre
cómo comenzar a crear un nuevo script y comenzar a escribir algún código
que Fusion 360 reconociera.
Un recurso especialmente útil fue la documentación del modelo de objeto API Fusion 360 . Incluye un gráfico útil que muestra cómo están relacionados los diferentes tipos de objetos utilizados por la API.
Cómo comenzar a crear un nuevo script de Python para Fusion 360
Los pasos para comenzar un nuevo script son en realidad muy simples:
Haga clic en la Utilidades en la cinta superior de Fusion 360.
Haga clic en complementos . Los scripts y la ventana de complementos aparecerán. Haga clic en el botón Crear.
Se
mostrará el nuevo script o la ventana complementaria. Podrá elegir su
lenguaje de programación preferido (Python o C ++), agregar un nombre y
una descripción para su script, nombre del autor, sistema operativo de
destino y la carpeta donde se guardará.
Una
vez que llene esa información, puede hacer clic en Crear. Su nuevo
script (por ahora, vacío) se agregará a la lista en la ventana de
scripts y complementos.
Ahora
puede seleccionarlo y hacer clic en Editar y se abrirá una nueva
instancia de Visual Studio Code, con un archivo precargado que contiene
una plantilla para que comience a escribir su nuevo script. Le
preguntará si confía en los autores de los archivos antes de poder
acceder a ellos. Haga clic en Sí, y estará listo para comenzar.
Los pasos para crear un nuevo script de Python para Autodesk Fusion 360
Escribir un script de Python para actualizar los parámetros del modelo CAD
Esto es cuando comienza la parte divertida.
Código de plantilla proporcionado al crear un nuevo script de Python para usar la API de Fusion 360
Como puede ver, el script de
plantilla ya le indica algunas bibliotecas que necesitará: 'adsk.core',
'adsk.fusion' y 'adsk.cam'. Estos módulos proporcionan acceso a la API
Fusion 360 y permiten que el script interactúe con el diseño activo. El
resto se trata solo de usar las clases de objetos correctas y los
métodos correctos para interactuar con Fusion 360, para cada pequeña
tarea que debe hacer para completar una tarea más grande.
En
mi caso, necesitaba tener acceso a los parámetros definidos por el
usuario, modificarlos, esperar a que se actualice el diseño y exportarlo
como un archivo STL. Tendría que hacer esto de manera recursiva, para
diferentes combinaciones de Lensdiam y Strapwidth.
Solo necesitaba modificarlo ligeramente, y se me ocurrió el siguiente:
#Luis Medina -# Update the diameter of Lens Cap Holder and save each version as STLimport adsk.core, adsk.fusion, adsk.cam, traceback
defrun(context):
ui =Nonetry:
app = adsk.core.Application.get()
ui = app.userInterface
design = adsk.fusion.Design.cast(app.activeProduct)
defaultInputMinDiam ='35'
minLensDiam_Input = ui.inputBox('Input diameter in mm: ','Define minimum diameter', defaultInputMinDiam)
defaultInputMaxDiam ='80'
maxLensDiam_Input = ui.inputBox('Input diameter in mm: ','Define maximum diameter', defaultInputMaxDiam)
defaultInputWidth ='35'
StrapWidth_Input = ui.inputBox('Input width in mm: ','Define strap width', defaultInputWidth)
ui.messageBox(f'Input is = {StrapWidth_Input[0]}')
defaultInputFolder =r'C:\\\\'
folderInput = ui.inputBox('Input path to save folder: ','Define Save Folder', defaultInputFolder)
folder = folderInput[0]
diameters =list(range(int(minLensDiam_Input[0])-1,int(maxLensDiam_Input[0])+1,1))# Get the root component of the active design
rootComp = design.rootComponent
# Get the parameters named "Length" and "Width" to change.
LensDiam_par = design.allParameters.itemByName('LensDiam')
StrapWidth_par = design.allParameters.itemByName('StrapWidth')for dim in diameters:
Diam_set = dim
Width_set = StrapWidth_Input[0]
LensDiam_par.expression =str(Diam_set)
StrapWidth_par.expression =str(Width_set)# Let the view have a chance to paint just so you can watch the progress.
adsk.doEvents()# Construct the output filename.
filename =f'{folder}\\LensCapHolder_D{Diam_set}mm_Strap_{Width_set}mm.stl'# Save the file as STL.
exportMgr = adsk.fusion.ExportManager.cast(design.exportManager)
stlOptions = exportMgr.createSTLExportOptions(rootComp)
stlOptions.meshRefinement = adsk.fusion.MeshRefinementSettings.MeshRefinementMedium
stlOptions.filename = filename
exportMgr.execute(stlOptions)
ui.messageBox('Finished.')except:if ui:
ui.messageBox('Failed:\\n{}'.format(traceback.format_exc()))
El script de Python que creé para automatizar las variaciones del modelo CAD y exportar a archivos STL
Vamos a desglosar en lo que está haciendo cada sección del código.
El código de Python, explicó
El script comienza importando los módulos necesarios para acceder a la API Fusion 360, así como a la itertools Módulo, que utilizaremos más tarde para generar una lista de combinaciones de diámetro.
Entonces, definimos un run
función, que se ejecutará cuando se ejecute el script. La función
comienza inicializando la API Fusion 360 y obteniendo una referencia al
diseño activo.
A continuación, el script
solicita al usuario que ingrese el diámetro mínimo y máximo del soporte
de tapa de la lente, y el ancho de la correa, utilizando el inputBox
Método de la interfaz de usuario. Esto se utiliza para hacer todos los
valores posibles entre el diámetro mínimo y el máximo, con la abertura
para el ancho de correa de la cámara proporcionado.
Quería
tener esta posibilidad, para evitar codificar todas las reglas para
evitar resultados incorrectos debido a combinaciones incompatibles de
diámetros de lente y ancho de correa. El modelo CAD solo funciona para
anchos de correa iguales o más grandes que el diámetro de la lente, pero
no codifiqué errores y excepciones para dar cuenta de eso. Tal vez más
tarde.
defaultInputMinDiam ='35'
minLensDiam_Input = ui.inputBox('Input diameter in mm: ','Define minimum diameter', defaultInputMinDiam)
defaultInputMaxDiam ='80'
maxLensDiam_Input = ui.inputBox('Input diameter in mm: ','Define maximum diameter', defaultInputMaxDiam)
defaultInputWidth ='35'
StrapWidth_Input = ui.inputBox('Input width in mm: ','Define strap width', defaultInputWidth)
El script también solicita al usuario que ingrese la ruta a la carpeta donde se guardarán los archivos STL.
defaultInputFolder =r'C:\\\\'
folderInput = ui.inputBox('Input path to save folder: ','Define Save Folder', defaultInputFolder)
folder = folderInput[0]
Luego, creamos una lista de
diámetros para iterar, en función de los valores mínimos y máximos
proporcionados por el usuario. Yo usé rangey dio un desplazamiento de 1 mm a los valores, para incluir la lista de diámetros.
A continuación, obtenemos una
referencia al componente raíz del diseño activo y los parámetros que
queremos cambiar, en este caso, el diámetro de la lente y el ancho de la
correa.
Finalmente, podemos iterar sobre la lista de diámetros para cambiar los parámetros y exportar la geometría como archivos STL:
for dim in diameters:
Diam_set = dim
Width_set = StrapWidth_Input[0]
LensDiam_par.expression =str(Diam_set)
StrapWidth_par.expression =str(Width_set)# Let the view have a chance to paint just so you can watch the progress.
adsk.doEvents()# Construct the output filename.
filename =f'{folder}\\LensCapHolder_D{Diam_set}mm_Strap_{Width_set}mm.stl'# Save the file as STL.
exportMgr = adsk.fusion.ExportManager.cast(design.exportManager)
stlOptions = exportMgr.createSTLExportOptions(rootComp)
stlOptions.meshRefinement = adsk.fusion.MeshRefinementSettings.MeshRefinementMedium
stlOptions.filename = filename
exportMgr.execute(stlOptions)
Ejecuté el guión varias veces,
para anchos de correa de cámara de 35, 38, 40, 45 y 50 mm. Cada vez que
el diámetro mínimo era igual o más grande que el ancho de la correa.
Así es como obtuve los 200 archivos que publicamos en imprimable.com .
Conclusión
En
conclusión, utilizando la API Fusion 360, podemos realizar scripts
relativamente simples para automatizar la creación de diferentes
versiones de un archivo y exportar cada uno en formato STL, listo para
cortar y imprimir 3D.
Al
usar este tipo de scripts, puede ahorrar tiempo y esfuerzo generando un
lote de modelos similares con diferentes dimensiones, todo a la vez,
por supuesto, primero debe hacer que un modelo CAD paramétrico sea
compatible con este tipo de automatización.
Espero
que esta publicación haya sido útil para explicar cómo funciona el
guión que hice y cómo puede usarla para automatizar sus propios
proyectos de impresión 3D. El script y el archivo Fusion 360 están disponibles en mi github , y puede bifurcarlos y usarlos para crear sus propios proyectos.
Uri
y yo también trabajaremos en una versión del soporte de tapa de lente
que permitirá ajustar dos diámetros diferentes en lugar de uno, así que
estén atentos para eso, lo publicaremos, como de costumbre en la cuenta de Instagram de Twothingies .
Como
un recordatorio amistoso, ¡siempre verifique las dimensiones de las
tapas y la correa de su cámara para garantizar la compatibilidad antes
de imprimir 3D cualquiera de los archivos que compartimos!