|
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 |
Contents |
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.
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).
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)
La pagina della discussione: How do I transform a point cloud to a line?