Problem

We need the exact name or index of one of the two basic fills. In opposite to the possibility to define solid or empty fills there is no command to request the two default ones.

Solution

The IND() - command requests the index of attributes. If the attribute is not found it returns 0 and a warning, when checking the script. The trick is to list all possible or common names of this fills. No language independent solution. Of course.

Script - Solid fill

IF GLOB_CONTEXT=1 THEN
  !»» to avaoid warnings by check script
  schraffur=1
  sts=REQUEST ("NAME_OF_FILL",
schraffur, schraffurname)
  ELSE
  sts=
MAX(IND(fill,"Massiv"),IND(fill,"Feste"),IND(fill,"Feste Schraffur"))
  sts=MAX(sts
,IND(fill,"Solid"),IND(fill,"Solid fill"))
 
IF sts THEN
    !»» Found at least one fill with this names
    schraffur=sts
    sts=REQUEST ("NAME_OF_FILL", schraffur, schraffurname)
    ELSE
    !»» Define a new solid fill
    schraffurname="GDL_Solid"
    !»» for AC 8.1-
    DEFINE FILL schraffurname 255,255,255,255,255,255,255,255,
      0.08*GLOB_SCALE/1000,0,1,  1,0,0,0,1,  1
    !»» for AC 9.0+
    !   DEFINE SOLID_FILL schraffurname
    schraffur=IND(FILL, schraffurname)
    ENDIF
 
ENDIF
FILL schraffur

Script - Empty fill

IF GLOB_CONTEXT=1 THEN
  !»» to avaoid warnings by check script
  schraffur=1
  sts=REQUEST ("NAME_OF_FILL",
schraffur, schraffurname)
  ELSE
  sts=
MAX(IND(fill,"Leer"),IND(fill,"Leere Schraffur"),IND(fill,"Luftschicht"))
  sts=MAX(sts,IND(fill,"Empty"),IND(fill,"Empty fill"))
 
IF sts THEN
    !»» Found at least one fill with this names
    schraffur=sts
    sts=REQUEST ("NAME_OF_FILL", schraffur, schraffurname)
    ELSE
    !»» Define a new empty fill
    schraffurname="GDL_Solid"
    !»» for AC 8.1-
    DEFINE FILL schraffurname 0,0,0,0,0,0,0,0, 0,0,0
    !»» for AC 9.0+
    !   DEFINE EMPTY_FILL schraffurname
    schraffur=IND(FILL, schraffurname)
    ENDIF
 
ENDIF
FILL schraffur

Script - Solid and empty fill (light)

!*** Schraffuren

sts=MAX(IND(fill,"Leer"),IND(fill,"Leere Schraffur"),IND(fill,"Luftschicht"))
sts=MAX(sts,IND(fill,"Empty"),IND(fill,"Empty fill"))
IF sts THEN
    !»» Found at least one fill with this names
    schraffurL=sts
    sts=REQUEST ("NAME_OF_FILL", schraffurL, schraffurnameL)
    ELSE
    !»» Define a new solid fill
    schraffurnameL="GDL_Solid"
    DEFINE SOLID_FILL schraffurnameL
    schraffurL=IND(FILL, schraffurnameL)
    ENDIF
sts=MAX(IND(fill,"Massiv"),IND(fill,"Feste"),IND(fill,"Feste Schraffur"))
sts=MAX(sts,IND(fill,"Solid"),IND(fill,"Solid fill"))
IF sts THEN
    !»» Found at least one fill with this names
    schraffurF=sts
    sts=REQUEST ("NAME_OF_FILL", schraffurF, schraffurnameF)
    ELSE
    !»» Define a new solid fill
    schraffurnameF="GDL_Solid"
    DEFINE SOLID_FILL schraffurnameF
    schraffurF=IND(FILL, schraffurnameF)
    ENDIF

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir nur essenzielle Cookies.
Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu.
Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung