Macro WireXYZ/it


Text-x-python.png Polilinea da XYZ

Descrizione
Crea una linea spezzata con le coordinate x y z.
Autore
Mario52
Link
Esempi di macro
Come installare le Macro
Personalizzare la barra degli strumenti
Versione
0.1
Data ultima modifica
2016-09-06


Descrizione

Questa macro crea una wire oppure dei punti con le coordinate estratto da un file. Le coordinate X Y e Z devono essere separate da uno spazio.

Uso

Il file deve avere le tre coordinate X, Y e Z in formato ASCII senza intestazione

Esempio:

0 240.42686 0

20 243.83054 0

40 247.33677 0

60 250.94702 0

80 254.66283 0

100 258.48575 0

...

Modificare il percorso e il nome del file, salvare e caricare la macro poi eseguire.

fichier = "C:\yourPath\cloud.asc"                          # path and name of file.txt

Se volete una figura chiusa modificate questa linea (closed=False):

Draft.makeWire(wire,closed=False,face=False,support=None)   # create the wire open

e sostituitela con (closed=True):

Draft.makeWire(wire,closed=True,face=False,support=None)   # create the wire closed

la stessa cosa vale per le facce, False o True (face=True).

Script

Macro_WireXYZ.FCMacro

# -*- coding: utf-8 -*-
# created a wire with coordinate x y z separated (in the file)
#EX:
#0 0 0
#10 10 10
#15 20 25
#. . . .

from __future__ import unicode_literals
from FreeCAD import Base
import Draft, Part

fichier = "C:\yourPath\cloud.asc"                          # path and name of file.txt

file = open(fichier, "r")                                  # open the file read
wire = []
X=Y=Z = 0.0

for ligne in file:
    coordinates = ligne.split()
    X,Y,Z = coordinates                                     # separate the coordinates
#    Draft.makePoint(float(X),float(Y),float(Z))            # create points (uncomment for use)
    print X," ",Y," ",Z
    wire.append(FreeCAD.Vector(float(X),float(Y),float(Z))) # append the coordinates

file.close()
Draft.makeWire(wire,closed=False,face=False,support=None)   # create the wire open
#Draft.makeWire(wire,closed=True,face=False,support=None)   # create the wire closed (uncomment for use)

Link

La pagina della discussione: How do I transform a point cloud to a line?

Online version: "http://www.freecadweb.org/wiki/index.php?title=Macro_WireXYZ/it&oldid=240715"

Navigation menu