#codeCAD

2024-07-22

Another quicky, this is a parametric cable comb generator, built in #replicad.

I like building more elaborate parametric projects, but it's great to have a convenient tool to knock out these easy ones as well.

#codecad

printables.com/model/951121-pa

Screenshot of a flat cable comb on a CAD grid, with 3 holes for cables on each side. A popup dialog shows customizable dimensions for diameter, hole count, spacing thickness and whether the comb should be double sided.Photo of three large cables, and two small cables exiting a cable chain and entering a cable passthrough. The large cables and small cables are (separately) connected by plastic cable combs in a contrasting color
2024-07-20

An extremely simple, parametric standoff generator, build in #replicad

I nearly did not bother making/publish this, but I end up using them on a lot of projects, so it's nice to have the configuration in one place.

#codecad

A 3d model of an electronics standoff with 4 posts at the corners and holes in the center and a thin base. A configuration popup on the side displays settings for width, height, hole diameter, post wall thickness, post height, base thickness, and a checkbox for whether holes go all the way through the base.
2024-04-21

I needed a small tray for my bathroom - it took me a few minutes to model, but now it will take me even less time.

models.sgenoud.com/posts/simpl

#3dprinting #replicad #codecad

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-04-12

There is some really cool new features being worked on in #SolveSpace, bringing it a tad closer to #codeCAD like :openscad: #OpenSCAD: named parameters and equation constraints. This will make gearing logic and several other things feasible.

github.com/solvespace/solvespa

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-02-28

@scruss Does #FreeCAD not have keybindings for the common constraints? #SolveSpace does at least and it makes sketching quite fast. But I'm totally with you that #codeCAD is so much quicker and more concise for many things.

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-02-14

Oh and there is a CAD program called Antimony that looks an awful lot like #codeCAD but with graphical interaction:

mattkeeter.com/projects/antimo

🧵 A short thread of me looking at #AntimonyCAD and comparing it to #sdfCAD 👇

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-02-14

TIL that there's #ImplicitCAD, a sort of #OpenSCAD dialect that's based on #SDF's, written in #Haskell. It's similar to #sdfCAD in many ways and has the sdf approach's smoothing powers, but also the same shitty meshes as sdfCAD 😅

github.com/Haskell-Things/Impl

#codeCAD

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-02-04

Oh for christ's sake what is #pyvista doing here? Randomly moving the axis origins around when switching between rendering modes? How is one supposed to do #CAD like this? 🙄

I'm using pyvista to view the generated #sdfCAD models but shifting axes around is a pretty severe no-go for a 3D viewer. pyvista also recently started spitting out some weird vue2/vue3 errors... Are there any other good #STL viewers for #Jupyter?

#Python #codeCAD

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-01-28

@brett Right. I really want to like #SolveSpace. There aren't many FOSS CAD programs and SolveSpace's simple yet powerful approach fits a good niche between #codeCAD and e.g. #FreeCAD. However very basic operations like intersecting round objects seem to quickly cause problems and require triangulation or not work at all. Threads are also a big problem. I'll keep using it. FreeCAD is a bit too big for my taste.

Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-01-27

I tried approaching a small #3dDesign project first with graphical #SolveSpace, but quickly got annoyed by all the clicky-draggy bits and complicated constraints and switched to #sdfCAD. I love its new auto-chamfering capabilities, making the design of such a clamping ring with #3dPrinting in mind a bliss in eight lines of #Python code - including boilerplate.

#codeCAD

Solvespace screenshot, showing sketch of a chamfered-pacman-style shapeJupyter screenshot, a ring-like shape that's chamfered everywhere and cut open at one side visible, code:

from sdfcad import *
pipe = cylinder(d=(DIAMETER:=17)) # the pipe to wrap around
bracket = cylinder(d=(OUTER_DIAMETER:=DIAMETER + 2*(THICKNESS:=8))) # make a (infinite) cylinder thicker than the lock 
bracket -= pipe.dilate(CLEARANCE:=0.1) # cut a clearanced hole for the lock
bracket &= slab(dz=(HEIGHT:=10)).chamfer(CHAMFER:=1) # make the hole thing 10mm thick with chamfers
bracket -= slab(x0=-(DIAMETER/2+3), dy=3).chamfer(CHAMFER) # open the ring slightly
bracket -= (slab(dz=(ZIPTIE_WIDTH:=5)) - cylinder(d=OUTER_DIAMETER).erode(1)).chamfer(CHAMFER) # cut a chamfered belt for zipties
bracket.save("kryptonite-bracket.stl",step=0.2, verbose=False) # savethe 3d printed bracket on the lock
Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-01-26

#sdfCAD now supports chamfers and fillets (and both simultaneously!) for unions, intersections and differences 🥳

#codeCAD #Python #3dModelling

half-sphere with a stick, chamfers everywhereminesweeper-like cube with squares sticking out, chamfers and fillets everywherecube with round hole and chamfers everywhere
Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-01-26

🥳 #sdfCAD can now do chamfers, fillets and even both (chamfers with a smooth transition at the edges).

#codeCAD #Python #3dModelling

Jupyter, 3D render of a big cube pierced by three thinner arms, the top one joined with a chamfer, the left one joined with a fillet, the right one joined with a chamfer and smooth fillet transition, above is the Python code:

from sdf import *
a = slab(dx=20,dy=20,dz=20,k=0)
b = slab(dx=4,dy=4,dz=40,k=0).rotate(units("45°"))
body = a | b.c(3) | b.orient(X).k(5) | b.orient(Y).c(4).k(1)
body.save(samples=2**22, verbose=False)
Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-01-25

I found a recipe to do chamfers on SDFs, so chamfers will come to #sdfCAD soon 🥳

ronja-tutorials.com/post/035-2

#codeCAD #3dModelling

Python code in Jupyter Lab, generating a 3D render of two joined cubes, once joined with a chamfer, another pair joined with a fillet:

chamfer = chamferunion(a,b,k=1)
fillet = union(a,b,k=2)
(chamfer | fillet.translate(15*Y)).save(verbose=False)
Yann Büchau :nixos:nobodyinperson@fosstodon.org
2024-01-25

My first successful real #3DModelling project in #SolveSpace - repairing a toy excavator for a local playschool! 🥳

I thought about making it in #codeCAD like #OpenSCAD or #sdfCAD, but the ability to draw onto pictures is just an absolute must for projects like this.

printables.com/model/737349-ca

#3dPrinting #RepairReuseRecycle #repair

a CAT toy excavator with a replaced upper arm handle and shovel (new 3d printed parts, marked in red)shovel 3D model in solvespacearm handle 3D model in solvespace
2024-01-09

Published yet another parametric-box-generator here: printables.com/model/702716-pa

This one is built with #replicad, which really streamlined some of the design (namely fillets and chamfers), relative to my other favorite: CascadeStudio

#codecad

Simple rendering of a box and lid on a gridded background. The box has rounded corners and an internal divider.
2023-03-09

Code CAD creates parts
CadQuery, OpenSCAD, JSCAD
Coding Community Hub

#codecad #cadquery #openscad #jscad #coding #haiku #poetry

cadhub.xyz/u/caterpillar/movin

2023-03-09

New blog post: "The current landscape of 2D CAD libraries".

carrots.sgenoud.com/2d-cad-lib

I wanted to have pure 2D operations in replicad, open cascade was not great for it.

I looked at what I could find in the ecosystem. It is all summed up in the post!

#cad #codeCad

2023-02-15

The new replicad tutorial is published as part of the documentation: replicad.xyz/docs/tutorial-mak

I walks you through how to use the draw API to #codecad your way through creating a nice designer watering can.

#cad #javascript #web #3dmodeling

The model of the watering can part of the new replicad tutorial
2023-01-26

I have been playing with replicad within natto.dev.

I could easily make it work for 2D stuff - and have a small interface easily.

This makes me think of how it could be used to build a node based CAD software.

natto.dev/@sgenoud/e2ade00d1fb to play with it!

#codecad #cad #natto.dev #replicad

Using natto.dev to draw an image with replicad
2023-01-16

Video on a parametric tower generator made using #CadQuery. #CodeCAD #CAD #Python

youtube.com/watch?v=OPDYVyAOk5

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst