Hi Todd, and welcome to the community.
> A couple features I use a lot that I don't see in CadQuery are fillets for line sketches and subtractive (and intersection) combining of objects. Sweep extrusions I'd also find useful. Eventually, I'd also be interested in joints/assemblies, constrained motion and animation. Before jumping in, I wanted to be sure of what is missing and not currently being worked on by anyone else. And I'd welcome any advice as to how I should proceed and get started. I've got a working install of the CadQuery Module for FreeCAD under Ubuntu 15.04 and have looked at and played with most of the examples.
Line sketching is tough in CadQuery. There is no 2D fillet feature, and complex sketches are tedious. We've talked about tying to improve that directly in CadQuery, or maybe just make it easier to import 2D sketches to build off of.
CadQuery can combine objects, but it's not very strong at all on boolean operations.
Sweep extrusion is on the To-Do list, but I'm not sure when it will get implemented.
It will probably be a long time before joints/assemblies, constrained motion and animation are implemented, if they get done at all. I don't think anyone would be opposed to those being added, we are just focused on other things.
About the error you're getting - What version of FreeCAD are you running? I'm guessing your error is related to this issue. https://github.com/dcowden/cadquery/issues/135
I've never tried Wing101. I've been using PyCharm for CadQuery development, and like it. Use whatever works for you though.
After reading up on Python ide's I decided to give the free wing101 a try. It was easy to use and let me do breakpoint debugging. Anyway the 3 test functions that abort with a segfault all call mirrorY() or mirrorX() and I think those calls are doing something to the model that later causes a crash in getSVG(). With an uncaught segfault there's no stack trace after the crash making homing in on the exact issue a bit tedious, but I can do so later after some sleep if needed. I also remember when running the examples, I wasn't getting a crash from Ex009_Polylines.py which creates an IBeam using mirroring like the crashing test functions, but the resulting object rendered weird like maybe some faces had inverted or bad normals.
--
cadquery home: https://github.com/dcowden/cadquery
post issues at https://github.com/dcowden/cadquery/issues
run it at home at : https://github.com/jmwright/cadquery-freecad-module
see it in action at http://www.parametricparts.com
---
You received this message because you are subscribed to the Google Groups "CadQuery" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cadquery+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cadquery/22de3c41-415f-4388-992a-da4ad3419cac%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Yes, @Todd, the tests should be passing... Certainly there shouldn't be segfaults!
In addition to the issue Jeremy pointed out, there are a couple of tests that print out stack traces while they are asserting error behavior, and we have talked about removing them so it doesn't look like a failure when the tests run. But without a doubt they should be passing.
To view this discussion on the web visit https://groups.google.com/d/msgid/cadquery/CAO9BemgQaqN-MwdSUdVN2jC6A4zXSoQg2_a%3DREG%3DO%2B9cd%2Bb54w%40mail.gmail.com.
I use the FreeCAD stable and daily PPAs since the version of FreeCAD in the Ubuntu repos is always woefully out of date.
Stable: https://launchpad.net/~freecad-maintainers/+archive/ubuntu/freecad-stable
Daily: https://launchpad.net/~freecad-maintainers/+archive/ubuntu/freecad-daily
I run off the daily PPA unless they break something major, them I roll back to stable.
It's fairly easy to use CadQuery's selectors to select edges and then fillet them after extrusion.
However, it sounds like that no matter what, you would want advanced 2D features anyway.
To view this discussion on the web visit https://groups.google.com/d/msgid/cadquery/85d7cc80-cf76-4f22-8aa4-8e75eb87923a%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cadquery/011f7275-0984-46d3-ba15-ea012103e49d%40googlegroups.com.
The module (CFM) includes CadQuery as a git subtree, so I'm theory, you should be able to do all your branching inside CFM.
https://medium.com/@v/git-subtrees-a-tutorial-6ff568381844#.rj1vnis8q
I've never tried setting up a pull request that way though.
I created a script to set up an OCE/PythonOCC development environment. You can specify the version tag name, and comment out the installation steps for PythonOCC. You should be able to add any compilation options you need too.
To view this discussion on the web visit https://groups.google.com/d/msgid/cadquery/b7baf164-756a-43d0-b80c-d96ee69893f7%40googlegroups.com.
| pts = [ | |
| (0, H/2.0), | |
| (W/2.0, H/2.0), | |
| (W/2.0, (H/2.0 - t)), | |
| (t/2.0, (H/2.0-t)), | |
| (t/2.0, (t - H/2.0)), | |
| (W/2.0, (t - H/2.0)), | |
| (W/2.0, H/-2.0), | |
| (0, H/-2.0) | |
| ] | |
| result = cadquery.Workplane("front").polyline(pts).fillet(bendRadius ) |
--
cadquery home: https://github.com/dcowden/cadquery
post issues at https://github.com/dcowden/cadquery/issues
run it at home at : https://github.com/jmwright/cadquery-freecad-module
see it in action at http://www.parametricparts.com
---
You received this message because you are subscribed to the Google Groups "CadQuery" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cadquery+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cadquery/68efa148-d271-47f8-9bcc-dd39faa048cc%40googlegroups.com.
The 'secret sauce' in your code is really this line:wire = DraftGeomUtils.filletWire(Part.Wire(edges), bendRadius)which i assume fillets all of the corners to a given radius.
As far as bluesky ambitious dreaming, I didn't see much in the documented portion of the FreeCAD API for assembly and animation. However, there is the robot workbench which hopefully contains API like primitives for those purposes but that can wait a while.