cadquery-freecad-module/tests/__init__.py
Derek Anderson c3290fca92 Updated to work with 0.13
- This is _totally_ experimental, and I haven't done exhaustive
   tests
 - 88 unit tests do pass though, and I added a new import test.
 - 0.12 and 0.13 seem to structure stuff a bit differently,
   probably due to changes in the FreeCAD lib wrappers.
 - Not tested on windows (but should work) or 0.12. Need some
   help there.
2013-04-27 23:49:41 -07:00

51 lines
1.2 KiB
Python

from cadquery import *
import unittest
import sys
import os
from cadquery.freecad_impl.verutil import fc_import
FreeCAD = fc_import("FreeCAD")
P = fc_import("FreeCAD.Part")
V = fc_import("FreeCAD").Base.Vector
def readFileAsString(fileName):
f= open(fileName,'r')
s = f.read()
f.close()
return s
def writeStringToFile(strToWrite,fileName):
f = open(fileName,'w')
f.write(strToWrite)
f.close()
def makeUnitSquareWire():
return Solid.cast(P.makePolygon([V(0,0,0),V(1,0,0),V(1,1,0),V(0,1,0),V(0,0,0)]))
def makeUnitCube():
return makeCube(1.0)
def makeCube(size):
return Solid.makeBox(size,size,size)
def toTuple(v):
"convert a vector or a vertex to a 3-tuple: x,y,z"
pnt = v
if type(v) == FreeCAD.Base.Vector:
return (v.Point.x,v.Point.y,v.Point.z)
elif type(v) == Vector:
return v.toTuple()
else:
raise RuntimeError("dont know how to convert type %s to tuple" % str(type(v)) )
class BaseTest(unittest.TestCase):
def assertTupleAlmostEquals(self,expected,actual,places):
for i,j in zip(actual,expected):
self.assertAlmostEquals(i,j,places)
__all__ = [ 'TestCadObjects','TestCadQuery','TestCQSelectors','TestWorkplanes','TestExporters','TestCQSelectors']