Skip to content

Instantly share code, notes, and snippets.

View yorikvanhavre's full-sized avatar

Yorik van Havre yorikvanhavre

View GitHub Profile
@yorikvanhavre
yorikvanhavre / FreeCAD-como-instalar.md
Created April 27, 2021 11:41
Hello World com o FreeCAD

O que é e como instalar o FreeCAD

O FreeCAD é um aplicativo de modelagem 3D paramétrico. Diferentemente de aplicativos de modelagem mais "livre" como o Blender, o FreeCAD oferece uma modelagem mais lenta, mas mais precisa e baseada em sólidos e curvas NURBS. O sistema paramétrico permite também criar vários tipos de relações entre objetos. Assim como o Blender, o FreeCAD é altamente extensível e fácil de programar em Python.

Como instalar

O FreeCAD é bem fácil de instalar, basta baixar o pacote de instalação correspondente a sua plataforma a partir da página oficial.

Linux

#!/usr/bin/python3
"""
This script renders different kinds of CAD files as PNG files using
FreeCAD. If the given PNG image path already exists, and was created
from the same file (same MD5 hash), no new rendering is performed.
Usage: cad2png.py [OPTIONS] path/to/someFile.FCStd path/to/somefile.png
Options:
@yorikvanhavre
yorikvanhavre / fcstd2png.py
Last active June 5, 2020 12:09
Renders a FreeCAD file to png
#!/usr/bin/python3
"""
This renders a FreeCAD .FCStd file to a .png file in the same directory
Usage: fcstd2png.py path/to/someFile.FCStd
Instructions:
@yorikvanhavre
yorikvanhavre / offline_rendering.py
Last active June 5, 2020 12:56
FreeCAD offline rendering example
#!/usr/bin/python3
"""
This is a test file to test offline rendering functionality. It takes a FreeCAD file (colors.FCStd in
the examples below) and will produce colors.obj, colors.mtl, colors.dae, colors.ifc, colors.stp
and colors.png files in the same directory. It also saves a copy of the colors.FCStd file with
colors preserved.
Instructions:
@yorikvanhavre
yorikvanhavre / freecad-ladybug.ipynb
Last active July 25, 2020 11:16
FreeCAD ladybug integration notes
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@yorikvanhavre
yorikvanhavre / make-thumbnailer.sh
Created April 6, 2020 14:19
Fix g3dviewer thumbnail make
# The last step of the makefile fails. After running make (and get all the .o files built), run this below.
# Basically fixes by swapping the orger of the .o entries and the -l entries (-l go AFTER the .o) and adding missing -lm and -lX11
gcc -g -O2 -o g3d-thumbnailer g3d_thumbnailer-g3d-thumbnailer.o g3d_thumbnailer-trackball.o g3d_thumbnailer-gl.o g3d_thumbnailer-texture.o g3d_thumbnailer-screenshot.o -lGL -lGLU -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lg3d -lm -lX11
@yorikvanhavre
yorikvanhavre / io_export_fcstd.py
Last active July 24, 2022 12:45
A FreeCAD exporter for Blender 2.80+
# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bl_info = {
"name": "FreeCAD Importer",
"category": "Import-Export",
"author": "Yorik van Havre",
"version": (5, 0, 0),
"blender": (2, 80, 0),
"location": "File > Import > FreeCAD",
"description": "Imports a .FCStd file from FreeCAD",
"warning": "This addon needs FreeCAD installed on your system. Only Part- and Mesh-based objects supported at the moment.",
}
@yorikvanhavre
yorikvanhavre / check_revit_tiny_lines.py
Created December 4, 2018 00:24
A FreeCAD macro that checks all visible objects for lines too tiny for Revit
import FreeCAD,FreeCADGui,Part
minl = 0.8 # 0.8 millimeters is the minimum line size that Revit is able to swallow. Pitiful, I know...
edges = []
if FreeCAD.ActiveDocument:
for o in FreeCAD.ActiveDocument.Objects:
if o.ViewObject.Visibility == True:
if o.isDerivedFrom("Part::Feature"):
if o.Shape:
@yorikvanhavre
yorikvanhavre / ideias_contra_fascismo.md
Last active October 10, 2018 15:08
Ideias para impedir o Brasil de se tornar um estado fascista após a vitória do Bolsonaro

Ideias para impedir o Brasil de se tornar um estado fascista após a vitória do Bolsonaro

  • Aprender e divulgar sobre o nazismo / fascismo, aprender a reconhecer similaridades, e também diferenças e ter uma visão realista e constantemente atualizada sobre a situação
  • Registrar e divulgar crimes fascistas, separar e catalogar os cometidos oficialmente pelo governo, por apoiadores, e por outras instituições que não são parte do governo (legislativo, judiciário, estaduais, etc...)
  • Registrar e catalogar ocorrências de corrupção das instituições (legislativo, judiciário...) por parte do governo
  • Apoiar a imprensa independente
  • Apoiar, ampliar e reforçar movimentos tipicamente "alvos" do fascismo (e consequentemente partes fundamentais da resistência) como movimentos feministas, negros, LGBT
  • Desenvolver cultura alternativa, e meios de financiá-la e mantê-la viva culturalmente (resistir as calunias e campanhas contra)
  • Atentar e identificar novos "alvos" (designados como responsáveis por tudo que for rui