Kernel R38 Road Map

This is a list of the feature for the new kernel of PythonCAD I would like to have those features done for the end of 2010

Geometrical entity:

  • Segment
  • Arc/Circle
  • Polyline
  • Conic (Ellipse/Hyperbole..)
  • Polygon
  • Point
  • Nurbs (Not sure for R38)

Drawing Entity:

  • Dimension
  • Arrow
  • Label
  • Text
  • Titleblock

Entity Style:

  • color
  • linetype

Composed Entity:

  • Layer
  • Block(group)
  • Hatch

External Format:

  • Import\Export DWG using LibreDWG
  • Import\Export DXF file
  • Import\Export SVG file (Not sure for R38)
  • Integration with sympy object via python interactive

Other Feature:

  • Block repository
  • Api Interface for fast develop from external program
  • Easy extension mechanism for developing custom command

Interface R38 Road Map

General goal is to provide interface for every kernel object and to make the program as intuitive as possible.

PythonCAD window behavior

  • make the window remember position of toolbars when the worksession is ended
  • updating the statusbar so it will display coordinates and allow to set basic drawing tools (such snap,ortho and grid)

Drawing area

Selection (emulate standard CAD selection methods):

  • “click and drag” from left to right: draw a rectangle that select included entities
  • “click and drag” from right to left: draw a cross selection rectangle
  • alt+“click and drag” could draw a freehand line selecting crossed entities like the one inkscape have (maybe postdated)
  • shift+select add object to current selection set

User Keyboard Input:

  • allow entering absolute cartesian coordinates
  • allow entering relative cartesian coordinates from last point
  • allow entering absolute polar coordinates
  • allow entering relative polar coordinates
  • allow to directly type the distance of a segment (angle will be setted by mouse position)
  • using shortcuts to start commands

Make every object and command work with preview too

Implementing snap marks

Implementing tracking marks for ortho mode


  • creating a basic dialog for printing
  • allowing to set printing scale
  • creating basic support for ISO page layouts

User Preferences

  • units setup (for distances, but mainly for angles, so we don't have to type them in radians)
  • settings for main application behavior
  • settings for main application appearence
  • settings storage in local user directory

Command Check list R37->R38 Migration

This table show the present development process of R38 compared with the R37 We update this table as soon we deliver a new functionality..

Fell free to add some feature ..if you think that it miss in the new implementation

  • x = is now supported and we have made some test on it
  • d = under develop unstable not tested
  • o = need to be develop
  • n = we have no plan to develop such a feature

Entity Table

Entity/Feature supported from the kernel of PythonCad

Feature R37R38 Note
Point x xIn R38 we do not have the point squere for the endpoints
Segment x xSome as R37
Circle x xNow the circle is an arc
Arc x x
Ellipse n xwe do not support open ellipse right now and the ellipse is only oriented on real x,y axis
ACLine xn merge with CCLine
HCLine xn merge with CCLine
VCLine xn merge with CCLine
CLine xx
CCircle xx
Chamfer xx Improved with trimm mode
Fillet xxsame functionality as R37 need to be improved to work with line to circle line to ellipse
Bisector ox
Trim oxWork only with segment
Rectangle xx
Polygon xx
Dimension xo
Arrow xo
Polyline xx
Text xxNeed to be finish implemented miss style property and text position
Welding simbol no
Nurbs no
Hatch no
Titleblock no
Reflect entity nxWe have some limitation mirrorin ellipse and text
Traslate entity xx
Rotate entity xxWe have some limitation with ellipse and text
Copy entity xx
Pattern an entityod

Application Command

Feature R37R38 KernelR38 User InterfaceR38 User Command Note
New Document x xx x
Open Document x xx x
Close Document x xx x
SaveAs Document x xx x
Undo x xx x
Redo x xx x
Jump On Undo o oo o
LayerTree x xx o
DeleteLayer x xo o
CreateLayer x xo o
Print x xx x
Import Dxf o xx x
Export Dxf o oo o
Import Pythoncad File o oo o
Style x xx o Partially supported need more develop
Settings x xo o Partially supported need more develop

Entity operation Support

Feature tangent intersection Note

Dxf Support

Feature Reading Writing Note
TextxoNot fully supported
Style/ColorooNot fully supported

r38_roadmap.txt · Last modified: 2010/12/01 22:16 by carlopav