Problem
You are trying to construct a cq.Location
object using code like
cq.Location(1, 2, 3)
however when you run it, you see the following error message:
File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\cadquery\occ_impl\geom.py:1011, in Location.__init__(self, *args) 1008 else: 1009 t, ax, angle = args 1010 T.SetRotation( -> 1011 gp_Ax1(Vector().toPnt(), Vector(ax).toDir()), angle * math.pi / 180.0 1012 ) 1013 T.SetTranslationPart(Vector(t).wrapped) 1015 self.wrapped = TopLoc_Location(T) File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\cadquery\occ_impl\geom.py:91, in Vector.__init__(self, *args) 89 fV = gp_Vec(args[0]) 90 else: ---> 91 raise TypeError("Expected three floats, OCC gp_, or 3-tuple") 92 elif len(args) == 0: 93 fV = gp_Vec(0, 0, 0) TypeError: Expected three floats, OCC gp_, or 3-tuple
Solution:
Don’t pass three separate parameters to cq.Location()
– pass a tuple with three numbers by adding an additional set of braces:
cq.Location((1, 2, 3))