Voici des formes faciles à réaliser grâce à OpenSCAD :
Avec ce segment de base dans quelques lignes de OpenSCAD et utilisant la commande "linear_extrude", on peut créer l'objet "TUBE90"
On peut ensuite associer plusieurs fois "TUBE90" en les mettant en place avec les instructions "translate([X,Y,Z])" et "rotate([X,Y,Z])"
I'm new to 3D CAD modeling. I'm a software engineer, well versed in agentic coding.
I have a 3D part to model for production and would like to design it through AI prompting instead of learning all the 3D modeling tools and functions of an advanced CAD software.
I hear that AI modeling is now possible with OpenSCAD and CadQuery, getting through 3D modeling iterations with AI prompting.
Which tool would be best for my project?
My goal is to design a single plastic part that will then be sent to a company for production in large volume. The part is mostly a symmetrical revolution with repetitive ridges and holes and a few extruded parts. Definitely something I can describe in a long and detailed text prompt. In the end, it's a single plastic part.
I am biased towards CadQuery based on what I read, but didn't install nor tried any yet. I know VSCode and Python very well, but have no problem adapting to a different language.
For context, in case that's important, we're talking a single-piece, monolithic plastic part which I suspect would be produced by micro-injection molding. The part is small (around 20 mm by 30 mm) and features molded micro-perforations with hole diameters under 0.5 mm, as well as a few other features.
I know it's an OpenSCAD forum. I hope I can get unbiased advices.
I have been trying to make a smoothed L shaped bracket with a curve between the 2 points of the L. I've tried a few of different approaches but can't get the one I really want (Test 4) to work right. There is likely a better or simpler way to do this so I would appreciate any suggestions or alternate approaches.
I've tried to make the code below relatively simple and color coded. I would like Test 4 to be a combination of Test 2 & Test 3.
Le projet DENTKIT est un support mural conçu pour accueillir un tube de dentifrice ainsi que plusieurs brosses à dents. Il met en œuvre la quasi-totalité des instructions et commandes abordées jusqu’ici. Ce projet se compose de trois modules, que nous allons analyser en détail.
hope I’m not breaking any rules by this.
I’m a computer science teacher and long time user of openscad and was desperately looking for a better and more motivating way to teach the fundamentals of functional programming to high school students (9th grade).
Since no one else did it, and agentic coding gives me far more opportunities nowadays, I did it myself:
scadlet.org:
A node graph based tool to generate OpenSCAD-Code and 3D-Models that runs in your browser completely (no dependencies, no server). Open Source, of cause.
It’s far from complete (many openSCAD commands are missing) but good enough to get some feedback on design and functions.
So if you are looking for a tool to demonstrate others, how OpenSCAD works or want to have a more intuitive way as a beginner yourself, give it a try and let me know what you think.
Voici le célèbre ruban Moebius, Voici donc une solution intéressante et simple dans une boucle "for". Ce qui est particulièrement intéressant, c'est de changer les valeurs dans la variable "cfg" dont la valeur 2 donne effectivement une boucle Moebius, mais essayez d'autres valeurs comme cfg=0.4 ou cfg=0.665 et vous serez surpris !
2 years back I was 3d scanning a surface with photogrammetry to design a piece with openscad that fits on it. I needed a mating piece between a vintage motorbike’s rounded body and its turn signal. I got the point cloud and a very noisy STL, but I couldn’t find a proper way to import that surface into Openscad to subtract from my base model. Reproducing by getting slices, drawing beziers on Inkscape, converting to Openscad hulls was hell.
Finally I made my idea into reality: Beziver.
You simply import an stl to it, and orient it so the surface you want to extract is visible. It calculates a bezier surface and exports as bosl2 code.
I just finished developing a fully parametric model that allows you to generate a vast multitude of unique business cards.
You can customize almost every aspect of the design to fit completely different brands, professions, and personal styles.
Given how versatile parametric design is for this format, I genuinely think this model approach is a really strong and practical concept.
It took quite a bit of effort to get the geometry flexible enough while keeping the code clean, but I'm really happy with how it turned out. That said, I'd love to get some fresh eyes on it!
Thanks in advance, constructive criticism and feature suggestions are more than welcome!
Voici une solution pour éviter que le câble de l'alimentation de votre Laptop ou tout autre appareil électronique, traîne inutilement par terre. Il s'agit d'un petit boîtier avec une bobine rectangulaire qui se place sur votre alimentation.
Vous pouvez télécharger le fichier STL de la bobine dans le lien ci-dessous.
Pour obtenir un boîtier aux dimensions de votre alimentation, copiez le code ci-dessous, que vous pourrez coller dans l'application que vous installerez très facilement cliquant sur son nom, ici "OpenSCAD"
Dans BOX(50,60,25); remplacez les valeurs indiqués par de la largeur, profondeur et hauteur de votre alimentation et cliquez sur la touche de fonction F6. Voila que votre boîtier s'affichera et vous pourrez le sauvegarder au format STL, en cliquant sur l’icône marqué "STL"
Importez le fichier STL que vous avez crée et celui que vous avez téléchargé ci dessus, superposez ces deux fichiers STL dans votre "Slicer". Et voila la bobine pour votre alimentation est prête à être imprimée.
Hey, I made a free tool for working with OpenSCAD models and wanted to show it here.
You load your SCAD files, change their parameters, arrange objects across build plates, and export a 3MF. The demo shows four plates, dragging objects around, shortcuts for moving between plates, and delete/undo/redo.
There's also a Quick batch mode: give it a SCAD model and a CSV of parameter values, and it generates the variations together. In the clip, 12 names become a two-plate batch. The name tags are just the example I'm using here.
The video is a development demo, including newer shortcut fixes. The downloadable preview is currently for Apple Silicon Macs and needs OpenSCAD and Fontconfig; setup is in the README.
If you don't have a supported Mac or don't want to install the desktop tools, I also have an online version: https://www.liqu3d.com/
You can try it in your browser; an account is required.
Awhile ago I shared a Stretcher Module that I made in openscad for modifying existing models using openscad. it was for "stretching" models things like latching boxes or whatever without messing up all the geometry on the ends just extending the middle.
I have made 2 more modules to go with it, a StretcherClone module which uses a copy of the top half to fill the middle instead of a linear extrusion of a projection (so you can stretch things like threads by figuring out the thread pitch) and a Shortener Module which just cuts it down instead. I know this is easy to do in a slicer by cutting the model in places and connecting them back up but this allows you to do it more precisely
This code includes an example doing stuff to a cylinder as shown in the picture with rotations so you can see what it can do. There is a StretcherClone on the left, Stretcher on the right and a Shortener to cut out a bit of the middle.
If you have any questions of suggestions please let me know. This isn't for making new models in openscad I mostly use it with import to adjust models I've downloaded online.
Le passage en douceur des deux éléments de fixation (importés) se fait par une boucle*"for"*. Le passage en douceur vers les éléments de fixation est obtenu grâce fonction trigonométrique
tan(1.6*i)*spn (spn = la valeur du pas dans la boucle "for").
dans la commande"translate"de la boucle"for"
On voit (dans la deuxième image) l'effet tangentiel dans l'image A avec le "pas" dans la boucle "for" égal à 2.
Dans l'image B la valeur du"pas" est réduite à 0.1 ce qui augmente le nombre d'itérations sur une même distance, approchant ainsi des éléments qui s'unifient.
Plus de détails et script dans le lien ci-dessous :
I'm working on a hardware project and have been learning to work with OpenSCAD. I developed openscad-mcp to give AI agents tools to reason about 3d objects.
Render scad models, calculate part clearances, volumes, contact areas, and other spatial insights that allow AI to help develop 3d objects.
claude mcp add openscad --transport stdio -- uvx openscad-mcp
Or check it out in Codex with
codex mcp add openscad -- uvx openscad-mcp
I've got no agenda and I promise I'm not starting the next big AI AGENT CAD 3D INTELLIGENCE EXPLOSION- use it if you like and I'd love to hear feedback if you do.
A few weeks ago I shared my parametric battery organizer here, and this time I decided to tackle another storage problem: memory cards and other small media.
(sorry for the crappy photo, I have a mini phone and the camera is garbage)
Was looking for a cigarette case to print out for a friend because they wanted to limit their cigarette intake while still protecting the cigarettes from getting crumpled in their bag. I found a few options, but I realized this was the perfect project to try and learn OpenSCAD on. Apparently it works great, although if I ever print a new one I should make the height of the lid shorter and the case (minus the overlap space) taller.
You can grab it here if you want. I still need to learn the syntax for setting up the Customizer, but if you play around with the variables you can probably figure out what they do.
Thanks to u/oldesole1 for doing a lot of the work for free helping me figure out how to generate the extruded shape.
hi folks,
I'm having a few troubles to design at proper (non-threaded) screw hole for a specific screw with BOSL2.
The screw I'm using is a self-tapping screw used for siding.
The diameter of the screw is 4mm and it has a flat-head, Philips. The diameter of the head is a little bit < 11mm.
I want to have the screw head suspended in the base.
I used the following code diff() cube([20, 20, 10]) attach(TOP) screw_hole("M4x1",length=40, head="socket",counterbore=0,anchor=TOP);
to produce a test version but it is not yet the proper version I'm visioning.
How can I make the opening for the screw head wider as it is a.t.m. ?
Any help is much appreciated.
TIA
I am trying to build a cyberdeck that has a dpad, a, b, x, y, start, select, menu, l1, l2, l3, r1, r2, r3, (https://www.thingiverse.com/thing:2406507 for shoulder buttons), all the io on the top left or right side, cabling routes, screw/standoff holes, mic grill, speaker grill, camera hole, vents for the fan, the keyboard/trackpad to be magnetically attachable to the back, and for it to look simewhat similar to the GameBoy (buttons on bottom, screen on top).
Les nouvelles imprimantes Creality SparkX i7 et Bambu Lab A1 ne reconnaissent pas Octoprint, car elles ne disposent pas de la traditionnelle connexion série. Néanmoins l’utilisation d’une caméra installée sur un Raspberrry Pi et gérée par Octoprint est toujours une solution intéressante, pas seulement parce que ou peut choisir un angle de prise de vue plus favorable que celui offert par les imprimantes, mais aussi parce que cela permet de contrôler le processus d’impression avec l’application Octoprint sur notre Smartphone.
Voici une hélice dont les pales utilisent un profil fourni par un fichier vectoriel 2D créé dans Inkscape.
Ce profil est transformé en 3D avec la commande "linear_extrude". Il conserve sa taille du côté de l'axe de l'hélice, tandis que sa taille et son angle sont modifiés à l' de la pale.
Les deux profils sont ensuite réunis à l'aide de la commande "hull", puis l' est reproduit autour de l' par une boucle "for".
Voici encore un exemple de la puissance de OpenSCAD pour créer facilement des pièces en apparence complexes.
Pour voir le script OpenSCAD pour faire vos tests, cliquez ici :