Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo liebe Leute,

 

wie ist es möglich, eine selbst angelegte Tabelle nur für einen selektierten Bereich zu erzeugen ???

Ich habe hier eine Zeichnung mit mehreren Positionen und möchte für jede Position ein Layout erstellen mit der dazugehörigen Datenliste.

 

Geschrieben

also ich habe mir gerade im amerikanischen Forum ein script entwerfen lassen, was einen ansichtsbereich durchsucht, was dort zu sehen ist.

 

leidere ist es in ermangelung von programmierfaehigkeiten meinerseits und fehlender Zeit das zu lernen noch nicht weiter als der basiscode, den mit einer von VWE INC da reingepackt hat.

 

Ich versuche daten aus symbolen auszulesen, die in einem ansichtsbereich enthalten sind.

 

Im prinzip muesste das auch anderssherum gehen.

 

Also den Filter so umschreiben, dass er beruecksichtigt, ob die objekte im Ansichtsbereich enthalten sind.

 

 

  • Like 2

HP Z2 G9 Wolf Security Edition Win 11 Pro I0 14900 24 kerne 3.2 ghz, 64 gb RAM, NVIDIA RTX A4000. VWX 2025

Geschrieben
PROCEDURE Main;

PROCEDURE UpdateTitleBlockBorderPIO(h : HANDLE);
VAR
    wsHdl : HANDLE;
    searchValue, foundValue, checkValue : STRING;
    rowCount, colCount, subrowCount, i, j : INTEGER;
    bFound : BOOLEAN;
BEGIN
    wsHdl := GetObject('myWS');
    bFound := FALSE;
    IF wsHdl <> NIL THEN BEGIN
        searchValue := GetRField(h, 'Title Block Sheet Data', 'Name');
		GetWSRowColumnCount(wsHdl, rowCount, colCount);
        foundValue := '';
        FOR i := 1 TO rowCount DO BEGIN
			IF NOT bFound THEN
			BEGIN
				GetWSSubrowCount(wsHdl, i, subrowCount);
				IF subrowCount > 0 THEN BEGIN
					FOR j := 1 TO subrowCount DO BEGIN
						GetWSSubrowCellString(wsHdl, i, j, 1, checkValue);{ Or another column if needed }
						IF checkValue = searchValue THEN BEGIN
							GetWSSubrowCellString(wsHdl, i, j, 2, foundValue);{ Or another column if needed }
							bFound := TRUE;
						END;
					END;
				END ELSE BEGIN
					GetWSCellString(wsHdl, i, 1, checkValue);
					IF checkValue = searchValue THEN BEGIN
						GetWSCellString(wsHdl, i, 2, foundValue);{ Or another column if needed }
						bFound := TRUE;
					END;
				END;
			END;
        END;
        IF foundValue <> '' THEN
            SetRField(h, 'Title Block Project Data', 'WS Data', foundValue)
        ELSE
            SetRField(h, 'Title Block Project Data', 'WS Data', ''); { Or show an alert if preferred }
    END ELSE BEGIN
        AlrtDialog('Worksheet "myWS" not found.');
    END;
END;

BEGIN
    ForEachObject(UpdateTitleBlockBorderPIO, ((T=PIO) & (PON='Title Block Border')));
END;

RUN(Main);

HP Z2 G9 Wolf Security Edition Win 11 Pro I0 14900 24 kerne 3.2 ghz, 64 gb RAM, NVIDIA RTX A4000. VWX 2025

Geschrieben

Hi Holzzukunft,

 

wenn du dein Klassen-, Ebenen-Baum, und die Projektdetails im Vorgabedokument so vorgibst wie du dauerhaft damit arbeiten willst kannst du für jede Position über den Filter in der Tabelle doch eine Tabelle für Pos. 1 Pos. 2 usw anlegen oder? 

 

Was meinst du mit Datenliste?

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...