Not sure if this goes beyond template capabilities and i am sorry if it is too elaborate. It seems like a good place and moment to finally sum these up. Been missing these features in Blender from the beginning, and i feel if they would be added to this already awesome app, it’s capabilities and user base would go sky high. And i feel most of them have their base already set up. Also thanks to Mike for this thread.
If it is possible in this step or in some future development, by the core team or addon enhancements, the CAD template would be nice to have:
- LINE + SHADOW VIEWPORT MODE
A cleaner, simplified geometry look with sharp edges and contours. Excellent for better geometry overview and dimensioning. Also encouraging love for precision design.
Some sort of openGL textured diffuse shade with wire overlay and simplified shadow engine. Wires excluded between coplanar faces. With Mike Erwin’s wireframe efforts and worbench shadow engine, seems reachable.
EXMP - link 1, link 2, link 3
- UNITS
An overall unit toggle with forced units and precision control
Metric: choose between nm, micrometer, mm, cm, m, km
Imperial: inches, feet…
Angle: degrees, radians…
Option to force units (654.20 cm instead of 6m 54cm 2mm)
If possible, avoid scene scaling and scaling of objects when changing units. Only changing dimensioning and tool units. Right now a unit toggle exists but it causes some issues in other parts of blender.
No need for CAD float point precision, the current blender precision is enough.
EXMP - standard CAD apps / SketchUp / mauge’s effort on mechanical blender branch, only without scene scaling
- SNAP
Very important and standard CAD feature, enhancing blender’s existing snapping capabilities
Endpoint, midpoint, perpendicular, extension, centre, nearest on edge, nearest on face
EXMP - standard CAD apps / SketchUp / mauge’s mechanical blender / great python implementation by mano-wii, although limited to local mesh
- LAYERS
Upgraded layer system with naming / locking / visibility / selection and basic object properties override toggle
As far as i know, this is already being worked on, and on a much higher level
EXMP - standard CAD apps / SketchUp
- BASIC LINE AND SHAPE DRAWING
Very important, if possible with snap
Polyline with straight and arc segments, rectangle, circle, polygon, bezier (but like real drawing, similar to Inkscape)
Usable for making shapes and geometrical bodies from blueprints, elements for extrusion and boolean operations
EXMP - standard CAD apps / SketchUp / Inkscape in 2D / i also tried to make something similar for blender
- MODAL 3D PRIMITIVES
Box, prism, pyramid, cylinder, cone, sphere
Something like add-mesh primitives, only upgraded - in situ (without the need for 3d cursor), modal generation, with snap and numerical input
EXMP - 3DMax / you can also check my NP_float_box for in situ generation
- GROUPING
A standard grouping system, with instancing and simpler instancing procedures. Something like described here.
EXMP - SketchUp has a great implementation of this / Inkscape also has a nice grouping system
- TRANSFORMATIONS USING BASEPOINT SNAP
Standard CAD procedures, eliminating the existing need for post operator adjustments
Move, copy, rotate, scale, stretch, mirror, array, trim, offset, fillet
EXMP - standard CAD apps / SketchUp / mechanical blender branch / some of my NP addons
- A ROBUST AND FAST VIEWPORT MEASURING TOOL
Very useful during modelling, without the need to use the eventual dimensioning system
EXMP - CAD’s distance tool / SketchUp’s tape measure tool / also NP_point_distance
- DIMENSIONING
Fast, modal, openGL dimensioning in object mode, with snap, viewport and Cycles overlay if possible
EXMP - standard CAD apps / SketchUp, without overlay over PBR / Measure it by Antonioya but limited in UI
- MATERIALS
Better shader management in viewport. Mainly - transferring materials between objects in a fast and intuitive way.
EXMP - SketchUp’s paint bucket / you can also check my NP_shader_brush
- PLANE CONTROLLED SECTIONING
Very important for design overview and client presentation
Like a bisect operator on a scene level or some sort of controlled view clipping in an orthogonal or arbitrary plane
Similar effect can be achieved with alt+B, but is not elegant and not possible with Cycles
EXMP - link 1, link 2, link 3
- IMPORTING 2D - DXF, SVG and 3D - OBJ, 3DS, FBX
This is already working quite good with addons from various users
- ORTHOGONAL / ARBITRARY VIEW EXPORT to SVG / PDF / DXF
A complex and very needed feature for technical and product design, right now probably far away down the road
Output is a technical vector drawing with dimensions and annotations, a hint of BIM workflow
Dimensioning system really comes to shine here
Some capabilities already exist through freestyle, svg addons and hacks but it is basic and messy
EXMP - Revit / ArchiCAD / FreeCAD & Fluid Designer on a basic level
- PYTHON API BINDING
Adopted from from RickyBlender’s list. It is fair to say many of the features i’ve mentioned can’t be implemented at the moment. Giving the power to the users to continue the effort and build addons upon new 2.8 features seems like a good strategy.
EXMP - python access to snapping, viewport and rendering settings, manipulators and better macro and BGL documentation
Ok, i think i’m good untill june now…