Thanks for the tip.
I am a beginner and I managed.
Below is the code.
import os # hier wordt het operating system van apple geladen om de bestanden te kunnen aanmaken
import vs #dit mag aanstaan of afstaan
OBJECTS = []
def collect(handle):
OBJECTS.append(handle)
"""
UITLEG: vs.ForEachObject(collect, '((T=LOCUS3D) AND (SEL=True))')
De functie "collect" wordt geactiveerd en ALLES wordt verzamelt [handle1, handle2, handle3.....] (ook bijvoorbeeld polylijnen (handle 3))
Hier kunnen ook andere objecten (bijvoorbeeld polylijnen) inzitten maar het 2de argument bestaande uit 2 voorwaarden, filtert de 3d-locussen eruit binnen de selectie[handle1, handle2,.....] eruit.
Omdat handle 3 een polylijn is wordt deze eruit gefiltert
"""
vs.ForEachObject(collect, '((T=LOCUS3D) AND (SEL=True))') # de voorwaarden moeten in een STRING staan
coordinaten = []
for obj in OBJECTS:
center = vs.Get3DCntr(obj)
if len(center) == 2: # Controleer of er X- en Y-coördinaten zijn
x, y = center[0] # Haal X- en Y-coördinaten uit de center tuple
coordinaten.append((x, y))
# Bepaal de uitvoermap en het bestandspad
output_folder = '/Users/evertvandeberg/Documents/dossier' # Vervang dit door de gewenste uitvoermap
output_file = os.path.join(output_folder, 'locuspunten.txt')
# Schrijf de coördinaten naar het tekstbestand
with open(output_file, 'w') as file:
for i, coord in enumerate(coordinaten):
if i != 0:
file.write(', ')
file.write('{}'.format(coord))
vs.AlrtDialog('Locuspunten zijn geëxporteerd naar {}'.format(output_file))