Exemple #1
0
def TDPyTest():
    path = os.path.dirname(os.path.abspath(__file__))
    print('TDPy path: ' + path)

    FreeCAD.newDocument("TDPy")
    FreeCAD.setActiveDocument("TDPy")
    FreeCAD.ActiveDocument = FreeCAD.getDocument("TDPy")

    direction = FreeCAD.Vector(0.0, 1.0, 0.0)
    box = FreeCAD.ActiveDocument.addObject("Part::Box", "Box")

    result = TechDraw.project(
        box.Shape, direction)  #visible hard & smooth, hidden hard & smooth
    print("project result: {0}".format(result))
    #    Part.show(result[0])

    result = TechDraw.projectEx(
        box.Shape,
        direction)  #visible & hidden hard, smooth, seam, outline, iso
    print("projectEx result: {0}".format(result))
    #    Part.show(result[0])

    SVGResult = TechDraw.projectToSVG(box.Shape, direction, "ShowHiddenLines",
                                      0.10)  #SVG string
    print("SVG result: {0}".format(SVGResult))

    result = TechDraw.projectToDXF(box.Shape, direction)  #DXF string
    print("DXF result: {0}".format(result))

    result = TechDraw.removeSvgTags(SVGResult)
    print("remove tags result: {0}".format(result))
Exemple #2
0
    def getProjected(self,obj,shape,direction):

        "returns projected edges from a shape and a direction"
        import Part, TechDraw, DraftGeomUtils
        edges = []
        _groups = TechDraw.projectEx(shape, direction)
        for g in _groups[0:5]:
            if g:
                edges.append(g)
        if hasattr(obj,"HiddenLines"):
            if obj.HiddenLines:
                for g in _groups[5:]:
                    edges.append(g)
        edges = self.cleanExcluded(obj,edges)
        #return Part.makeCompound(edges)
        if hasattr(obj,"Tessellation") and obj.Tessellation:
            return DraftGeomUtils.cleanProjection(Part.makeCompound(edges),
                                                  obj.Tessellation,
                                                  obj.SegmentLength)
        else:
            return Part.makeCompound(edges)