DeclaraCAD is built on OpenCASCADE. At a very minimum you should understand the basic topology used by OpenCASCADE as it's often needed to build shapes which depend on parts of another shape.

These are:

Shape | Open CASCADE Technology Class | Description |
---|---|---|

Vertex | TopoDS_Vertex | Zero dimensional shape corresponding to a point in geometry. |

Edge | TopoDS_Edge | One-dimensional shape corresponding to a curve and bounded by a vertex at each extremity. |

Wire | TopoDS_Wire | Sequence of edges connected by vertices. |

Face | TopoDS_Face | Part of a surface bounded by a closed wire(s). |

Shell | TopoDS_Shell | Set of faces connected by edges. |

Solid | TopoDS_Solid | Part of 3D space bounded by Shells. |

CompSolid | TopoDS_CompSolid | Set of solids connected by their faces. |

Compound | TopoDS_Compound | Set of any other shapes described above. |

I recommend scanning through the bottle tutorial to get a better idea of what these mean.

The actual OpenCASCADE shape created can be retrieved from any DeclaraCAD declaration using the `proxy.shape`

attribute. Most of the time this is not needed but sometimes it is.

The topology of the can be explored using `self.topology.<type>`

. For example `self.topology.faces`

will retrieve a list of all faces within the created shape.

More documentation can be found at OpenCASCADE Documentation.