START 59 %KEN1:=ZKEN $PTH:=#: $NAM:=_ATTRPL %ANZGES:=ZANZ %ANZAKT:=1 IF ANZGES>0 THEN REM HiCAD S7= Objekt-Ident. OPTION 17 59 REM OBJEKT-IDENT. 10= Listenfunkt. OPTION 10 240 REM Liste in DAT-Datei schreiben INTEGER 7 REM Aktion auswählen: INTEGER 1 STRING $PTH+$NAM ELSE CALL 1:3dteil_teileattribute GOTO 100 IFEND $TNAMa:=# $SNRa:=# $TAa:=# $PNRa:=# $PTXTa:=# $ANZa:=# $BEN1a:=# $BEN2a:=# $BEMa:=# $ABM1a:=# $WSTa:=# $NORMa:=# $TXT2:=Teil als Attribute-Vorlage wählen (MMT=weiter ohne Vorlage) CALL 1:KRPWAHL IF WAHL>0 THEN FUNC %RET:=Teil->Attribute.Lesen("$TN",$TNAMa) FUNC %RET:=Teil->Attribute.Lesen("$BB",$SNRa) FUNC %RET:=Teil->Attribute.Lesen("$05",$TAa) FUNC %RET:=Teil->Attribute.ILesen("%02",%PNRa) WERT %PNRa IF VORHD THEN $PNRa:=%PNRa ELSE DEL $PNRa IFEND FUNC %RET:=Teil->Attribute.Lesen("$PTXT",$PTXTa) FUNC %RET:=Teil->Attribute.ILesen("%01",%ANZa) WERT %ANZa IF VORHD THEN $ANZa:=%ANZa ELSE DEL $ANZa IFEND FUNC %RET:=Teil->Attribute.Lesen("$01",$BEN1a) FUNC %RET:=Teil->Attribute.Lesen("$02",$BEN2a) FUNC %RET:=Teil->Attribute.Lesen("$03",$BEMa) FUNC %RET:=Teil->Attribute.Lesen("§09",$ABM1a) FUNC %RET:=Teil->Attribute.Lesen("$07",$WSTa) FUNC %RET:=Teil->Attribute.Lesen("NRM",$NORMa) IF $TNAMa = "$" THEN DEL $TNAMa IFEND IF $SNRa = "$" THEN DEL $SNRa IFEND IF $TAa = "$" THEN DEL $TAa IFEND IF $PTXTa = "$" THEN DEL $PTXTa IFEND IF $BEN1a = "$" THEN DEL $BEN1a IFEND IF $BEN2a = "$" THEN DEL $BEN2a IFEND IF $BEMa = "$" THEN DEL $BEMa IFEND IF $ABM1a = "$" THEN DEL $ABM1a IFEND IF $WSTa = "$" THEN DEL $WSTa IFEND IF $NORMa = "$" THEN DEL $NORMa IFEND IFEND ( ECHO Attribute in der aktuellen Auswahl austauschen (1/2) ECHO =================================================== ECHO Werte angeben, die ersetzt werden sollen (# = beliebiger Wert): ECHO [Eingabe Abc = Suche *Abc*] [Groß-/Kleinschreibung beachten] VAR $TNAMa Teilename: VAR $SNRa Sachnummer: VAR $TAa Teileart: VAR $PNRa Pos.Nr.: VAR $PTXTa Pos.Nr.-Text: VAR $ANZa Anzahl je Teil: VAR $BEN1a Bennenung 1: VAR $BEN2a Bennenung 2: VAR $BEMa Bemerkung: VAR $ABM1a Abmessung 1: VAR $WSTa Werkstoff: VAR $NORMa Norm: ) IF ESC GOTO 100 WERT $TNAMa IF VORHD THEN $TNAMb:=$TNAMa IFEND WERT $SNRa IF VORHD THEN $SNRb:=$SNRa IFEND WERT $TAa IF VORHD THEN $TAb:=$TAa IFEND WERT $PNRa IF VORHD THEN $PNRb:=$PNRa IFEND WERT $PTXTa IF VORHD THEN $PTXTb:=$PTXTa IFEND WERT $ANZa IF VORHD THEN $ANZb:=$ANZa IFEND WERT $BEN1a IF VORHD THEN $BEN1b:=$BEN1a IFEND WERT $BEN2a IF VORHD THEN $BEN2b:=$BEN2a IFEND WERT $BEMa IF VORHD THEN $BEMb:=$BEMa IFEND WERT $ABM1a IF VORHD THEN $ABM1b:=$ABM1a IFEND WERT $WSTa IF VORHD THEN $WSTb:=$WSTa IFEND WERT $NORMa IF VORHD THEN $NORMb:=$NORMa IFEND ( ECHO Attribute in der aktuellen Auswahl austauschen (2/2) ECHO =========================================== ECHO Neue Werte angeben: VAR $TNAMb Teilename: VAR $SNRb Sachnummer: VAR $TAb Teileart: VAR $PNRb Pos.Nr.: VAR $PTXTB Pos.Nr.-Text: VAR $ANZb Anzahl je Teil: VAR $BEN1b Benennung 1: VAR $BEN2b Benennung 2: VAR $BEMb Bemerkung: VAR $ABM1b Abmessung 1: VAR $WSTb Werkstoff: VAR $NORMb Norm: ) IF ESC GOTO 100 $TXT:=Nebenteile bearbeiten? / Edit subparts? call 0:frage %NT:=WAHL WERT $TNAMb IF NOT VORHD THEN $TNAMb:=" IFEND WERT $SNRb IF NOT VORHD THEN $SNRb:=" IFEND WERT $TAb IF NOT VORHD THEN $TAb:=" IFEND WERT $PNRb IF NOT VORHD THEN $PNRb:=" IFEND WERT $PTXTb IF NOT VORHD THEN $PTXTb:=" IFEND WERT $ANZb IF NOT VORHD THEN $ANZb:=" IFEND WERT $BEN1b IF NOT VORHD THEN $BEN1b:=" IFEND WERT $BEN2b IF NOT VORHD THEN $BEN2b:=" IFEND WERT $BEMb IF NOT VORHD THEN $BEMb:=" IFEND WERT $ABM1b IF NOT VORHD THEN $ABM1b:=" IFEND WERT $WSTb IF NOT VORHD THEN $WSTb:=" IFEND WERT $NORMb IF NOT VORHD THEN $NORMb:=" IFEND WERT $TNAMa IF NOT VORHD THEN $TNAMa:=$TNAMb IFEND WERT $SNRa IF NOT VORHD THEN $SNRa:=$SNRb IFEND WERT $TAa IF NOT VORHD THEN $TAa:=$TAb IFEND WERT $PNRa IF NOT VORHD THEN $PNRa:=$PNRb IFEND WERT $PTXTa IF NOT VORHD THEN $PTXTa:=$PTXTb IFEND WERT $ANZa IF NOT VORHD THEN $ANZa:=$ANZb IFEND WERT $BEN1a IF NOT VORHD THEN $BEN1a:=$BEN1b IFEND WERT $BEN2a IF NOT VORHD THEN $BEN2a:=$BEN2b IFEND WERT $BEMa IF NOT VORHD THEN $BEMa:=$BEMb IFEND WERT $ABM1a IF NOT VORHD THEN $ABM1a:=$ABM1b IFEND WERT $WSTa IF NOT VORHD THEN $WSTa:=$WSTb IFEND WERT $NORMa IF NOT VORHD THEN $NORMa:=$NORMb IFEND %AEND:=0 IF $TNAMa<>$TNAMb THEN %AEND:=AEND+1 IFEND IF $SNRa<>$SNRb THEN %AEND:=AEND+1 IFEND IF $TAa<>$TAb THEN %AEND:=AEND+1 IFEND IF $PNRa<>$PNRb THEN %AEND:=AEND+1 IFEND IF $PTXTa<>$PTXTb THEN %AEND:=AEND+1 IFEND IF $ANZa<>$ANZb THEN %AEND:=AEND+1 IFEND IF $BEN1a<>$BEN1b THEN %AEND:=AEND+1 IFEND IF $BEN2a<>$BEN2b THEN %AEND:=AEND+1 IFEND IF $BEMa<>$BEMb THEN %AEND:=AEND+1 IFEND IF $ABM1a<>$ABM1b THEN %AEND:=AEND+1 IFEND IF $WSTa<>$WSTb THEN %AEND:=AEND+1 IFEND IF $NORMa<>$NORMb THEN %AEND:=AEND+1 IFEND IF %AEND=0 THEN GOTO 99 IFEND IF ANZGES<1 THEN %ANZGES:=1 GOTO 30 IFEND 10: IF ANZAKT > ANZGES THEN GOTO 99 ELSE OPTION ESC OPTION ESC OPTION ESC OPTION ESC OPEN #:_ATTRPL %N:=0 20: IF N < ANZAKT THEN INPUT %KEN1 IF NOT DVORH THEN OPTION ESC OPTION ESC GOTO 99 ELSE %N:=N+1 GOTO 20 IFEND ELSE CLOSE 30: REM HiCAD 3 = 3-D SZENE OPTION 3 59 REM 3D - SZENE 3 = Bearbeiten OPTION 3 101 REM TEILE 10= Aktivieren OPTION 10 102 STRING X__IDINDX INTEGER KEN1 REM HiCAD 3 = 3-D SZENE OPTION 3 59 REM 3D - SZENE 3 = Bearbeiten OPTION 3 101 REM TEILE 3 = Parameter OPTION 3 102 REM TEILE PARAM. 4 = Strukturablauf OPTION 4 105 REM Start des Ablaufes INTEGER 1 REM aktives Teil (1) / Szene (2) INTEGER 1 40: REM AUSTAUSCH IF $TNAMa<>$TNAMb THEN FUNC %RET:=Teil->Attribute.Lesen("$TN",$TNAMt) $TNAMn:=@ IF $TNAMa = "#" THEN $TNAMn:=$TNAMb IFEND IF IDX($TNAMt,$TNAMa)>0 THEN %a:=IDX($TNAMt,$TNAMa)-1 %b:=IDX($TNAMt,$TNAMa)+LEN($TNAMa) %l:=LEN($TNAMt) IF a>0 THEN $TNAMn:=$TNAMt(1:%a) $TNAMn:=$TNAMn+$TNAMb ELSE $TNAMn:=$TNAMb IFEND IF b<=l THEN $TNAMn:=$TNAMn+$TNAMt(%b:%l) IFEND IFEND IF $TNAMn <> "@" THEN FUNC %RET:=Teil->Attribute.Schreiben("$TN",$TNAMn) IFEND IFEND IF $SNRa<>$SNRb THEN FUNC %RET:=Teil->Attribute.Lesen("$BB",$SNRt) $SNRn:=@ IF $SNRa = "#" THEN $SNRn:=$SNRb IFEND IF IDX($SNRt,$SNRa)>0 THEN %a:=IDX($SNRt,$SNRa)-1 %b:=IDX($SNRt,$SNRa)+LEN($SNRa) %l:=LEN($SNRt) IF a>0 THEN $SNRn:=$SNRt(1:%a) $SNRn:=$SNRn+$SNRb ELSE $SNRn:=$SNRb IFEND IF b<=l THEN $SNRn:=$SNRn+$SNRt(%b:%l) IFEND IFEND IF $SNRn <> "@" THEN FUNC %RET:=Teil->Attribute.Schreiben("$BB",$SNRn) IFEND IFEND IF $TAa<>$TAb THEN FUNC %RET:=Teil->Attribute.Lesen("$BB",$TAt) $TAn:=@ IF $TAa = "#" THEN $TAn:=$TAb IFEND IF IDX($TAt,$TAa)>0 THEN %a:=IDX($TAt,$TAa)-1 %b:=IDX($TAt,$TAa)+LEN($TAa) %l:=LEN($TAt) IF a>0 THEN $TAn:=$TAt(1:%a) $TAn:=$TAn+$TAb ELSE $TAn:=$TAb IFEND IF b<=l THEN $TAn:=$TAn+$TAt(%b:%l) IFEND IFEND IF $TAn <> "@" THEN FUNC %RET:=Teil->Attribute.Schreiben("$05",$TAn) IFEND IFEND IF $PNRa<>$PNRb THEN FUNC %RET:=Teil->Attribute.ILesen("%02",%PNRt) WERT %PNRt IF VORHD THEN $PNRt:=%PNRt ELSE $PNRT:=" IFEND $PNRn:=@ IF $PNRa = "#" THEN $PNRn:=$PNRb IFEND IF IDX($PNRt,$PNRa)>0 THEN %a:=IDX($PNRt,$PNRa)-1 %b:=IDX($PNRt,$PNRa)+LEN($PNRa) %l:=LEN($PNRt) IF a>0 THEN $PNRn:=$PNRt(1:%a) $PNRn:=$PNRn+$PNRb ELSE $PNRn:=$PNRb IFEND IF b<=l THEN $PNRn:=$PNRn+$PNRt(%b:%l) IFEND IFEND IF $PNRn <> "@" THEN %PNRn:=VAL($PNRn) FUNC %RET:=Teil->Attribute.ISchreiben("%02",%PNRn) IFEND IFEND IF $PTXTa<>$PTXTb THEN FUNC %RET:=Teil->Attribute.Lesen("$PTXT",$PTXTt) $PTXTn:=@ IF $PTXTa = "#" THEN $PTXTn:=$PTXTb IFEND IF IDX($PTXTt,$PTXTa)>0 THEN %a:=IDX($PTXTt,$PTXTa)-1 %b:=IDX($PTXTt,$PTXTa)+LEN($PTXTa) %l:=LEN($PTXTt) IF a>0 THEN $PTXTn:=$PTXTt(1:%a) $PTXTn:=$PTXTn+$PTXTb ELSE $PTXTn:=$PTXTb IFEND IF b<=l THEN $PTXTn:=$PTXTn+$PTXTt(%b:%l) IFEND IFEND IF $PTXTn <> "@" THEN FUNC %RET:=Teil->Attribute.Schreiben("$PTXT",$PTXTn) IFEND IFEND IF $ANZa<>$ANZb THEN FUNC %RET:=Teil->Attribute.ILesen("%01",%ANZt) WERT %ANZt IF VORHD THEN $ANZt:=%ANZt ELSE $ANZT:=" IFEND $ANZn:=@ IF $ANZa = "#" THEN $ANZn:=$ANZb IFEND IF IDX($ANZt,$ANZa)>0 THEN %a:=IDX($ANZt,$ANZa)-1 %b:=IDX($ANZt,$ANZa)+LEN($ANZa) %l:=LEN($ANZt) IF a>0 THEN $ANZn:=$ANZt(1:%a) $ANZn:=$ANZn+$ANZb ELSE $ANZn:=$ANZb IFEND IF b<=l THEN $ANZn:=$ANZn+$ANZt(%b:%l) IFEND IFEND IF $ANZn <> "@" THEN %ANZn:=VAL($ANZn) FUNC %RET:=Teil->Attribute.ISchreiben("%01",%ANZn) IFEND IFEND IF $BEN1a<>$BEN1b THEN FUNC %RET:=Teil->Attribute.Lesen("$01",$BEN1t) $BEN1n:=@ IF $BEN1a = "#" THEN $BEN1n:=$BEN1b IFEND IF IDX($BEN1t,$BEN1a)>0 THEN %a:=IDX($BEN1t,$BEN1a)-1 %b:=IDX($BEN1t,$BEN1a)+LEN($BEN1a) %l:=LEN($BEN1t) IF a>0 THEN $BEN1n:=$BEN1t(1:%a) $BEN1n:=$BEN1n+$BEN1b ELSE $BEN1n:=$BEN1b IFEND IF b<=l THEN $BEN1n:=$BEN1n+$BEN1t(%b:%l) IFEND IFEND IF $BEN1n <> "@" THEN FUNC %RET:=Teil->Attribute.Schreiben("$01",$BEN1n) IFEND IFEND IF $BEN2a<>$BEN2b THEN FUNC %RET:=Teil->Attribute.Lesen("$02",$BEN2t) $BEN2n:=@ IF $BEN2a = "#" THEN $BEN2n:=$BEN2b IFEND IF IDX($BEN2t,$BEN2a)>0 THEN %a:=IDX($BEN2t,$BEN2a)-1 %b:=IDX($BEN2t,$BEN2a)+LEN($BEN2a) %l:=LEN($BEN2t) IF a>0 THEN $BEN2n:=$BEN2t(1:%a) $BEN2n:=$BEN2n+$BEN2b ELSE $BEN2n:=$BEN2b IFEND IF b<=l THEN $BEN2n:=$BEN2n+$BEN2t(%b:%l) IFEND IFEND IF $BEN2n <> "@" THEN FUNC %RET:=Teil->Attribute.Schreiben("$02",$BEN2n) IFEND IFEND IF $BEMa<>$BEMb THEN FUNC %RET:=Teil->Attribute.Lesen("$03",$BEMt) $BENxn:=@ IF $BEMa = "#" THEN $BEMn:=$BEMb IFEND IF IDX($BEMt,$BEMa)>0 THEN %a:=IDX($BEMt,$BEMa)-1 %b:=IDX($BEMt,$BEMa)+LEN($BEMa) %l:=LEN($BEMt) IF a>0 THEN $BEMn:=$BEMt(1:%a) $BEMn:=$BEMn+$BEMb ELSE $BEMn:=$BEMb IFEND IF b<=l THEN $BEMn:=$BEMn+$BEMt(%b:%l) IFEND IFEND IF $BEMn <> "@" THEN FUNC %RET:=Teil->Attribute.Schreiben("$03",$BEMn) IFEND IFEND IF $ABM1a<>$ABM1b THEN FUNC %RET:=Teil->Attribute.Lesen("§09",$ABM1t) $ABM1n:=@ IF $ABM1a = "#" THEN $ABM1n:=$ABM1b IFEND IF IDX($ABM1t,$ABM1a)>0 THEN %a:=IDX($ABM1t,$ABM1a)-1 %b:=IDX($ABM1t,$ABM1a)+LEN($ABM1a) %l:=LEN($ABM1t) IF a>0 THEN $ABM1n:=$ABM1t(1:%a) $ABM1n:=$ABM1n+$ABM1b ELSE $ABM1n:=$ABM1b IFEND IF b<=l THEN $ABM1n:=$ABM1n+$ABM1t(%b:%l) IFEND IFEND IF $ABM1n <> "@" THEN FUNC %RET:=Teil->Attribute.Schreiben("§09",$ABM1n) IFEND IFEND IF $WSTa<>$WSTb THEN FUNC %RET:=Teil->Attribute.Lesen("$07",$WSTt) $WSTn:=@ IF $WSTa = "#" THEN $WSTn:=$WSTb IFEND IF IDX($WSTt,$WSTa)>0 THEN %a:=IDX($WSTt,$WSTa)-1 %b:=IDX($WSTt,$WSTa)+LEN($WSTa) %l:=LEN($WSTt) IF a>0 THEN $WSTn:=$WSTt(1:%a) $WSTn:=$WSTn+$WSTb ELSE $WSTn:=$WSTb IFEND IF b<=l THEN $WSTn:=$WSTn+$WSTt(%b:%l) IFEND IFEND IF $WSTn <> "@" THEN FUNC %RET:=Teil->Attribute.Schreiben("$07",$WSTn) IFEND IFEND IF $NORMa<>$NORMb THEN FUNC %RET:=Teil->Attribute.Lesen("NRM",$NORMt) $NORMn:=@ IF $NORMa = "#" THEN $NORMn:=$NORMb IFEND IF IDX($NORMt,$NORMa)>0 THEN %a:=IDX($NORMt,$NORMa)-1 %b:=IDX($NORMt,$NORMa)+LEN($NORMa) %l:=LEN($NORMt) IF a>0 THEN $NORMn:=$NORMt(1:%a) $NORMn:=$NORMn+$NORMb ELSE $NORMn:=$NORMb IFEND IF b<=l THEN $NORMn:=$NORMn+$NORMt(%b:%l) IFEND IFEND IF $NORMn <> "@" THEN FUNC %RET:=Teil->Attribute.Schreiben("NRM",$NORMn) IFEND IFEND if %NT=0 then %ANZAKT:=ANZAKT+1 goto 10 ifend 50: REM HiCAD 3 = 3-D SZENE OPTION 3 59 REM 3D - SZENE 3 = Bearbeiten OPTION 3 101 REM TEILE 3 = Parameter OPTION 3 102 REM TEILE PARAM. 4 = Strukturablauf OPTION 4 105 REM Nächstes Teil aktivieren INTEGER 2 IF NOT VORH THEN %ANZAKT:=ANZAKT+1 IF ANZAKT>ANZGES THEN IFEND GOTO 10 ELSE OPTION ESC REM TEILE 10= Aktivieren REM OPTION 10 102 REM STRING RET GOTO 40 IFEND GOTO 10 IFEND 99: BROWSERUPDATE 100: OPTION ESC DEL $TNAMa DEL $SNRa DEL %PNRa DEL $PNRa DEL $PTXTa DEL %ANZa DEL $ANZa DEL $BEN1a DEL $BEN2a DEL $BEMa DEL $ABM1a DEL $WSTa DEL $NORMa DEL $TNAMb DEL $SNRb DEL $PNRb DEL $PTXTb DEL $ANZb DEL $BEN1b DEL $BEN2b DEL $BEMb DEL $ABM1b DEL $WSTb DEL $NORMb DEL $TNAMt DEL $SNRt DEL %PNRt DEL $PNRt DEL $PTXTt DEL %ANZt DEL $ANZt DEL $BEN1t DEL $BEN2t DEL $BEMt DEL $ABM1t DEL $WSTt DEL $NORMt DEL %a DEL %b DEL %l DEL $TNAMn DEL $SNRn DEL %PNRn DEL $PNRn DEL $PTXTn DEL %ANZn DEL $ANZn DEL $BEN1n DEL $BEN2n DEL $BEMn DEL $ABM1n DEL $WSTn DEL $NORMn DEL %AKTPRT DEL $PTH DEL $NAM DEL %ANZGES DEL %ANZAKT DEL %N DEL %NT END