Blenderforum

Normale Version: Koordinaten aus einer .txt datei ablesen und in ein mesh verwandeln - Blender 4.0
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Servus liebe blender-Community, ich versuche seit einiger Zeit ein Mesh zu erstellen aus einer Text datei wo koordinaten drin stehen, sieht wie folgt aus:
88.001                    -96293.3795      263205.5064        495.4550
88.002                    -96293.5978      263205.6772        496.9587
88.003                    -96293.3845      263205.4910        498.2000
wobei die erste spalte nur eine nummerierung für die punkte ist. ich habe chatgpt 2 scripte erstellen lassen aber wenn ich es laufen lasse entsteht nur ein punkt im blender internen ursprung und mehr kann man nicht sehen, skalieren usw hilft auch nix.
Der code: 


import bpy

def create_mesh_from_coordinates(file_path):
    # Öffne die .txt-Datei
    with open(file_path, 'r') as file:
        lines = file.readlines()

    # Erstelle eine Liste von Koordinaten (ignoriere die erste Spalte)
    coordinates_list = [list(map(float, line.strip().split()[1:])) for line in lines]

    # Erstelle ein Mesh-Objekt
    mesh = bpy.data.meshes.new(name="CustomMesh")
    obj = bpy.data.objects.new("CustomObject", mesh)

    # Füge das Objekt zur Szene hinzu
    bpy.context.scene.collection.objects.link(obj)

    # Setze den Kontext auf das neue Objekt
    bpy.context.view_layer.objects.active = obj
    bpy.context.active_object.select_set(True)

    # Erstelle die Mesh-Daten
    mesh.from_pydata(coordinates_list, [], [])

    # Aktualisiere das Mesh
    mesh.update()

# Passe den Dateipfad an
file_path = "/Pfad/zur/deiner/datei.txt"

# Rufe die Funktion auf
create_mesh_from_coordinates(file_path)


------------------------------------------------------------------------------

import bpy
import numpy as np

def read_coordinates(file_path):
    coordinates = []
    with open(file_path, 'r') as file:
        for line in file:
            parts = line.split()
            # Ignoriere die erste Spalte und konvertiere die restlichen Werte zu float
            coordinates.append([float(part) for part in parts[1:]])
    return np.array(coordinates)

def create_mesh(coordinates):
    mesh = bpy.data.meshes.new(name="CustomMesh")
    obj = bpy.data.objects.new("CustomObject", mesh)
    bpy.context.collection.objects.link(obj)
    bpy.context.view_layer.objects.active = obj
    obj.select_set(True)
   
    mesh.from_pydata(coordinates.tolist(), [], [])

if __name__ == "__main__":
    file_path = "deine_datei.txt"  # Passe den Dateipfad an
    coordinates = read_coordinates(file_path)
    create_mesh(coordinates)


für die ansicht in blender:  
[attachment=1505]
Der orangene Punkt in der mitte ist das was mir die skripte erstellt, das einzige was ich damit tun kann ist es herumverschieben (x,y,z)

wäre kuul wenn mir da jemand weiterhelfen könnte
Mit Skripten kenne ich mich jetzt nicht besonders gut aus, aber was passiert, wenn du mit dem Objekt in den Edit Mode gehst? Ist auch da dann nur noch ein Punkt zu sehen? Was sagen die Statistiken am unteren Rand von Blender (Kann sein, dass du sie erst mit Rechtsklick auf die Leiste aktivieren musst)?
LG,
Ephraim.
(05.12.2023, 04:24 PM)Ephraim schrieb: [ -> ]Mit Skripten kenne ich mich jetzt nicht besonders gut aus, aber was passiert, wenn du mit dem Objekt in den Edit Mode gehst? Ist auch da dann nur noch ein Punkt zu sehen? Was sagen die Statistiken am unteren Rand von Blender (Kann sein, dass du sie erst mit Rechtsklick auf die Leiste aktivieren musst)?
LG,
Ephraim.


Das Objekt ist schon im Edit mode und was genau meinst du mit den "statistiken"? 

[attachment=1506]

so sieht das fenster bei mir aus
Das hier meine ich mit Statistiken:
[attachment=1507]
Da ist dann zu sehen, wie viele Vertices es in der Szene gibt. Aber ehrlich gesagt denke ich nicht, dass das das Problem ist - es scheint wirklich nur ein Vertex zu sein.
LG,
Ephraim.