33 lines
855 B
Python
33 lines
855 B
Python
![]() |
import FreeCAD as App
|
||
|
import uuid
|
||
|
import Mesh
|
||
|
import Part
|
||
|
# import PartGui
|
||
|
import MeshPart
|
||
|
|
||
|
|
||
|
class MeshPartModel:
|
||
|
id = None
|
||
|
mesh = None
|
||
|
|
||
|
def __init__(self, part) -> None:
|
||
|
try:
|
||
|
from random import randrange
|
||
|
self.id = 'mesh' + str(randrange(1000000))
|
||
|
document = App.ActiveDocument
|
||
|
mesh = document.addObject("Mesh::Feature", self.id)
|
||
|
shape = Part.getShape(part, "")
|
||
|
mesh.Mesh = MeshPart.meshFromShape(
|
||
|
Shape=shape, LinearDeflection=20, AngularDeflection=0.1, Relative=False)
|
||
|
mesh.Label = self.id
|
||
|
self.mesh = mesh
|
||
|
except Exception as e:
|
||
|
print(e)
|
||
|
pass
|
||
|
|
||
|
def remove(self):
|
||
|
try:
|
||
|
App.ActiveDocument.removeObject(self.mesh.Label)
|
||
|
except Exception as e:
|
||
|
print(e)
|