167 lines
4.3 KiB
ReStructuredText
167 lines
4.3 KiB
ReStructuredText
.. _roadmap:
|
|
|
|
|
|
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
|
|
|
|
|