bernhard-42 / vscode-cadquery-viewer

A viewer for CadQuery integrated into VS Code based on three-cad-viewer
Apache License 2.0
7 stars 1 forks source link

OCP CAD Viewer for VS Code

The viewer has been migrated to OCP CAD Viewer for VS Code

To make clear that it is not only for cadquery, but all OCP based code CADs, e.g. build123d

OCP CAD Viewer for VS Code is an extension to show CadQuery and build123d objects in VS Code via three-cad-viewer

Installation

Prerequisites

Steps:

Installation

Usage

Using with VS Code Run menu

Use with run

Using with IPython extension

Use with run

Downloading examples

Use with run

(Experimental) Install build123d snippets

OCP CAD Viewer for VS Code allows to install a code-snippets file for build123d:

Use snippets

show

show(*cad_objs, names=None, colors=None, alphas=None, port=None, **kwargs):

Parameters:

Show CAD objects in Visual Studio Code

Parameters
- cad_objs:          All cad objects that should be shown as positional parameters

Keywords for show:
- names:             List of names for the cad_objs. Needs to have the same length as cad_objs
- colors:            List of colors for the cad_objs. Needs to have the same length as cad_objs
- alphas:            List of alpha values for the cad_objs. Needs to have the same length as cad_objs
- port:              The port the viewer listens to. Typically use 'set_port(port)' instead

Valid keywords to configure the viewer (**kwargs):
- axes:              Show axes (default=False)
- axes0:             Show axes at (0,0,0) (default=False)
- grid:              Show grid (default=False)
- ticks:             Hint for the number of ticks in both directions (default=10)
- ortho:             Use orthographic projections (default=True)
- transparent:       Show objects transparent (default=False)
- default_color:     Default mesh color (default=(232, 176, 36))
- reset_camera:      Reset camera position, rotation and zoom to default (default=True)
- zoom:              Zoom factor of view (default=1.0)
- default_edgecolor: Default mesh color (default=(128, 128, 128))
- render_edges:      Render edges  (default=True)
- render_normals:    Render normals (default=False)
- render_mates:      Render mates (for MAssemblies)
- mate_scale:        Scale of rendered mates (for MAssemblies)
- deviation:         Shapes: Deviation from linear deflection value (default=0.1)
- angular_tolerance: Shapes: Angular deflection in radians for tessellation (default=0.2)
- edge_accuracy:     Edges: Precision of edge discretization (default: mesh quality / 100)
- ambient_intensity  Intensity of ambient ligth (default=1.0)
- direct_intensity   Intensity of direct lights (default=0.12)

show_object

The command support the CQ-Editor parameters obj, name and options plus additional viewer specific args:

show_object(obj, name=None, options=None, port=None, **kwargs)

Parameters:

Incrementally show CAD objects in Visual Studio Code

Parameters:
- obj:              The CAD object to be shown

Keywords for show_object:
- name:             The name of the CAD object
- options:          A dict of color and alpha value: {"alpha":0.5, "color": (64, 164, 223)}
                    0 <= alpha <= 1.0 and color is a 3-tuple of values between 0 and 255
- parent:           Add another object, usually the parent of e.g. edges or vertices with alpha=0.25
- clear:            In interactice mode, clear the stack of objects to be shown
                    (typically used for the first object)
- port:             The port the viewer listens to. Typically use 'set_port(port)' instead

Valid keywords to configure the viewer (**kwargs):
- axes:              Show axes (default=False)
- axes0:             Show axes at (0,0,0) (default=False)
- grid:              Show grid (default=False)
- ticks:             Hint for the number of ticks in both directions (default=10)
- ortho:             Use orthographic projections (default=True)
- transparent:       Show objects transparent (default=False)
- default_color:     Default mesh color (default=(232, 176, 36))
- reset_camera:      Reset camera position, rotation and zoom to default (default=True)
- zoom:              Zoom factor of view (default=1.0)
- default_edgecolor: Default mesh color (default=(128, 128, 128))
- render_edges:      Render edges  (default=True)
- render_normals:    Render normals (default=False)
- render_mates:      Render mates (for MAssemblies)
- mate_scale:        Scale of rendered mates (for MAssemblies)
- deviation:         Shapes: Deviation from linear deflection value (default=0.1)
- angular_tolerance: Shapes: Angular deflection in radians for tessellation (default=0.2)
- edge_accuracy:     Edges: Precision of edge discretization (default: mesh quality / 100)
- ambient_intensity  Intensity of ambient ligth (default=1.0)
- direct_intensity   Intensity of direct lights (default=0.12)

Example

import cadquery as cq
from ocp_vscode import show_object, reset_show, set_defaults

reset_show() # use for reapeated shift-enter execution to clean object buffer
set_defaults(axes=True, transparent=False, collapse=1, grid=(True, True, True))

box = cq.Workplane().box(1, 2, 1).edges().chamfer(0.4)
show_object(box, name="box", options={"alpha": 0.5})

sphere = cq.Workplane().sphere(0.6)

show_object(
    sphere,
    # show_object args
    "sphere",
    {"color": (10, 100, 110)},
    # three-cad-viewer args
    collapse="1",
    reset_camera=False,
    ortho=False
)