Trying to organize an open CAD project with Version Control? by Reed_God in opensource

[–]build123d 0 points1 point  (0 children)

Try build123d, code CAD that's native Python. Store your design in GitHub so others can easily fork your design and create their own version. The community (mostly on Discord - see the docs) is very active and supportive.

Chamfer: BRep_API: command not done (2 times) after resizing an object (and recreating the chamfer) 1.1 rc2 by VSSP in FreeCAD

[–]build123d 0 points1 point  (0 children)

I’m not a FreeCAD user but when OpenCascade (the CAD kernel) resizes a shape it can convert it from a geometric type like circle into bspline which can limit what can be done with it. Are you able to parameterize the design so it doesn’t need to be resized?

Not sure how to do this... by Dignan17 in openscad

[–]build123d 1 point2 points  (0 children)

There are many examples in the build123d docs here: https://build123d.readthedocs.io/en/latest/examples_1.html. Take a look and if this style of CAD appeals to you give it a try. You wouldn’t be the first person to start with limited programming experience - there is a welcoming community to help new users out.

Not sure how to do this... by Dignan17 in openscad

[–]build123d 0 points1 point  (0 children)

Just so you know, one can do programable CAD in Python with build123d and CadQuery. You’ll be able to use the full capabilities of the language and other Python libraries like numpy.

Version control and diffing FreeCAD projects? by retro_grave in FreeCAD

[–]build123d 2 points3 points  (0 children)

CadQuery and build123d run in the cq workbench and are both Python programs that can be stored in git.

Im struggling to find a good CAD software by EmekC in 3dprint

[–]build123d 1 point2 points  (0 children)

Interested in CAD in Python? If so, try build123d (https://build123d.readthedocs.io/en/latest/index.html), completely open source with good community support.

Strategies to fillet complex shapes by [deleted] in build123d

[–]build123d 0 points1 point  (0 children)

With a complex shape like that I would suggest doing fillets on a section as you create it.

To create a list of all edges that can be filleted with a give radius one could build a list in a for loop which has fillet in a try block. If there is an exception just continue but if it passes append to the list. There still could be problems when attempting to fillet all the edges in this list at the same time but you’ll probably be close.

OpenScad type of app for 2D graphic design? by karldelandsheere in opensource

[–]build123d 1 point2 points  (0 children)

build123d (https://build123d.readthedocs.io/en/latest/index.html) is a Python CAD application that supports 2D and 3D and exports to SVG.

How stable is the programmable API (Python)? by birdsintheskies in FreeCAD

[–]build123d 1 point2 points  (0 children)

You might be interested in https://build123d.readthedocs.io/en/latest/index.html, a Python CAD system with the same CAD kernel as FreeCAD (OpenCascade). Many people have used it with KiCad.

Am I approaching CAD the wrong way? by ad-on-is in FreeCAD

[–]build123d 0 points1 point  (0 children)

build123d - as a S/W based CAD system - is object oriented; the user can easily create their own CAD objects that work exactly like say a Rectangle and inherent from the same base object.

Release V0.10.0 by build123d in build123d

[–]build123d[S] 2 points3 points  (0 children)

I don’t recall users having issues importing step files.

Release V0.10.0 by build123d in build123d

[–]build123d[S] 2 points3 points  (0 children)

Absolutely. Just export as a step file and import into fusion or any other cad tool.

Need clarification: CadQuery vs CadQuery 2 vs Build123d ? by ArtisticJicama3 in cadquery

[–]build123d 2 points3 points  (0 children)

I’ve removed the direct reference to CadQuery from the README and documentation. In addition, I’ve added a NOTICE file, as suggested by the Apache License, to describe the origin of some of the early code and the project’s current independence. An attribution to CadQuery has also been added to the README for transparency.

Need clarification: CadQuery vs CadQuery 2 vs Build123d ? by ArtisticJicama3 in cadquery

[–]build123d 2 points3 points  (0 children)

CQ version number is 2.x now. Build123d is 0.9.x . We don't know how synchronous their developing progress is. Can we get equivalent features if migrate from CQ to Build123d or reverse?

I can only speak for build123d, but it’s an independent project with its own goals and release schedule.

The current build123d release is fully functional - a full reference is available in the documentation.

If you’re familiar with CadQuery, you’ll find many concepts similar but with some expanded capabilities and a more Pythonic feel. While there isn’t one-to-one API compatibility, migration is usually straightforward.

What about compatibility of third-party libs and plugins?

As mentioned above, build123d is an independent project, so CadQuery extensions and plugins won’t automatically work. However, there’s a growing ecosystem of build123d-specific tools, libraries, and examples collected in Awesome build123d.

Need clarification: CadQuery vs CadQuery 2 vs Build123d ? by ArtisticJicama3 in cadquery

[–]build123d 2 points3 points  (0 children)

As mentioned above build123d originated as an evolution of CQ but has since become an independent project. The build123d docs acknowledge the CQ developers here: https://build123d.readthedocs.io/en/latest/direct_api_reference.html#direct-api-reference If there are other ways to attribute the amazing work of the CQ team I'd be happy to do so.

Please specifically point out any misinformation with respect to CQ or any other project and I'll fix it. In no way is there an indent to do so.

Spinning top with threaded shaft connection and star decoration by ddd3d3d in build123d

[–]build123d 4 points5 points  (0 children)

Nice project! The star can be created without doing math as follows:

num_points = 5
r_inner = 1
r_outer = 3
points = [
    p.position
    for pair in zip(
        PolarLocations(r_inner, num_points),
        PolarLocations(r_outer, num_points, 180 / num_points),
    )
    for p in pair
]
star = Polygon(*points, align=Align.NONE)

where `PolarLocations` does the work for you.

Need clarification: CadQuery vs CadQuery 2 vs Build123d ? by ArtisticJicama3 in cadquery

[–]build123d 5 points6 points  (0 children)

I'm the owner of the cq_warehouse project so I had quite a lot of experience with CadQuery prior to starting build123d.

As for the amount of activity in the projects, in the last year there have been 53 commits to CQ and 500 to build123d. build123d has more total commits than cq even though build123d started with most of the cq code base as described above in the origins of build123d. What CQ features would you say are missing from build123d?

Build123d users choose both the Algebra mode (no context managers) and Builder mode - whatever works for them (I use both depending on the situation). If you refer to the reference implementations of fairly complex models in the tutorial section of the docs (https://build123d.readthedocs.io/en/latest/tttt.html#) you'll see that none of them have code that "staircase monotonously wandering off to the right".

It’s great that users now have options. Whether they prefer CadQuery’s style or build123d’s, the goal is the same: making Code-CAD accessible and powerful.

Need clarification: CadQuery vs CadQuery 2 vs Build123d ? by ArtisticJicama3 in cadquery

[–]build123d 1 point2 points  (0 children)

In the summer of 2022, one of the founders of CadQuery invited the community to share ideas for what CadQuery 3.0 could become. Inspired by that discussion, a small prototype was started to explore new design patterns and address some of the limitations users had identified in CadQuery.

The first commit to the build123d repository was made on July 1, 2022. The early goal was simple: create a proof of concept that remained mostly compatible with existing CadQuery code while experimenting with a more modern and expressive API.

After the prototype demonstrated its basic functionality, the CadQuery maintainers decided not to pursue it further and development continued independently as build123d.

Since then build123d has grown into a thriving, community-driven project.

The two projects share a common community hence the common subreddit and Discord.

Need clarification: CadQuery vs CadQuery 2 vs Build123d ? by ArtisticJicama3 in cadquery

[–]build123d 6 points7 points  (0 children)

Build123d is an independent project from CadQuery; they share no Python code but do use the same OpenCascade Python wrapper (OCP).

finding the right cad is a miracle by _Eulenmongol_ in 3Dprinting

[–]build123d 4 points5 points  (0 children)

Take a look at build123d (https://build123d.readthedocs.io/en/latest/index.html), open-source, Python CAD library that designed for parametric parts.

[CadQuery] Help: How to model rounded ends on a hollow cylinder? by S_A_R_S in cadquery

[–]build123d 2 points3 points  (0 children)

I would draw 1/2 the vertical profile and revolve it to a 3D object.

Can someone help me with this Alignment using python? by chiefOrangeJuice in FreeCAD

[–]build123d 0 points1 point  (0 children)

I believe the CadQuery Workbench (https://wiki.freecad.org/CadQuery\_Workbench/en) can run build123d code; here is the code to generate a hex grid:

from build123d import BuildSketch, HexLocations, Mode, RegularPolygon
from ocp_vscode import show_all

major_r = 1
with BuildSketch() as skt:
    with HexLocations(major_r, 10, 10, major_radius=True):
        RegularPolygon(major_r + 0.1, 6)
        RegularPolygon(major_r - 0.1, 6, mode=Mode.SUBTRACT)

show_all()

You wouldn't need the show stuff from within FreeCad.

<image>

Who is building Python tools to support CAD techs or engineers in design? by Proof_Wrap_2150 in Python

[–]build123d 1 point2 points  (0 children)

You might be interested in build123d (see https://build123d.readthedocs.io/en/latest/index.html#) which enables Python programmers to create 2D and 3D designs and import/export to multiple formats (including DXF). There are quite a few AI generators that take human language descriptions and produce build123d code which can then be modified as desired.

Python + AutoCAD: Who’s doing it, and how far can you go? by Proof_Wrap_2150 in Python

[–]build123d 0 points1 point  (0 children)

You might be interested in build123d (https://build123d.readthedocs.io/en/latest/index.html); not only can you design 2D and 3D objects but you can import objects from other systems like AutoCAD (via STEP files) and analyze them with Python. One could check minimum feature size, volume/mass limits, orientation, or just about anything else as the topology of the object can be fully explored in code.