RoadMap: Planned Features¶
CadQuery is not even close to finished!!!
Many features are planned for later versions. This page tracks them. If you find that you need features not listed here, let us know!
Core¶
- end(n)
- allows moving backwards a fixed number of parents in the chain, eg end(3) is same as end().end().end()
- FreeCAD object wrappers
- return CQ wrappers for FreeCAD shapes instead of the native FreeCAD objects.
- Improved iteration tools for plugin developers
- make it easier to iterate over points and wires for plugins
More parameter types (String? )
- face.outerWire
- allow selecting the outerWire of a face, so that it can be used for reference geometry or offsets
Selectors¶
- Chained Selectors
- Space delimited selectors should be unioned to allow multiple selections. For example “>Z >X”
- Ad-hoc axes
- for example, >(1,2,1) would select a face with normal in the 1,2,1 direction
- logic inversion
- ! or not to invert logic, such as ”!(>Z)” to select faces _other_ than the most z facing
- closest to point
- support faces, points, or edges closest to a provided point
- tagged entities
- support tagging entities when they are created, so they can be selected later on using that tag. ideally, tags are propagated to features that are created from these features ( ie, an edge tagged with ‘foo’ that is later extruded into a face means that face would be tagged with ‘foo’ as well )
Workplanes¶
- rotated workplanes
- support creation of workplanes at an angle to another plane or face
- workplane local rotations
- rotate the coordinate system of a workplane by an angle.
- make a workplane from a wire
- useful to select outer wire and then operate from there, to allow offsets
2-d operations¶
- offsets
- offset profiles, including circles, rects, and other profiles.
- ellipses
- create elipses and portions of elipses
- regular polygons
- several construction methods:
- number of sides and side length
- number of sides inscribed in circle
- number of sides circumscribed by circle
- arc construction using relative measures
- instead of forcing use of absolute workplane coordinates
- tangent arcs
- after a line
- centerpoint arcs
- including portions of arcs as well as with end points specified
- trimming
- ability to use construction geometry to trim other entities
- construction lines
- especially centerlines
- 2-d fillets
- for a rectangle, or for consecutive selected lines
- 2-d chamfers
- based on rectangles, polygons, polylines, or adjacent selected lines
- mirror around centerline
- using centerline construction geometry
- rectangular array
- automate creation of equally spread points
- polar array
- create equally spaced copies of a feature around a circle perhaps based on a construction circle?
- midpoint selection
- select midpoints of lines, arcs
- face center
- explicit selection of face center
- manipulate spline control points
- so that the shape of a spline can be more accurately controlled
- feature snap
- project geometry in the rest of the part into the work plane, so that they can be selected and used as references for other features.
- polyline edges
- allow polyline to be combined with other edges/curves
- create text
- ideally, in various fonts.
3-d operations¶
- rotation/transform that return a copy
- The current rotateAboutCenter and translate method modify the object, rather than returning a copy
- primitive creation
- Need primitive creation for:
- cone
- sphere
- cylinder
- torus
- wedge
- extrude/cut up to surface
- allow a cut or extrude to terminate at another surface, rather than either through all or a fixed distance
- extrude along a path
- rather than just normal to the plane. This would include
- STEP import
- allow embedding and importing step solids created in other tools, which can then be further manipulated parametrically
- Dome
- very difficult to do otherwise
- primitive boolean operations
- intersect
- union
- subtract
Algorithms¶
- Wire Discretization
- Sample wires at point interval to improve closet wire computations