Proiezione lineare di spirale
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!
Proiezione lineare di spirale
Ciao a tutti,
sto cercando di "svolgere" una spirale in una proiezione lineare, anche per misurare la lunghezza totale del ferro che dovrò impiegare per la realizzazione del decoro in esempio. Non ho idea di quale sia lo strumento adatto per lo scopo. La medesima funzione potrebbe tornarmi utile in un altro esercizio che mi sono trovato ad affrontare: qual è la misura piana e la forma di una tavola (curva) di fasciame di una barca tradizionale?
Grazie mille
sto cercando di "svolgere" una spirale in una proiezione lineare, anche per misurare la lunghezza totale del ferro che dovrò impiegare per la realizzazione del decoro in esempio. Non ho idea di quale sia lo strumento adatto per lo scopo. La medesima funzione potrebbe tornarmi utile in un altro esercizio che mi sono trovato ad affrontare: qual è la misura piana e la forma di una tavola (curva) di fasciame di una barca tradizionale?
Grazie mille
-
- Veteran
- Posts: 2611
- Joined: Tue Feb 21, 2012 8:07 pm
- Location: Torino - Italy
Re: Proiezione lineare di spirale
Ciao
nella console Python dell'immagine sotto trovi il comando da digitare e il risultato Per questo caso il comando è
esempio è il nome del progetto
Spiral è il nome originale dell'oggetto, quello che deve essere usato
Vedi anche il post https://forum.freecadweb.org/viewtopic.php?f=3&t=26176
dove ci sono altri esempi
Renato
nella console Python dell'immagine sotto trovi il comando da digitare e il risultato Per questo caso il comando è
Code: Select all
App.getDocument("esempio").getObject("Spiral").Shape.Length
Spiral è il nome originale dell'oggetto, quello che deve essere usato
Vedi anche il post https://forum.freecadweb.org/viewtopic.php?f=3&t=26176
dove ci sono altri esempi
Renato
Re: Proiezione lineare di spirale
Benissimo. Grazie!
Mentre è possibile proiettare graficamente la spirale
(oppure un altro oggetto curvo come la citata tavola di fasciame) in una figura piana?
Ancora grazie
Mentre è possibile proiettare graficamente la spirale
(oppure un altro oggetto curvo come la citata tavola di fasciame) in una figura piana?
Ancora grazie
Re: Proiezione lineare di spirale
Intendo dire in una figura lineare. Immagina l'esigenza di dover tagliare da un tavolone dritto la sagoma di una doga curva. Io lo vorrei fare graficamente.
-
- Veteran
- Posts: 2611
- Joined: Tue Feb 21, 2012 8:07 pm
- Location: Torino - Italy
Re: Proiezione lineare di spirale
C'è la macro https://www.freecadweb.org/wiki/Macro_U ... Surface/it
ma al momento a me non funziona.
Segnalato in https://forum.freecadweb.org/viewtopic. ... 3&start=10
Altre macro simili in https://www.freecadweb.org/wiki/Macros_ ... it#Wizards
se funzionano ...
Renato
ma al momento a me non funziona.
Segnalato in https://forum.freecadweb.org/viewtopic. ... 3&start=10
Altre macro simili in https://www.freecadweb.org/wiki/Macros_ ... it#Wizards
se funzionano ...
Renato
-
- Veteran
- Posts: 2611
- Joined: Tue Feb 21, 2012 8:07 pm
- Location: Torino - Italy
Re: Proiezione lineare di spirale
Ciao.
Come avrai visto, finora nessuna soluzione per la citata macro.
Ho cercato un rimedio alternativo. Creare per adesso solo lo sviluppo lineare dei singoli bordi.
Questo dovrebbe essere sufficiente per una spirale. Per una doga, se è curvata in due piani, invece bisogna poi pensare ad altro.
L'idea è
1 - ottenere le linee dei bordi curvi da sviluppare
-- la spirale è già questo
-- per la doga usare Draft->Downgrade fino a scomporre la doga nelle linee dei bordi
2 - applicare uno script che disegni un segmento di lunghezza pari alla linea curva originale
Lo script è una modifica di quello precedente ed è questo
E' molto rudimentale. Forse farà sorridere gli esperti, ma funziona.
Quello che si ottiene da una forma non troppo elaborata può poi essere riassemblato in uno schizzo.
Ho chiesto aiuto nel forum inglese per una finestra di dialogo che semplifichi la selezione. Vedi https://forum.freecadweb.org/viewtopic.php?f=22&t=26265
In attesa bisogna cambiare manualmente i nomi del documento e dell'oggetto.
Ecco cosa si ottiene Per una doga sagomata in due modi si può pensare di fare una sezione a metà per creare lo sviluppo.
Renato
Come avrai visto, finora nessuna soluzione per la citata macro.
Ho cercato un rimedio alternativo. Creare per adesso solo lo sviluppo lineare dei singoli bordi.
Questo dovrebbe essere sufficiente per una spirale. Per una doga, se è curvata in due piani, invece bisogna poi pensare ad altro.
L'idea è
1 - ottenere le linee dei bordi curvi da sviluppare
-- la spirale è già questo
-- per la doga usare Draft->Downgrade fino a scomporre la doga nelle linee dei bordi
2 - applicare uno script che disegni un segmento di lunghezza pari alla linea curva originale
Lo script è una modifica di quello precedente ed è questo
Code: Select all
App.getDocument("esempio").getObject("Spiral").Shape.Length
p1 = FreeCAD.Vector(0,0,0)
p2 = FreeCAD.Vector(App.getDocument("esempio").getObject("Spiral").Shape.Length,0,0)
Draft.makeWire([p1,p2],closed=False)
Quello che si ottiene da una forma non troppo elaborata può poi essere riassemblato in uno schizzo.
Ho chiesto aiuto nel forum inglese per una finestra di dialogo che semplifichi la selezione. Vedi https://forum.freecadweb.org/viewtopic.php?f=22&t=26265
In attesa bisogna cambiare manualmente i nomi del documento e dell'oggetto.
Ecco cosa si ottiene Per una doga sagomata in due modi si può pensare di fare una sezione a metà per creare lo sviluppo.
Renato
Re: Proiezione lineare di spirale
Grazie mille! L'output è quello desiderato.
Fortissimo come al solito
Fortissimo come al solito
-
- Veteran
- Posts: 2611
- Joined: Tue Feb 21, 2012 8:07 pm
- Location: Torino - Italy
Re: Proiezione lineare di spirale
Ho fatto una piccola modifica perchè a volte appariva un errore. Ora funziona meglio.
Vedi nel forum inglese https://forum.freecadweb.org/viewtopic. ... 76#p208476
Aspetto un aiuto per il box di selezione. Modificare ogni volta lo script a mano è noioso.
Vedi nel forum inglese https://forum.freecadweb.org/viewtopic. ... 76#p208476
Aspetto un aiuto per il box di selezione. Modificare ogni volta lo script a mano è noioso.
Last edited by renatorivo on Tue Jan 09, 2018 8:12 pm, edited 1 time in total.
-
- Veteran
- Posts: 2611
- Joined: Tue Feb 21, 2012 8:07 pm
- Location: Torino - Italy
Re: Proiezione lineare di spirale
Aspettando l'aiuto ho provato se è effettivamente possibile usare in uno schizzo le linee ottenute dallo sviluppo.
E' un po' lungo ma possibile.
Sotto c'è un esempio in cui le linee 628,32 e 198,39 non sono disegnate, ma prese dallo sviluppo della spirale e del cerchio del file "esempiob" pubblicato nel forum inglese e importate nello schizzo.
Draft-> Converti in schizzo per ogni linea
Sketcher-> Merge Sketch
ora le linee sono gestibili in modo consueto Ovviamente ottenuta la lunghezza è forse più veloce ridisegnarle, questo dimostra solo che funziona.
E' un po' lungo ma possibile.
Sotto c'è un esempio in cui le linee 628,32 e 198,39 non sono disegnate, ma prese dallo sviluppo della spirale e del cerchio del file "esempiob" pubblicato nel forum inglese e importate nello schizzo.
Draft-> Converti in schizzo per ogni linea
Sketcher-> Merge Sketch
ora le linee sono gestibili in modo consueto Ovviamente ottenuta la lunghezza è forse più veloce ridisegnarle, questo dimostra solo che funziona.
Re: Proiezione lineare di spirale
Saluti
qui la macro evoluta si può selezionare quello che volete linea, bordi ... se una faccia est selezionata il perimetro della faccia sarà creata se é uno cilindro, cono o sphera la couture conta dopio
è crea una unica linea con tutte le selezioni
mario
qui la macro evoluta si può selezionare quello che volete linea, bordi ... se una faccia est selezionata il perimetro della faccia sarà creata se é uno cilindro, cono o sphera la couture conta dopio
è crea una unica linea con tutte le selezioni
Code: Select all
import Draft
import FreeCAD
from FreeCAD import Base
lengthX = 0.0
p1 = FreeCAD.Vector(0.0,0.0,0.0)
selectionObjects = FreeCADGui.Selection.getSelectionEx()
for selection in selectionObjects:
for selectedEdge in selection.SubObjects:
#print selectedEdge.Length
lengthX += selectedEdge.Length
p2 = FreeCAD.Vector(lengthX ,0.0,0.0)
if lengthX != 0.0:
Draft.makeWire([p1,p2],closed=False)
else:
print "Length = 0"
#print lengthX
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.