VectorWorks forum: Klasses verplaatsen naar klassemap - VectorWorks forum

Ga naar inhoud

Pagina 1 van 1

Klasses verplaatsen naar klassemap Gratis menucommando

#1 Gebruiker is offline   maarten. 

  • Expert
  • Groep: Members
  • Posts: 1,622
  • Lid geworden: 20-January 05
  • Gender:Not Telling
  • Stad:Houthalen

Gepost 06 April 2008 - 04:00 PM

Klasses verplaatsen naar een klassemap.

IPB Afbeelding

E?n van de eerste scriptjes die ik geheel voor mezelf maak, en dus mag posten.
Met dit menucommando kan je verschillende klasses verplaatsen naar een bestaande of nieuwe klassemap.
Vreemde klasses (van een DWG import bijvoorbeeld) kunnen dan netjes in een map gezet worden zodat je klassestructuur weer mooi op orde is.

Met dank aan Dieter voor een deel van de code!

Download v2008.

Blijkbaar komen er vreemde tekens in de code te staan eens gedownload, dus hier de code:

CODE
PROCEDURE KlasseNaarMap;
    CONST
        STklassen=20;
        LBklassenlijst=21;
        STmap=30;
        ETmap=31;
VAR
    teller, posSel, aantalklassen, positie : INTEGER;
    lijst, GeselKlasse, MapNaam : STRING;
    resultaat : BOOLEAN;


PROCEDURE Dialoog;

    VAR
        id :INTEGER;
        DialoogResultaat :INTEGER;

    PROCEDURE MaakDialoog;
        BEGIN
            id := CreateLayout('Klassen verplaatsen naar map',TRUE,'Verplaats', 'Annuleer');
            CreateStaticText(id,STklassen,'Klassen:',-1);
            SetFirstLayoutItem(id,STklassen);
            CreateListBoxN(id,LBklassenlijst,40,15,TRUE);
            SetBelowItem (id,STklassen,LBklassenlijst,0,6);
            SetHelpString(LBklassenlijst,'Selecteer ??n of meerdere klasses die je naar een klassemap wilt verplaatsen.');
            CreateStaticText(id,STmap,'Map',-1);
            SetRightItem (id,LBklassenlijst,STmap,5,0);
            CreateEditText(id,ETmap,'naam van de map',20);
            SetBelowItem (id,STmap,ETmap,6,-6);
            SetHelpString(ETmap,'Geef de naam van de map waar je de geselecteerde klasses in wilt verplaatsen.');
        END;

    PROCEDURE Dialooghandelingen(VAR item,data:LONGINT);

        PROCEDURE Dialooginstellingen;

        PROCEDURE KlassenlijstVulling(LBklassenlijst : INTEGER);
        VAR
            teller101:INTEGER;
            ZetKlassen : DYNARRAY[] OF STRING;
        BEGIN
            SetEditReal(id,ETmap,1,100);
            ALLOCATE ZetKlassen[1..ClassNum];
            FOR teller101:=1 TO ClassNum DO ZetKlassen[teller101]:=ClassList(teller101);
            SortArray(ZetKlassen,ClassNum,1);
            FOR teller101:=1 TO ClassNum DO
            BEGIN
                InsertChoice(LBklassenlijst,NumChoices(LBklassenlijst),ZetKlassen[teller101]);
            END;
        END;
        BEGIN
            Klassenlijstvulling(LBklassenlijst);
        END;

        PROCEDURE HandelingOK;
            BEGIN
                MapNaam:=GetField(ETmap);
                teller:=0;
                posSel:=0;
                GetSelChoice(LBklassenlijst,posSel,positie,GeselKlasse);
                RenameClass(GeselKlasse,ConCat(MapNaam,'-',GeselKlasse));
                REPEAT
                teller:=teller+1;
                posSel:=posSel+1;
                GetSelChoice(LBklassenlijst,posSel,positie,GeselKlasse);
                RenameClass(GeselKlasse,ConCat(MapNaam,'-',GeselKlasse));
                UNTIL(teller> positie);
            END;
        PROCEDURE HandelingAnnuleer;
            BEGIN
            END;
        BEGIN
            CASE item OF
                SetupDialogC: Dialooginstellingen;
                1: HandelingOK;
                2: HandelingAnnuleer;
        END;
    END;
    BEGIN
        MaakDialoog;
            IF VerifyLayout(id) THEN DialoogResultaat:=RunLayoutDialog(id,Dialooghandelingen);
    END;
BEGIN
    Dialoog;
END;
RUN(KlasseNaarMap);

(Als iemand weet hoe ik een script kan downgraden naar een lagere versie, mag die het me altijd zeggen)

Alle feedback is welkom! (liefst negatieve, daar leer ik het meeste van tongue.gif )
Home: mac OSX 10.58 | VW 2008 SP3
Work: windows 7 | VW 2010 SP4
0

#2 Gebruiker is offline   Gerrit 

  • Expert
  • Groep: Root Admin
  • Posts: 3,314
  • Lid geworden: 17-June 04
  • Gender:Male
  • Stad:DE Hasselt

Gepost 06 April 2008 - 07:46 PM

Interessant commando, zeker als je vaak met Acad import te maken hebt wink.gif

Na download bevinden er zich bij mij enkele vreemde karakters in de tekst.
Op de aanhef na moest ik de gemarkeerde letter (uiteraard) wissen.

IPB Afbeelding
Retina MacBook Pro i7 • iPad Pro 10.5 • iPhone SE
macOS - iOS - Vectorworks [meest recente versies]
0

#3 Gebruiker is offline   maarten. 

  • Expert
  • Groep: Members
  • Posts: 1,622
  • Lid geworden: 20-January 05
  • Gender:Not Telling
  • Stad:Houthalen

Gepost 07 April 2008 - 06:48 AM

Zeer vreemd, daar heb ik niet echt een verklaring voor...
Ik zal de tekstversie er ook nog eens bij zetten, dat is misschien handiger.

Ben ik trouwens nog vergeten te zeggen in mijn eerste post: Met dank aan Dieter voor een deel van de code!
CODE
PROCEDURE KlasseNaarMap;
    CONST
        STklassen=20;
        LBklassenlijst=21;
        STmap=30;
        ETmap=31;
VAR
    teller, posSel, aantalklassen, positie : INTEGER;
    lijst, GeselKlasse, MapNaam : STRING;
    resultaat : BOOLEAN;


PROCEDURE Dialoog;

    VAR
        id :INTEGER;
        DialoogResultaat :INTEGER;

    PROCEDURE MaakDialoog;
        BEGIN
            id := CreateLayout('Klassen verplaatsen naar map',TRUE,'Verplaats', 'Annuleer');
            CreateStaticText(id,STklassen,'Klassen:',-1);
            SetFirstLayoutItem(id,STklassen);
            CreateListBoxN(id,LBklassenlijst,40,15,TRUE);
            SetBelowItem (id,STklassen,LBklassenlijst,0,6);
            SetHelpString(LBklassenlijst,'Selecteer ??n of meerdere klasses die je naar een klassemap wilt verplaatsen.');
            CreateStaticText(id,STmap,'Map',-1);
            SetRightItem (id,LBklassenlijst,STmap,5,0);
            CreateEditText(id,ETmap,'naam van de map',20);
            SetBelowItem (id,STmap,ETmap,6,-6);
            SetHelpString(ETmap,'Geef de naam van de map waar je de geselecteerde klasses in wilt verplaatsen.');
        END;

    PROCEDURE Dialooghandelingen(VAR item,data:LONGINT);

        PROCEDURE Dialooginstellingen;

        PROCEDURE KlassenlijstVulling(LBklassenlijst : INTEGER);
        VAR
            teller101:INTEGER;
            ZetKlassen : DYNARRAY[] OF STRING;
        BEGIN
            SetEditReal(id,ETmap,1,100);
            ALLOCATE ZetKlassen[1..ClassNum];
            FOR teller101:=1 TO ClassNum DO ZetKlassen[teller101]:=ClassList(teller101);
            SortArray(ZetKlassen,ClassNum,1);
            FOR teller101:=1 TO ClassNum DO
            BEGIN
                InsertChoice(LBklassenlijst,NumChoices(LBklassenlijst),ZetKlassen[teller101]);
            END;
        END;
        BEGIN
            Klassenlijstvulling(LBklassenlijst);
        END;

        PROCEDURE HandelingOK;
            BEGIN
                MapNaam:=GetField(ETmap);
                teller:=0;
                posSel:=0;
                GetSelChoice(LBklassenlijst,posSel,positie,GeselKlasse);
                RenameClass(GeselKlasse,ConCat(MapNaam,'-',GeselKlasse));
                REPEAT
                teller:=teller+1;
                posSel:=posSel+1;
                GetSelChoice(LBklassenlijst,posSel,positie,GeselKlasse);
                RenameClass(GeselKlasse,ConCat(MapNaam,'-',GeselKlasse));
                UNTIL(teller> positie);
            END;
        PROCEDURE HandelingAnnuleer;
            BEGIN
            END;
        BEGIN
            CASE item OF
                SetupDialogC: Dialooginstellingen;
                1: HandelingOK;
                2: HandelingAnnuleer;
        END;
    END;
    BEGIN
        MaakDialoog;
            IF VerifyLayout(id) THEN DialoogResultaat:=RunLayoutDialog(id,Dialooghandelingen);
    END;
BEGIN
    Dialoog;
END;
RUN(KlasseNaarMap);



Home: mac OSX 10.58 | VW 2008 SP3
Work: windows 7 | VW 2010 SP4
0

#4 Gebruiker is offline   Pascal 

  • Expert
  • Groep: Members
  • Posts: 1,060
  • Lid geworden: 17-June 04
  • Gender:Male
  • Location:Loker-heuvelland
  • Interests:DTP, jeugdvoetbal
  • Stad:Loker

Gepost 24 September 2015 - 01:32 PM

kan ik deze nog ergens downloaden aub

Pascal
iMac (27-inch, eind 2013)
27-inch (2560 x 1440)
NVIDIA GeForce GTX 775M 2048 MB
Geheugen 16GB
OS El Capitan 10,11.6
IPF825 Canon plotter
Richoh printer/scanner
Vectorworks 2018 Architectuur SP1+ Renderworks
0

#5 Gebruiker is offline   Gerrit 

  • Expert
  • Groep: Root Admin
  • Posts: 3,314
  • Lid geworden: 17-June 04
  • Gender:Male
  • Stad:DE Hasselt

Gepost 24 September 2015 - 01:36 PM

Bekijk Post Pascal, op 24 September 2015 - 01:32 PM, zei:

kan ik deze nog ergens downloaden aub

Pascal


Kan je niet gewoon de code hierboven kopiëren en in een nieuw commando plakken?
Retina MacBook Pro i7 • iPad Pro 10.5 • iPhone SE
macOS - iOS - Vectorworks [meest recente versies]
0

#6 Gebruiker is offline   Pascal 

  • Expert
  • Groep: Members
  • Posts: 1,060
  • Lid geworden: 17-June 04
  • Gender:Male
  • Location:Loker-heuvelland
  • Interests:DTP, jeugdvoetbal
  • Stad:Loker

Gepost 24 September 2015 - 01:51 PM

Gerrit,

heb ik geporbeerd, maar krijg volgende foutmeldingen en weet niet hoe ik ze moet oplossen

Bijgesloten miniatuur

  • Bijgesloten Plaatje : Schermafbeelding 2015-09-24 om 14.50.17.png

iMac (27-inch, eind 2013)
27-inch (2560 x 1440)
NVIDIA GeForce GTX 775M 2048 MB
Geheugen 16GB
OS El Capitan 10,11.6
IPF825 Canon plotter
Richoh printer/scanner
Vectorworks 2018 Architectuur SP1+ Renderworks
0

#7 Gebruiker is offline   Pascal 

  • Expert
  • Groep: Members
  • Posts: 1,060
  • Lid geworden: 17-June 04
  • Gender:Male
  • Location:Loker-heuvelland
  • Interests:DTP, jeugdvoetbal
  • Stad:Loker

Gepost 29 September 2015 - 10:20 AM

niemand die me kan (wil) helpen aub?

Pascal
iMac (27-inch, eind 2013)
27-inch (2560 x 1440)
NVIDIA GeForce GTX 775M 2048 MB
Geheugen 16GB
OS El Capitan 10,11.6
IPF825 Canon plotter
Richoh printer/scanner
Vectorworks 2018 Architectuur SP1+ Renderworks
0

Deel dit topic:


Pagina 1 van 1

1 Gebruiker(s) lezen dit topic
0 gebruikers, 1 gasten, 0 anonieme gebruikers