Zum Inhalt springen

Script zur Umbenennung von Symbolen und Schraffuren


Empfohlene Beiträge

Das ist natürlich richtig, nicht jeder arbeitet mit der neuesten Version.

Hier der Code für copy and paste, hoffe das klappt auch mit der älteren Version, ist ja nur in 2009 getestet:

 

procedure renameAll;

 

CONST

Prefix = 'ZimpLeitungen_090806-';

 

 

 

{rename class names}

Procedure RenameClassNames;

 

VAR

ClassNumber : LONGINT;

CurClassNumber : LONGINT;

CurClassName: String;

BEGIN

 

 

ClassNumber:= ClassNum;

CurClassNumber:=1;

 

WHILE CurClassNumber <= ClassNumber DO BEGIN

CurClassName := ClassList(CurClassNumber);

RenameClass(CurClassName, Concat(Prefix,CurClassName));

CurClassNumber := CurClassNumber + 1;

 

END;

END;

 

 

{rename symbols}

PROCEDURE RenameSymbols;

 

const

kSymb = 16;

kDefSymbFolder = 0;

 

var

listID, numItems: LONGINT;

CurSymbolName: STRING;

SymbolNumber: LONGINT;

CurSymbolNumber: LONGINT;

CurSymbolObject: HANDLE;

 

BEGIN

 

listID := BuildResourceList(kSymb, kDefSymbFolder, '', numItems);

 

SymbolNumber := ResourceListSize(listID);

CurSymbolNumber := 1;

 

WHILE

CurSymbolNumber <= SymbolNumber

 

DO BEGIN

CurSymbolName := GetNameFromResourceList(listID, CurSymbolNumber);

CurSymbolObject := GetObject (CurSymbolName);

SetName (CurSymbolObject, CONCAT(Prefix, CurSymbolName));

CurSymbolNumber := CurSymbolNumber + 1;

END;

 

END;

 

 

 

{rename hatches}

PROCEDURE RenameHatches;

 

const

kHatch = 66;

kDefHatchFolder = 0;

 

var

listID, numItems: LONGINT;

CurHatchName: STRING;

HatchNumber: LONGINT;

CurHatchNumber: LONGINT;

CurHatchObject: HANDLE;

 

BEGIN

 

listID := BuildResourceList(kHatch, kDefHatchFolder, '', numItems);

 

HatchNumber := ResourceListSize(listID);

CurHatchNumber := 1;

 

WHILE

CurHatchNumber <= HatchNumber

 

DO BEGIN

CurHatchName := GetNameFromResourceList(listID, CurHatchNumber);

CurHatchObject := GetObject (CurHatchName);

SetName (CurHatchObject, CONCAT(Prefix, CurHatchName));

CurHatchNumber := CurHatchNumber + 1;

END;

 

END;

 

 

 

{rename gradients}

PROCEDURE RenameGradients;

 

const

kGradient = 120;

kDefGradientFolder = 0;

 

var

listID, numItems: LONGINT;

CurGradientName: STRING;

GradientNumber: LONGINT;

CurGradientNumber: LONGINT;

CurGradientObject: HANDLE;

 

BEGIN

 

listID := BuildResourceList(kGradient, kDefGradientFolder, '', numItems);

 

GradientNumber := ResourceListSize(listID);

CurGradientNumber := 1;

 

WHILE

CurGradientNumber <= GradientNumber

 

DO BEGIN

CurGradientName := GetNameFromResourceList(listID, CurGradientNumber);

CurGradientObject := GetObject (CurGradientName);

SetName (CurGradientObject, CONCAT(Prefix, CurGradientName));

CurGradientNumber := CurGradientNumber + 1;

END;

 

END;

 

 

 

{rename worksheets}

PROCEDURE RenameWorksheets;

 

const

kWorksheet = 18;

kDefWorksheetFolder = 0;

 

var

listID, numItems: LONGINT;

CurWorksheetName: STRING;

WorksheetNumber: LONGINT;

CurWorksheetNumber: LONGINT;

CurWorksheetObject: HANDLE;

 

BEGIN

 

listID := BuildResourceList(kWorksheet, kDefWorksheetFolder, '', numItems);

 

WorksheetNumber := ResourceListSize(listID);

CurWorksheetNumber := 1;

 

WHILE

CurWorksheetNumber <= WorksheetNumber

 

DO BEGIN

CurWorksheetName := GetNameFromResourceList(listID, CurWorksheetNumber);

CurWorksheetObject := GetObject (CurWorksheetName);

SetName (CurWorksheetObject, CONCAT(Prefix, CurWorksheetName));

CurWorksheetNumber := CurWorksheetNumber + 1;

END;

 

END;

 

 

 

{rename scripts}

PROCEDURE RenameScripts;

 

const

kScript = 49;

kDefScriptFolder = 0;

 

var

listID, numItems: LONGINT;

CurScriptName: STRING;

ScriptNumber: LONGINT;

CurScriptNumber: LONGINT;

CurScriptObject: HANDLE;

 

BEGIN

 

listID := BuildResourceList(kScript, kDefScriptFolder, '', numItems);

 

ScriptNumber := ResourceListSize(listID);

CurScriptNumber := 1;

 

WHILE

CurScriptNumber <= ScriptNumber

 

DO BEGIN

CurScriptName := GetNameFromResourceList(listID, CurScriptNumber);

CurScriptObject := GetObject (CurScriptName);

SetName (CurScriptObject, CONCAT(Prefix, CurScriptName));

CurScriptNumber := CurScriptNumber + 1;

END;

 

END;

 

 

 

 

{rename script pallettes}

PROCEDURE RenameScriptPallettes;

 

const

kScriptPallette = 51;

kDefScriptPalletteFolder = 0;

 

var

listID, numItems: LONGINT;

CurScriptPalletteName: STRING;

ScriptPalletteNumber: LONGINT;

CurScriptPalletteNumber: LONGINT;

CurScriptPalletteObject: HANDLE;

 

BEGIN

 

listID := BuildResourceList(kScriptPallette, kDefScriptPalletteFolder, '', numItems);

 

ScriptPalletteNumber := ResourceListSize(listID);

CurScriptPalletteNumber := 1;

 

WHILE

CurScriptPalletteNumber <= ScriptPalletteNumber

 

DO BEGIN

CurScriptPalletteName := GetNameFromResourceList(listID, CurScriptPalletteNumber);

CurScriptPalletteObject := GetObject (CurScriptPalletteName);

SetName (CurScriptPalletteObject, CONCAT(Prefix, CurScriptPalletteName));

CurScriptPalletteNumber := CurScriptPalletteNumber + 1;

END;

 

END;

 

 

 

 

{rename record definition}

PROCEDURE RenameRecDef;

 

const

kRecDef = 47;

kDefRecDefFolder = 0;

 

var

listID, numItems: LONGINT;

CurRecDefName: STRING;

RecDefNumber: LONGINT;

CurRecDefNumber: LONGINT;

CurRecDefObject: HANDLE;

 

BEGIN

 

listID := BuildResourceList(kRecDef, kDefRecDefFolder, '', numItems);

 

RecDefNumber := ResourceListSize(listID);

CurRecDefNumber := 1;

 

WHILE

CurRecDefNumber <= RecDefNumber

 

DO BEGIN

CurRecDefName := GetNameFromResourceList(listID, CurRecDefNumber);

CurRecDefObject := GetObject (CurRecDefName);

SetName (CurRecDefObject, CONCAT(Prefix, CurRecDefName));

CurRecDefNumber := CurRecDefNumber + 1;

END;

 

END;

 

 

 

{apply all sub procedures}

begin

RenameClassNames;

RenameSymbols;

RenameHatches;

RenameGradients;

RenameWorksheets;

RenameScripts;

RenameScriptPallettes;

RenameRecDef;

end;

 

run (renameAll);

Link zu diesem Kommentar
  • 2 Monate später...

Hallo,

 

der Befehl hört sich auch für uns sehr interessant an. Leider sind wir auf dem Gebite der Skripte ziemliche Anfänger.

 

Wir würden gerne alle Klassen mit einem Buchstaben versehen (Bsp: V- für Vermesser).

 

Ist dafür auch ein Skript notwendig, wenn ja bitte etwas genauer erklären (wohin muss man es kopieren?)

 

Vielen Dank.

 

gruß Katrin

Link zu diesem Kommentar

hallo katrinjaeck,

 

Wir würden gerne alle Klassen mit einem Buchstaben versehen (Bsp: V- für Vermesser).

Ist dafür auch ein Skript notwendig, wenn ja bitte etwas genauer erklären (wohin muss man es kopieren?)

ja. hierzu gibt es im internet ein fertiges script, dass ihr nur in vw einbinden müsst. nennt sich "prefix classes".

wenn ihr ein windowssystem habt müsst ihr das script in den ordner "C:\Dokumente und Einstellungen\\Anwendungsdaten\Nemetschek\VectorWorks\2009\RWeiterungen" kopieren. anschließend müsst ihr in vw die arbeitsumgebung (maske) anpassen (unter menü extras). im arbeitsumgebungs- (masken-) editor findest du auf der linken seite den eintrag "higgins plugins". durch einen klick auf das dreieck wird dir das script "prefix classes" angezeigt. dieses musst du dann einfach auf die rechte seite ziehen. in welches menü du es einbinden möchtes ist dir überlassen. nachdem du alles mit bestätigt hast kannst du das script anwenden.

 

wenn ihr dwg/ dxf dateien importiert könnt ihr schon bei den importeinstellungen ein prefix für die klassen definieren.

 

gruß

kim

Windows 7/10 Prof. (x64), VW 2016/2017 Landschaft

Link zu diesem Kommentar
  • 3 Monate später...

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
      23,5Tsd
    • Beiträge insgesamt
      120,9Tsd
×
×
  • Neu erstellen...