Workbench to integrate pyoptools with freecad, that means basically optics ray tracing capabilities for FreeCAD.

Overview

freecad-pyoptools

Workbench to integrate pyoptools with freecad, that means basically optics ray tracing capabilities for FreeCAD.

Requirements

It requires a working FreeCAD with python3 support, and pyoptools installation for python3.

Linux Installation

Clone directly the git into the Mod dir in your FreeCAD root directory, that usually means cloning into ~/.FreeCAD/Mod directory.

After that you just select the "pyOpTools" workbench in FreeCAD in the usual way. As seen in the following screenshot image

Small Instructions

Please have in mind that this is a work in progress, so it may change radically some day, and your simulations may not run anymore.

The idea behind this workbench is to be able to simulate (by raytracing) optical systems. To do so, you need to build the optical system you want to simulate.

To build the system first change to the pyOpTools workbench. You will find 2 new menus:

  • Add Component
  • Simulate

The first menu allows you to add optical components to your system. Each component creates a dialog that can be used to position it, and also to adjust it's parameters such as focal length (for example). There are also some kind of ray sources that must be added to perform a simulation (point source, parallel source). After all the components and ray sources are located in the system, press simulate-> propagate, and the ray tracing simulation will be ran.

You might also like...
Ray tracing of a Schwarzschild black hole written entirely in TensorFlow.

TensorGeodesic Ray tracing of a Schwarzschild black hole written entirely in TensorFlow. Dependencies: Python 3 TensorFlow 2.x numpy matplotlib About

XGBoost-Ray is a distributed backend for XGBoost, built on top of distributed computing framework Ray.

XGBoost-Ray is a distributed backend for XGBoost, built on top of distributed computing framework Ray.

Larch: Applications and Python Library for Data Analysis of X-ray Absorption Spectroscopy (XAS, XANES, XAFS, EXAFS), X-ray Fluorescence (XRF) Spectroscopy and Imaging

Larch: Data Analysis Tools for X-ray Spectroscopy and More Documentation: http://xraypy.github.io/xraylarch Code: http://github.com/xraypy/xraylarch L

A calibre plugin that generates Word Wise and X-Ray files then sends them to Kindle. Supports KFX, AZW3 and MOBI eBooks. X-Ray supports 18 languages.
A calibre plugin that generates Word Wise and X-Ray files then sends them to Kindle. Supports KFX, AZW3 and MOBI eBooks. X-Ray supports 18 languages.

WordDumb A calibre plugin that generates Word Wise and X-Ray files then sends them to Kindle. Supports KFX, AZW3 and MOBI eBooks. Languages X-Ray supp

Code associated with the paper
Code associated with the paper "Deep Optics for Single-shot High-dynamic-range Imaging"

Deep Optics for Single-shot High-dynamic-range Imaging Code associated with the paper "Deep Optics for Single-shot High-dynamic-range Imaging" CVPR, 2

Neural Nano-Optics for High-quality Thin Lens Imaging

Neural Nano-Optics for High-quality Thin Lens Imaging Project Page | Paper | Data Ethan Tseng, Shane Colburn, James Whitehead, Luocheng Huang, Seung-H

POPPY (Physical Optics Propagation in Python) is a Python package that simulates physical optical propagation including diffraction
POPPY (Physical Optics Propagation in Python) is a Python package that simulates physical optical propagation including diffraction

POPPY: Physical Optics Propagation in Python POPPY (Physical Optics Propagation in Python) is a Python package that simulates physical optical propaga

This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.
This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.

Freedom to build what you want FreeCAD is an open-source parametric 3D modeler made primarily to design real-life objects of any size. Parametric modeling allows you to easily modify your design by going back into your model history to change its parameters.

Sheet2export - FreeCAD macro to export spreadsheet
Sheet2export - FreeCAD macro to export spreadsheet

Description This is FreeCAD macro to export spreadsheet to file.

We will see a basic program that is basically a hint to brute force attack to crack passwords. In other words, we will make a program to Crack Any Password Using Python. Show some ❤️ by starring this repository!

Crack Any Password Using Python We will see a basic program that is basically a hint to brute force attack to crack passwords. In other words, we will

DirBruter is a Python based CLI tool. It looks for hidden or existing directories/files using brute force method. It basically works by launching a dictionary based attack against a webserver and analyse its response.

DirBruter DirBruter is a Python based CLI tool. It looks for hidden or existing directories/files using brute force method. It basically works by laun

This project is basically to draw lines with your hand, using python, opencv, mediapipe.
This project is basically to draw lines with your hand, using python, opencv, mediapipe.

Paint Opencv 📷 This project is basically to draw lines with your hand, using python, opencv, mediapipe. Screenshoots 📱 Tools ⚙️ Python Opencv Mediap

Slowloris is basically an HTTP Denial of Service attack that affects threaded servers.

slowrise-ddos-tool What is Slowloris? Slowloris is basically an HTTP Denial of S

Ab testing - basically a statistical test in which two or more variants

Ab testing - basically a statistical test in which two or more variants

A programme which basically has the same function as the actual Rock paper scissors game.

A programme which basically has the same function as the actual Rock paper scissors game.

Basically Play Pauses the song when it is safe to do so. when you die in a round
Basically Play Pauses the song when it is safe to do so. when you die in a round

Basically Play Pauses the song when it is safe to do so. when you die in a round

Python DNS Lookup: The Domain Name System (DNS) is basically the phonebook of the Internet

-Python-DNS-Lookup- ✨ 🌟 Python DNS Lookup ✨ 🌟 The Domain Name System (DNS) is

Hunter is a flexible code tracing toolkit.
Hunter is a flexible code tracing toolkit.

Overview docs tests package Hunter is a flexible code tracing toolkit, not for measuring coverage, but for debugging, logging, inspection and other ne

(CVPR 2021) Back-tracing Representative Points for Voting-based 3D Object Detection in Point Clouds
(CVPR 2021) Back-tracing Representative Points for Voting-based 3D Object Detection in Point Clouds

BRNet Introduction This is a release of the code of our paper Back-tracing Representative Points for Voting-based 3D Object Detection in Point Clouds,

Comments
  • Stray light analysis

    Stray light analysis

    Hi guys,

    I'm searching for libraries to make optical design like: Lighttols, Opticstudio or RayJack One? pyopttools seems to be perfect start point, stray light analysis can be done?

    Thanks

    opened by ppfromero 3
  • PointSource bug

    PointSource bug

    The parallel ray source was not well defined, it was defined in freecad-pyoptools using a direction vector but pyoptools uses an rotation vector. This is fixed now, but need to check because point source may have the same problem.

    opened by ramezquitao 0
  • freecad assembly 4 example

    freecad assembly 4 example

    Hey cihologramas, thank you for your amazing work 💪. I partly used your code to make a simulation of a laser prism scanner and made a video of it here. Hope you find it inspiring 🙏 , https://youtu.be/kekMkjqzRjE

    Freecad workbench https://github.com/hstarmans/freecad_hexastorm Python library with prism simulation https://github.com/hstarmans/opticaldesign Assembly file https://github.com/hstarmans/hexastorm_design

    opened by hstarmans 2
  • Add to the FreeCAD-addons repo for more streamlined installation

    Add to the FreeCAD-addons repo for more streamlined installation

    Open an issue up in https://github.com/FreeCAD/FreeCAD-addons to request adding this WB when you feel ready. Thanks. Also don't forget to give DeepSOIC a heads up regarding your work, see https://forum.freecadweb.org/viewtopic.php?t=7748

    opened by luzpaz 9
Owner
Combustión Ingenieros SAS
Combustión Ingenieros SAS
The InvGears workbench for FreeCAD allows the creation of gear systems

FreeCAD InvGears workbench Current version 0.1.1 Overview The InvGears workbench allows the creation of gear systems. The gear generation algorithm is

Sebastian Ernesto Garcia 8 Dec 10, 2021
Computational modelling of ray propagation through optical elements using the principles of geometric optics (Ray Tracer)

Computational modelling of ray propagation through optical elements using the principles of geometric optics (Ray Tracer) Introduction By applying the

Son Gyo Jung 1 Jul 9, 2022
Fully Automated YouTube Channel ▶️with Added Extra Features.

Fully Automated Youtube Channel ▒█▀▀█ █▀▀█ ▀▀█▀▀ ▀▀█▀▀ █░░█ █▀▀▄ █▀▀ █▀▀█ ▒█▀▀▄ █░░█ ░░█░░ ░▒█░░ █░░█ █▀▀▄ █▀▀ █▄▄▀ ▒█▄▄█ ▀▀▀▀ ░░▀░░ ░▒█░░ ░▀▀▀ ▀▀▀░

sam-sepiol 249 Jan 2, 2023
Path tracing obj - (taichi course final project) a path tracing renderer that can import and render obj files

Path tracing obj - (taichi course final project) a path tracing renderer that can import and render obj files

null 5 Sep 10, 2022
A suite of utilities for AWS Lambda Functions that makes tracing with AWS X-Ray, structured logging and creating custom metrics asynchronously easier

A suite of utilities for AWS Lambda Functions that makes tracing with AWS X-Ray, structured logging and creating custom metrics asynchronously easier

Amazon Web Services - Labs 1.9k Jan 7, 2023
A fast python implementation of Ray Tracing in One Weekend using python and Taichi

ray-tracing-one-weekend-taichi A fast python implementation of Ray Tracing in One Weekend using python and Taichi. Taichi is a simple "Domain specific

null 157 Dec 26, 2022
An implementation of Ray Tracing in One Weekend using Taichi

又一个Taichi语言的Ray Tracer 背景简介 这个Ray Tracer基本上是照搬了Peter Shirley的第一本小书Ray Tracing in One Weekend,在我写的时候参考的是Version 3.2.3这个版本。应该比其他中文博客删改了不少内容。果然Peter Shir

张皓 30 Nov 21, 2022
A ray tracing render implemented using Taichi language.

A ray tracing render implemented using Taichi language.

Mingrui Zhang 45 Oct 23, 2022
Implementation of light baking system for ray tracing based on Activision's UberBake

Vulkan Light Bakary MSU Graphics Group Student's Diploma Project Treefonov Andrey [GitHub] [LinkedIn] Project Goal The goal of the project is to imple

Andrey Treefonov 7 Dec 27, 2022
A very simple 3D maze game with ray tracing.

PytracingMaze MOST RECENT VERSION: Pytracing Maze.py Also, executable for Windows available on itch.io Simple ray tracing game in Python, based on my

FinFET 15 Dec 20, 2022