Prova a vedere queste due discussioni per Curves->Discretize:
https://forum.freecadweb.org/viewtopic. ... &start=230
https://forum.freecadweb.org/viewtopic. ... 13#p256159
parabola da lista di coordinate
Forum rules
regole del forum e le informazioni utili
Importante: PRIMA di chiedere aiuto leggete qui!
regole del forum e le informazioni utili
Importante: PRIMA di chiedere aiuto leggete qui!
-
- Veteran
- Posts: 2611
- Joined: Tue Feb 21, 2012 8:07 pm
- Location: Torino - Italy
Re: parabola da lista di coordinate
Prendendo spunto dalla macro che mi hai indicato ho sviluppato questo scriptino per rilevare le coordinate di un oggetto così da poterlo ricomporre successivamente magari ad ogni ciclo valutando la lunghezza, fino a raggiungere quella che mi occorre.
Purtroppo il problema è proprio la precisione dei 100 punti che mi vincola, poiché gli spezzoni creati progressivamente hanno delle lunghezze che non posso modificare.
Tuttavia, per quanto riguarda la divisione in parti uguali della curva, ho scoperto che il comando crea blocchi da 25 punti ciascuno. Dunque con una precisione di 100 punti mi aspetterò 4 blocchi che costituiranno la sincola BezCurve.
Code: Select all
lista = []
numberOfPoints = 100 # Decomposition number (or precision you can change)
selectedEdge = FreeCADGui.Selection.getSelectionEx()[0].SubObjects[0].copy() # select one element
points = selectedEdge.discretize(numberOfPoints) # discretize the element
i=0
for p in points:
i+=1
lista.append(App.Vector(p.x, p.y, p.z))
Draft.makeBezCurve(lista,closed=False,support=None)
Tuttavia, per quanto riguarda la divisione in parti uguali della curva, ho scoperto che il comando
Code: Select all
Draft.makeBezCurve(lista,closed=False,support=None)
Re: parabola da lista di coordinate
Molto poco efficiente in vero. La sto utilizzando per replicare Bezcurve più complesse ed è un vero disastro.
Re: parabola da lista di coordinate
ciao
se volete fare BSpline
creare punti su la linea (nel ciclo for)
mario
se volete fare BSpline
Code: Select all
Draft.makeBSpline(lista,closed=False,face=False,support=None)
Code: Select all
Draft.makePoint(p)
Maybe you need a special feature, go into Macros_recipes and Code_snippets, Topological_data_scripting.
My macros on Gist.github here complete macros Wiki and forum.
My macros on Gist.github here complete macros Wiki and forum.