# This example is meant to be used from within the CadQuery module of FreeCAD.
import cadquery
import FreeCAD

# Create a new document that we can draw our model on
newDoc = FreeCAD.newDocument()

# Shows a 1x1x1 FreeCAD cube in the display
initialBox = newDoc.addObject("Part::Box", "initialBox")
newDoc.recompute()

# Make a CQ object
cqBox = cadquery.CQ(cadquery.Solid(initialBox.Shape))

# Extrude a peg
newThing = cqBox.faces(">Z").workplane().circle(0.5).extrude(0.25)

# Add a FreeCAD object to the tree and then store a CQ object in it
nextShape = newDoc.addObject("Part::Feature", "nextShape")
nextShape.Shape = newThing.val().wrapped

# Rerender the doc to see what the new solid looks like
newDoc.recompute()