https://ingegnerialibera.altervista.org ... utorial_05
nel mio che ho fatto nel lanciare lo script mi da il simbolo rosso nell'oggetto appena creato dandomi l'errore "Brep_Api command not done".
Lo script è questo:
Premetto che sto usando la 0.19.2 e ho testato gli altri script che ci sono in quella pagina .. funziona tutto .. ma tranne l'esempio come creare le proprietà.
Incollo il codice:
Code: Select all
import FreeCADGui
import FreeCAD
from FreeCAD import Base
import Part
class CustomObject:
def __init__(self, obj):
obj.addProperty("App::PropertyLength","b","CustomObject","Base").b=500.0
obj.addProperty("App::PropertyLength","h","CustomObject", "Altezza").h=100.0
obj.addProperty("App::PropertyLength","l","CustomObject", "Larghezza").l=400.0
obj.Proxy = self
def execute(self, fp):
Vert1 = Base.Vector(0,0,0)
Vert2 = Base.Vector(fp.b,0,0)
Vert3 = Base.Vector(fp.b,fp.h,0)
Vert4 = Base.Vector(0,fp.h,0)
Line1 = Part.Line(Vert1,Vert2)
VertC1 = Base.Vector(fp.b+fp.h/2,fp.h/2,0)
Arc1 = Part.Arc(Vert2,VertC1,Vert3)
Line2 = Part.Line(Vert3,Vert4)
VertC2 = Base.Vector(-fp.h/2,fp.h/2,0)
Arc2 = Part.Arc(Vert4,VertC2,Vert1)
Shape1 = Part.Shape([Line1,Arc1,Line2,Arc2])
Wire1 = Part.Wire(Shape1.Edges)
Face1 = Part.Face(Wire1)
Solid1 = Face1.extrude(Base.Vector(0,0,fp.l))
fp.Shape = Solid1
class ViewProviderCustomObject:
def __init__(self, obj):
obj.Proxy = self
def makeCustomObject():
a=FreeCAD.ActiveDocument.addObject("Part::FeaturePython","CustomObject")
CustomObject(a)
ViewProviderCustomObject(a.ViewObject)
FreeCAD.ActiveDocument.recompute()
makeCustomObject()
Grazie mille e buona fine settimana.