Esempio n. 1
0
		def addToDoc(self,doc):
			"""
			Adds the ship to the FreeCad doc
			"""
			doc.openTransaction("Import FEF")
			m = SMesh()
			for layer in self.layers:
				m.getOrCreateLayer(layer.name)
			print "# of points=%d"%len(self.points)
			shippoints = {}
			for point in self.points:
				"ship,x,y,z,selected,vertextype"
				p = m.getOrCreatePoint((point.x,point.y,point.z)) #no layer!
				shippoints[(point.x,point.y,point.z)] = p
			#for edge in self.edges:
			#	"ship,start,end,crease,selected"
			#	start = shippoints[(edge.start.x,edge.start.y,edge.start.z)]
			#	end = shippoints[(edge.end.x,edge.end.y,edge.end.z)]
			#	m.getOrCreateEdge(start,end)
			FreeCAD.Console.PrintMessage("first commit")
			doc.commitTransaction()
			FreeCAD.Console.PrintMessage("first commit done")
			for face in self.faces:
				"ship,points,layer,selected"
				points=[]
				for p in face.points:
					fp = shippoints[(p.x,p.y,p.z)]
					points.append(fp)
				f = m.getOrCreateFace(points,face.layer.name)
				FreeCAD.Console.PrintMessage("commit face %s"%f)
				doc.commitTransaction()
				FreeCAD.Console.PrintMessage("commited face %s"%f)
				#f.claimChildren()
			doc.commitTransaction()
			doc.recompute()
Esempio n. 2
0
 def Activated(self):
     FreeCAD.ActiveDocument.openTransaction("Adding Mesh\n")
     self.mesh = SMesh()
     sel = FreeCADGui.Selection.getSelection()
     for ob in sel:
         self.mesh.doop('AddOb', [ob.Label])
     FreeCAD.ActiveDocument.commitTransaction()
     FreeCAD.ActiveDocument.recompute()
 def Activated(self): 
     FreeCAD.ActiveDocument.openTransaction("Adding Mesh\n")
     self.mesh = SMesh()
     sel = FreeCADGui.Selection.getSelection()
     for ob in sel:
         self.mesh.doop('AddOb',[ob.Label])
     FreeCAD.ActiveDocument.commitTransaction()
     FreeCAD.ActiveDocument.recompute()
Esempio n. 4
0
    def addToDoc(self, doc):
        """
			Adds the ship to the FreeCad doc
			"""
        doc.openTransaction("Import FEF")
        m = SMesh()
        for layer in self.layers:
            m.getOrCreateLayer(layer.name)
        print "# of points=%d" % len(self.points)
        shippoints = {}
        for point in self.points:
            "ship,x,y,z,selected,vertextype"
            p = m.getOrCreatePoint((point.x, point.y, point.z))  #no layer!
            shippoints[(point.x, point.y, point.z)] = p
        #for edge in self.edges:
        #	"ship,start,end,crease,selected"
        #	start = shippoints[(edge.start.x,edge.start.y,edge.start.z)]
        #	end = shippoints[(edge.end.x,edge.end.y,edge.end.z)]
        #	m.getOrCreateEdge(start,end)
        FreeCAD.Console.PrintMessage("first commit")
        doc.commitTransaction()
        FreeCAD.Console.PrintMessage("first commit done")
        for face in self.faces:
            "ship,points,layer,selected"
            points = []
            for p in face.points:
                fp = shippoints[(p.x, p.y, p.z)]
                points.append(fp)
            f = m.getOrCreateFace(points, face.layer.name)
            FreeCAD.Console.PrintMessage("commit face %s" % f)
            doc.commitTransaction()
            FreeCAD.Console.PrintMessage("commited face %s" % f)
            #f.claimChildren()
        doc.commitTransaction()
        doc.recompute()
Esempio n. 5
0
class AddMesh:
    def Activated(self):
        FreeCAD.ActiveDocument.openTransaction("Adding Mesh\n")
        self.mesh = SMesh()
        sel = FreeCADGui.Selection.getSelection()
        for ob in sel:
            self.mesh.doop('AddOb', [ob.Label])
        FreeCAD.ActiveDocument.commitTransaction()
        FreeCAD.ActiveDocument.recompute()

    def meshWire(self, ob):
        firstp = None
        lastp = None
        points = []
        for p in ob.Points:
            sp = self.mesh.getOrCreatePoint(p, "points")
            points.append(sp)
            if firstp is None:
                firstp = sp
            if lastp is not None:
                self.mesh.getOrCreateEdge(lastp, sp, "edges")
            lastp = sp
        if len(ob.Points) > 2 and ob.Closed:
            self.mesh.getOrCreateEdge(lastp, firstp, "edges")
        if ob.ViewObject.DisplayMode == "Flat Lines" and ob.Closed:
            self.mesh.getOrCreateFace(points, "faces")

    @staticmethod
    def obtype(ob):
        p = getattr(ob, "Proxy", None)
        if p:
            ob = p
        return getattr(ob, "Type", None)

    def GetResources(self):
        return {
            'Pixmap': '',
            'MenuText': 'Add Mesh',
            'ToolTip': 'Adds an empty surface mesh'
        }

    def IsActive(self):
        return FreeCAD.ActiveDocument is not None
class AddMesh: 
    def Activated(self): 
        FreeCAD.ActiveDocument.openTransaction("Adding Mesh\n")
        self.mesh = SMesh()
        sel = FreeCADGui.Selection.getSelection()
        for ob in sel:
            self.mesh.doop('AddOb',[ob.Label])
        FreeCAD.ActiveDocument.commitTransaction()
        FreeCAD.ActiveDocument.recompute()


    def meshWire(self,ob):
            firstp=None
            lastp=None
            points=[]
            for p in ob.Points:
                sp = self.mesh.getOrCreatePoint(p,"points")
                points.append(sp)
                if firstp is None:
                    firstp=sp
                if lastp is not None:
                    self.mesh.getOrCreateEdge(lastp,sp,"edges")
                lastp = sp
            if len(ob.Points) > 2 and ob.Closed:
                self.mesh.getOrCreateEdge(lastp,firstp,"edges")
            if ob.ViewObject.DisplayMode == "Flat Lines" and ob.Closed:
                self.mesh.getOrCreateFace(points,"faces")

    @staticmethod
    def obtype(ob):
        p = getattr(ob,"Proxy",None)
        if p:
            ob = p
        return getattr(ob,"Type",None)

    def GetResources(self): 
       return {'Pixmap' : '', 'MenuText': 'Add Mesh', 'ToolTip': 'Adds an empty surface mesh'} 

    def IsActive(self):
        return FreeCAD.ActiveDocument is not None