Skip to content

[FEATURE][KiCAD 9] New 3d render #845

@andersruneson

Description

@andersruneson

Is your feature request related to a problem? Please describe.
I've briefly tested the kicad 9 cli pcb render and found it really good, it probably does what the render-3d output already does but without gui (I'm guessing the render-3d output did open the 3d-viewer and clicked around for the settings).

Sorry if this is already implemented, I looked through the outputs and found render-3d (deprecated), blender (complex setup) and export-3d (3d-models).

Describe the solution you'd like
Implement the new render 3d with kicad-cli.

Describe alternatives you've considered

  • The blender output has a big warning "This output is complex to setup and needs very big dependencies."
  • render-3d is depricated
  • export-3d does not export images from what I can tell

Additional context
Commandline options here:

Usage: render [--help] [--output OUTPUT_FILE] [--define-var KEY=VALUE] [--width WIDTH] [--height HEIGHT] [--side SIDE] [--background BG] [--quality QUALITY] [--preset PRESET] [--floor] [--perspective] [--zoom ZOOM] [--pan VECTOR] [--pivot PIVOT] [--rotate ANGLES] [--light-top COLOR] [--light-bottom COLOR] [--light-side COLOR] [--light-camera COLOR] [--light-side-elevation ANGLE] INPUT_FILE

Renders the PCB in 3D view to PNG or JPEG image

Positional arguments:
  INPUT_FILE              Input file 

Optional arguments:
  -h, --help              Shows help message and exits 
  -o, --output            Output file [nargs=0..1] [default: ""]
  -D, --define-var        Overrides or adds project variables, can be used multiple times to declare multiple variables.
                          Use in the format of '--define-var key=value' or '-D key=value' [nargs=0..1] [default: {}]
  -w, --width             Image width [nargs=0..1] [default: 1600]
  -h, --height            Image height [nargs=0..1] [default: 900]
  --side                  Render from side. Options: top, bottom, left, right, front, back [nargs=0..1] [default: "top"]
  --background            Image background. Options: default, transparent, opaque. Default: transparent for PNG, opaque for JPEG [nargs=0..1] [default: ""]
  --quality               Render quality. Options: basic, high, user [nargs=0..1] [default: "basic"]
  --preset                Color preset. Options: follow_pcb_editor, follow_plot_settings, legacy_preset_flag, ... [nargs=0..1] [default: "follow_plot_settings"]
  --floor                 Enables floor, shadows and post-processing, even if disabled in quality preset 
  --perspective           Use perspective projection instead of orthogonal 
  --zoom                  Camera zoom [nargs=0..1] [default: 1]
  --pan                   Pan camera, format 'X,Y,Z' e.g.: '3,0,0' [nargs=0..1] [default: ""]
  --pivot                 Set pivot point relative to the board center in centimeters, format 'X,Y,Z' e.g.: '-10,2,0' [nargs=0..1] [default: ""]
  --rotate                Rotate board, format 'X,Y,Z' e.g.: '-45,0,45' for isometric view [nargs=0..1] [default: ""]
  --light-top             Top light intensity, format 'R,G,B' or a single number, range: 0-1 [nargs=0..1] [default: ""]
  --light-bottom          Bottom light intensity, format 'R,G,B' or a single number, range: 0-1 [nargs=0..1] [default: ""]
  --light-side            Side lights intensity, format 'R,G,B' or a single number, range: 0-1 [nargs=0..1] [default: ""]
  --light-camera          Camera light intensity, format 'R,G,B' or a single number, range: 0-1 [nargs=0..1] [default: ""]
  --light-side-elevation  Side lights elevation angle in degrees, range: 0-90 [nargs=0..1] [default: 60]

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions