Zum Inhalt springen

vectorscript | rename/umbennen Datenbank Feld?


relume

Frage

Geschrieben

Guten Tag

Für einen regelmässig Export von Vectorworks Layer nach Shape müsste ich zugehörige Datenbank-Feldnamen, die länger als 11 Zeichen sind, umbenennen (die Shape-Export Funktionalität hat noch immer einen Bug - die zu langen Feldnamen werden zwar automatisch gekürzt, doch die entsprechenden Feldwerte werden nicht mitexportiert = "Null").

Die manuelle Umbenennung von Datenbank-Feldnamen ist im Datenbank-Bearbeitung-Dialog ohne Probleme möglich – aber eben manuell. Ein vectorscript wäre eigentlich ebenso einfach, wäre da nur die Möglichkeit einer entsprechenden vs.Funktion (z.B. vs.SetFldName) - analog zu vs.GetFldName().

 

Habe ich etwas übersehen? vs.SetName funktioniert ebenfalls nicht, da zwar darüber ein Datenbank Name verändert werden kann, aber ein spezifisches Feld nur per Feld-ID aber nicht über eine Handle refereziert werden kann. 

Ein möglicher Workaround wäre eine "Schatten"-Datenbank als Kopie mit gekürzten Feldnamen der eigentlichen Datenbank zu erstellen und alle Feldwerte adhoc vor dem Export nach Shape zu kopieren (etwas absurd).

Besteht wirklich keine andere Möglichkeit in vectorscript, die der manuellen Umbenennung im Datenbank-Bearbeitungs-Dialog, analog ist?

Besten Dank
 

5 Antworten auf diese Frage

Empfohlene Beiträge

Geschrieben

Bitte Vorsicht beim Umbenennen! Wenn Sie Datenbankfelder einer Objektdatenbank eines Intelligenten Objektes umbenennen, wird dieses nicht mehr funktionieren!

Gruß


Stefan Bender

ComputerWorks GmbH

http://www.computerworks.de

Geschrieben
vor 9 Minuten schrieb Stefan Bender:

Bitte Vorsicht beim Umbenennen! Wenn Sie Datenbankfelder einer Objektdatenbank eines Intelligenten Objektes umbenennen, wird dieses nicht mehr funktionieren!


Ja das ist verständlich (deshalb werden diese Objektdatenbanken nicht im Datenbankmanager zur Bearbeitung angezeigt, auch wenn diese in vectorscript abgefragt werden können).
Die Feldname-Umbenennung per vectorscript für Benutzer-Datenbanken sollte trotzdem möglich sein, wie es auch für Datenbank-Namen vs.SetName(DB_Handle,DB_Name_new) möglich ist.
 

Geschrieben

Man muss wohl eine eigene Umbenennen-Funktion machen die alle mit der Datenbank verknüpften Objekte durchgeht.

1. Durchlauf: schreibt alle Datenbankfeldinhalte mit Feldname grösser 11 in ein Datenbankfeld mit gekürztem Namen.

2. Durchlauf löscht Datenbankfeldnamen mit mehr als 11 Zeichen.

Vectorworks 2025 - Architektur - Win 11

Geschrieben

Vielen Dank für die umgehenden Antworten.

Habe zwischenzeitlich (doch) den Ansatz eines temporären Datenbank-Clones inkl. Kürzung der Feldnamen auf 10 Zeichen gewählt. Das ist der sicherste Ansatz und verändert die Ausgangsdatenbank nicht bzw. die temporären Datenbank-Clone-Instanz für den Export nach Shape kann nachträglich wieder gelöscht werden.

  • Like 1
Geschrieben

Hallo relume

 

Wäre es eine Option eine neue Export-Datenbank zu erstellen, dort alle Felder vom Anfang an nur auf 10 Zeichen zu definieren und im Datenmanager diese Felder von der Originaldatenbank zu mappen? Innerhalb von Vectorworks würde man in der gleichen Datenbank weiterarbeiten, alle Korrekturen werden automatisch in die Export Datenbank geschrieben und beim Export Shape verwendet man die Export-Datenbank.

 

Gruss, Marc

Leiter BIM Consulting

ComputerWorks Schweiz

________________________________________

Vectorworks - Führende BIM-Spitzentechnologie und Flaggschiff der Nemetschek Gruppe

Weltweit verwirklichen über eine halbe Million Architekten und Designer grossartige Projekte mit Vectorworks!

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      26,3Tsd
    • Beiträge insgesamt
      136,7Tsd
×
×
  • Neu erstellen...