scad-clj
fswatch
Our great sponsors
scad-clj | fswatch | |
---|---|---|
5 | 22 | |
315 | 4,882 | |
- | - | |
10.0 | 0.0 | |
about 4 years ago | 3 months ago | |
Clojure | C++ | |
Eclipse Public License 1.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
scad-clj
- Better OpenSCAD?
-
The Orb: a parametric trackball with BTU mounted ball and keyboard switches for buttons
As for Gamma: I wasn't really aware of CadQuery, but I did use OpenSCAD extensively, when designing my Lagrange keyboard. Gamma started as a way to address some aspects I didn't find quite satisfactory (as, to be fair, I can't say I had any real problems). Also to be fair, I used OpenSCAD through a frontend(scad-clj) translating Clojure code to its native language and some of the problems may have been due to that, but that is also one of the issues I had with OpenSCAD: why have to learn a new language when there are existing embedabble scripting languages, you might now already, of if not, which you might use elsewhere and which, having years of development, will likely be better?
-
GhostSCAD: Marrying OpenSCAD and Golang
I wonder how many OpenSCAD wrappers now exist? I know of scad-clj [0], openpyscad [1], and solidpython [2].
I particularly like scad-clj, because of `lein auto generate`. It watches source files, and regenerates the OpenSCAD files automatically, which OpenSCAD then also picks up. Although I'm not well versed in Clojure, and find debugging Clojure tricky, the workflow is just so good.
[0] https://github.com/farrellm/scad-clj
[1] https://github.com/taxpon/openpyscad
[2] https://github.com/SolidCode/SolidPython
- I must say I had been kinda ambivalent about OpenSCAD until now, but I discovered SolidPython and am absolutely delighted. This is what I had hoped OpenSCAD would be.
-
Code CAD – Use code to create CAD models
There is a small clojure project that transpiles clojure to openscad, (if I remember correctly...)
https://github.com/farrellm/scad-clj
Demonstrated and talked about in this clip:
fswatch
-
MakeMake: Generate make files from C source code
Or even better, fswatch (https://github.com/emcrisostomo/fswatch) which works on Linux, BSDs, macOS, Windows, and even Solaris
-
Are there any CLIs or good ways on macOS to real-time / continuously sync two folders on the same drive?
If you don’t mind shell shell scripting you can use something like fswatch and some shell logic to do something similar.
-
File System Watcher
Well, I am not too lazy to search but I was interested in your experience, especially with reliability.
This one looks interesting: https://github.com/emcrisostomo/fswatch
-
Kubernetes Reload/Restart pod on file changes
What about using https://github.com/emcrisostomo/fswatch ?
-
Watchman: Execute a command when something changes
The required kernel hooks exist in pretty much any common OS these days, it is a user-space tool that is sometimes missing.
It may not be installed by default, but inotifywait is available in common Linux distributions, usually in a package called something like ionotify-tools, and has been for over a decade-ana-half IIRC. It'll work under WSL on Windows too, though only for ext4 devices not bits of the Windows filesystem made available to Linux.
I can't speak to what other OSs include by default, but as every major OS has a different API for defining how to register a lister and how it gets messages no built-in tool is going to be cross platform. There are third party tools which present more cross-platform consistency, most notably https://github.com/emcrisostomo/fswatch#readme (also available in common Linux distros, just an apt install away in Debian for instance).
-
Build a Rails script watcher/runner using fswatch
fswatch is a cross-platform file change monitor. It will watch any files you specify, then run a script on change.
- Is there a way to trigger an action when a file is transfered via another computer?
-
Script only runs when it sees new file that fits criteria help needed
You can do this without polling using a util like fswatch: https://github.com/emcrisostomo/fswatch
-
GhostSCAD: Marrying OpenSCAD and Golang
> It watches source files, and regenerates the OpenSCAD files automatically
inotify() is awesome. Here's a library in python that does it.
https://michaelcho.me/article/using-pythons-watchdog-to-moni...
There's also inotifywatch on linux and fswatch on mac. I'm sure there's alternatives for BSD Unix and Windows, but I care the least about those OS's.
https://github.com/emcrisostomo/fswatch
-
Optimizing templates
For development it's easy to just ParseFiles before every Execute to be sure you have the latest version. But for production something else is needed, fx watch for changes in files and have this trigger a reload (fx using https://github.com/emcrisostomo/fswatch).
What are some alternatives?
openpyscad - Python library to generate OpenSCAD source code. This library provides intuitive interface when you handle 3D data.
inotify-tools - inotify-tools is a C library and a set of command-line programs providing a simple interface to inotify.
OpenJSCAD.org - JSCAD is an open source set of modular, browser and command line tools for creating parametric 2D and 3D designs with JavaScript code. It provides a quick, precise and reproducible method for generating 3D models, and is especially useful for 3D printing applications.
watchexec - Executes commands in response to file modifications
oce - OpenCASCADE Community Edition (OCE): a community driven fork of the Open CASCADE library.
semver - Semantic Versioning Specification
antimony - CAD from a parallel universe
HomeBrew - 🍺 The missing package manager for macOS (or Linux)
VisualScriptCAD - A simple visual scripting based 3D modeling application.
inotify-rs - Idiomatic inotify wrapper for the Rust programming language
cadhub - We're out to raise awareness and put CodeCAD on the map. The success of CadHub can be measured by the amount it promotes the use of CodeCAD within the mechanical/manufacturing industry and the strength the CadHub community.
SolidPython - A python frontend for solid modelling that compiles to OpenSCAD