openscad | OpenSCAD - The Programmers Solid 3D CAD Modeller | 3D Printing library

 by   openscad C++ Version: openscad-2021.01 License: Non-SPDX

kandi X-RAY | openscad Summary

kandi X-RAY | openscad Summary

openscad is a C++ library typically used in Modeling, 3D Printing applications. openscad has no bugs and it has medium support. However openscad has 3 vulnerabilities and it has a Non-SPDX License. You can download it from GitHub, GitLab.

OpenSCAD is a software for creating solid 3D CAD objects. It is free software and available for Linux/UNIX, MS Windows and macOS. Unlike most free software for creating 3D models (such as the famous application Blender), OpenSCAD focuses on the CAD aspects rather than the artistic aspects of 3D modeling. Thus this might be the application you are looking for when you are planning to create 3D models of machine parts but probably not the tool for creating computer-animated movies. OpenSCAD is not an interactive modeler. Instead it is more like a 3D-compiler that reads a script file that describes the object and renders the 3D model from this script file (see examples below). This gives you, the designer, complete control over the modeling process and enables you to easily change any step in the modeling process or make designs that are defined by configurable parameters. OpenSCAD provides two main modeling techniques: First there is constructive solid geometry (aka CSG) and second there is extrusion of 2D outlines. As the data exchange format for these 2D outlines Autocad DXF files are used. In addition to 2D paths for extrusion it is also possible to read design parameters from DXF files. Besides DXF files OpenSCAD can read and create 3D models in the STL and OFF file formats.

            kandi-support Support

              openscad has a medium active ecosystem.
              It has 5658 star(s) with 1105 fork(s). There are 248 watchers for this library.
              It had no major release in the last 12 months.
              There are 748 open issues and 1919 have been closed. On average issues are closed in 135 days. There are 133 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of openscad is openscad-2021.01

            kandi-Quality Quality

              openscad has 0 bugs and 0 code smells.

            kandi-Security Security

              openscad has 3 vulnerability issues reported (0 critical, 2 high, 1 medium, 0 low).
              openscad code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              openscad has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              openscad releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              It has 2350 lines of code, 76 functions and 32 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of openscad
            Get all kandi verified functions for this library.

            openscad Key Features

            No Key Features are available at this moment for openscad.

            openscad Examples and Code Snippets

            No Code Snippets are available at this moment for openscad.

            Community Discussions


            Make a solid mockup from an assembly in solidworks aka a shrinkwrap
            Asked 2022-Mar-30 at 09:25

            I have a complex assembly that I want to make a 3d printed mockup from. I don't want to have the 3d printer wasting tons of time and filament drawing in every shaft, bearing etc..

            Is there a way to make the entire assembly into a single solid (or better still a hollow shell)?

            Drawing is here


            Attempts so far -

            1. extracted model to STL and passed it to - but UI is confusing and I can't see how to download the shrink-wrapped model

            2. extracted stl and imported it into OpenSCAD - used difference function to "scoop out" the insides (specifically the heat exchanger, bearings and bolts) - render to stl - this was the first one to drop below 1kg of filament - I think there is something better, but this is what I went with 865g, 3+ days of printing :) lets hope no errors



            Answered 2022-Mar-21 at 00:55

            You can save an assemnly file into part file in Solidworks, just use save as, then select "part".

            But your actual goal is to "save filament", the 3D print software should have a setting for that, it usually name as "Infill Percentage", or infill density. Set this to 100% mean fill all volume with plastic, set it to a value that you think it has right balance between filamenet and strenth.

            You should be able to set the patterns as well.

            Some reference picuture are like: enter image description here



            openscad- use named variables in polygon points list?
            Asked 2022-Mar-14 at 06:18

            I'm quite new to Openscad and have made a small program to create an instrument box with a sloping front. This now works quite nicely, so I want to "paramaterise" the size of the box & display cut-out so there's less mental gymnastics needed to make different size boxes..

            What I have tried (and it doesn't work) is this (in part)- First the list of parameters for the outer shell of the box-



            Answered 2022-Mar-14 at 06:18

            The points parameter of polygon has to be a vector of 2 element vectors (x- and y-value). So write your code this way:



            OpenSCAD Variable not accumulating
            Asked 2021-Aug-28 at 16:56

            I am fairly new to OpenSCAD and I've run into an issue that I don't understand. In the following snippet, the variable "ofs" is not accumulating from the previous value of the 'for' iteration.



            Answered 2021-Aug-28 at 07:22

            A very partial answer: As mentioned in the documentation,

            variables are bound to expressions and keep a single value during their entire lifetime

            they are like constants. So you can't use a for loop they way you think.

            I do not have the answer. You will probably have to find a smart, vector-based way to prepare the your [5,7,12,13] vector. Maybe if you decribe how you construct your initial vector, I could assist with ideas. Or you can just wait for an answer from a more experienced user :)



            Adding an angle / angle profile to openscad barbed object
            Asked 2021-Aug-20 at 00:42

            I have a openscad object that I would like to add an angle / angled profile to the bottom of a barbed object all the way around.

            Original (what's currently created):

            What I would like: (have the bottom all the way around not be flat but at an angle / angle profile like 45,50,60...)




            Answered 2021-Aug-18 at 20:48

            just move the inner upper point of the barb- resp. the inner lower point of the rib-polygons (the y-value of the second point). To do this calculate the z-delta by tangens of the desired angle. The code can be simplified by creating modules for barbs and ribs and placing them in for loops, here the modified code:



            Breaking Down 3D models up to lines and curves
            Asked 2021-May-28 at 23:25

            I'm working on a project to breakdown 3D models but I'm quite lost. I hope you can help me.

            I'm getting a 3D model from Autodesk BIM and the format could be native or generic CAD formats (.stp, .igs, .x_t, .stl). Then, I need to "measure" somehow the maximum dimensions to model a raw material body, it will always have the shape of a huge panel. Once I get both bodies, I will get the difference to extract the solids I need to analyze; and, on each of these bodies, I need to extract the faces, and then the lines or curves of each face.

            This sounds something really easy to do on a CAD software, but the idea is to automate this process. I was looking into openSCAD, but seems that works only to model geometry and it doesn't handle well imported solids. I'm leaving a picture with the idea of what I need to do in the link below.

            So, Any idea how can I do this? which langue and library can help in this project?



            Answered 2021-Feb-19 at 10:55

            I can see this automation possible with a few in between steps:

            1. OpenSCAD can handle differences well, so your "Extract Bodies" seems plausible

            1.5 Before going further, you'll have to explain how you "filtered out" the cylinder. Will you do this manually? If you don't, you will have it considered for analysis and have a lot of faces as a result.

            1. I don't think openSCAD provides you a vertex array. However, it can save to .STL, which is kinda easy to parse with the programming language of your choice, you'll have to study .stl file structure a bit (this sounds much more frightening than it is - if you open an stl with an editor you will probably immediately realize what's happening).

            Since you've parsed the file, you can now calculate lines with high school math.

            This is not an easy, GUI way to do what you ask, but if you have a few skills you'll have your automation, and depending on the amount of your projects it may be worth it.



            OpenScad - How to find Robotic Arm Nodes Coordinates after Rotations - 5 axis
            Asked 2021-Jan-29 at 14:27

            I found the coordinates of 2 nodes out of 3. I need to find the last coordinate, that of the aqua colored sphere. Here is my code. Can someone help me? Thanks

            Enable Animation to view it in moviment - FPS:30 STEPS:300




            Answered 2021-Jan-29 at 14:27

            This is my answers to my question, with some simplification.



            design of an o-ring groove in Openscad?
            Asked 2021-Jan-24 at 16:32

            trying to work out how to design an o-ring groove in openscad.. Wondering if anyone has built something in this space? I can see that I need to do a difference to a rotate_extrude of a square to cut the groove.. but not sure on the equation.




            Answered 2021-Jan-24 at 16:32

            I liked this image of a groove I found here. The groove is L x G in dimensions.

            First of all I've written down a cross-section and I've labeled the important dimensions:

            On the left, the groove sits in the interior side of the cylinder cross-section. On the right, the groove sits on the exterior of the cylinder cross-section.

            Now we're able to use rotate_extrude in order to generate the solid with the require groove on it.

            I'll add the code for the interior_groove here:



            Create a simple cylinder using command-line FreeCAD
            Asked 2020-Feb-17 at 22:13

            I would like to create a simple pillar in FreeCAD using python and the export it as .stl file

            What have I done so far?

            1. Recorded a macro of me creating a cylinder (Part) and exporting it as an stl file.

            2. I copy and paste the text from the macro into a python file, which I named ""

            Here is the code:



            Answered 2020-Jan-28 at 10:23

            In the workbench Part click on the cube icon Part Cylinder.png. The default is for a full cylinder to be positioned, the centre of one circular face coincident with the global origin (point 0,0,0), with a radius of 2mm and height of 10mm.


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install openscad

            You can download the latest binaries of OpenSCAD at Install binaries as you would any other software. When you open OpenSCAD, you'll see three frames within the window. The left frame is where you'll write code to model 3D objects. The right frame is where you'll see the 3D rendering of your model.


            Have a look at the OpenSCAD Homepage ( for documentation.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Reuse Pre-built Kits with openscad

            Consider Popular 3D Printing Libraries


            by OctoPrint


            by openscad


            by YadiraF


            by prusa3d


            by openMVG

            Try Top Libraries by openscad


            by openscadC


            by openscadHTML


            by openscadRuby


            by openscadTypeScript


            by openscadPython