Egenskaben ByBlock

For det meste anvender vi egenskaben ByLayer for alle emner (linjer, cirkler, tekst osv.), vi opretter. Men der er også andre muligheder, som tilbyder større fleksibilitet.
Der er thre mulige indstillinger for emners egenskaberne Color, Linetype, Lineweight and Transparency:

  • En direkte tilknyttet værdi — En specifik værdi tilknyttet det enkelte emne.
  • ByLayer — Emnet arver dets egenskab fra det lag, emnet tilhører.
    Hvis et lag f.eks. har linjetypen Hidden, vil alle emner, der er placeret på laget og som har Linetype Bylayer, arve linjetypen Hidden.
  • ByBlock — Emnet arver dets egenskab fra den blok, emnet tilhører. Bemærk, at når emnet ikke er en del af en blok, arver emnet layoutets standardværdi (Internt opfatter AutoCAD nemlig layouts i PaperSpace og ModelSpace som blokke). For en farve vil det typisk være farve nummer 7 (hvid/sort). For linjetypen vil det typisk være linjetypen Continuous osv.
    Eksempel: Hvis en indsat blok har farven Bylayer, og er indsat i et lag med farve nummer 2 (gul), vil alle objekter, som har farve ByBlock eller byLayer inden i blokken få farve efter laget. Men, hvis vi ændrer blokkens farve til en direkte tilknyttet værdi (f.eks. farve 3 = grøn), vil alle objekter, som har farve ByBlock, inden i blokken, antage farven grøn, mens alle objekter, der har farve ByLayer, inden i blokken, vil få farve efter laget = farve 2 (gul). Det kan lyde komplekst, men når man først har fået fat i princippet, kan man udnytte det til egen fordel.

I de følgende tre eksempler har vi oprettet en blok, som vi har give navnet Door. Vi har derefter åbnet blokken i blok-editoren.
Her ændrer vi alle emnerne (linjer og en cirkelbue) internt i blokken til at have egenskaben ByBlock for farve.

Cirkelbuen får linetype = ByBlock. Alle de øvrige emner beholder linetype Bylayer.

Dørbladet (den lodrette streg) får Lineweight = ByBlock. Alle øvrige emner beholder Lineweight = Bylayer.

Vi lukker blok-editoren, gemmer blokken og indsætter blokken i tre forskellige lag for at demonstrere den visuelle forskel. Vi bruger bare standardnavnene ved oprettelse af lagene: “Layer 1”, “Layer 2” og “Layer 3”.
Det er vigtigt at bemærke, at alle de tre indsatte blokke (blok-instanserne) har Color Bylayer, Linetype Bylayer og Linewidth Bylayer. Det er kun emnerne inden i blokken, der har egenskaber ByBlock!

Den blok, der er indsat i laget “Layer 1”, bliver rød, fordi den indsatte blok har farve ByLayer og derfor arver farven fra laget, og fordi hvert emne (linje eller cirkelbue) inden i blokken arver sin farve fra den indsatte blok.
På samme måde får de øvrige indsatte instanser af blokken – indsat i laget “Layer 2” og i “Layer 3” – farve fra det lag, hvori de er indsat.

Men nu bliver det mere tricky! Vi ændrer linetypen for blokken (blok-instansen = den indsatte blok) på laget “Layer 2” til linjetypen ACAD_ISO03W100, og vi ændrer linewidth for blokken (blok-instansen = den indsatte blok) på “Layer 3” til 0.5 mm.

resultatet

Cirkelbuen i blokken i Layer 2 får linetype = ACAD_ISO03W100, og dørbladet for blokken i laget “Layer 3” får lineweight = 0.5 mm.
Med andre ord: Samme blok, men tre forskellige grafiske afbildninger.

Bemærk!
For at være sikker på at se ændringerne i lineweight: Sæt LWDISPLAY = ON.

Forklaring …

Blokken, der er indsat i laget “Layer 1” …
  • Color (synlig effekt): Alle emner inden i blokken arver farven rød fra den indsatte blok, da de er defineret med color=ByBlock, og den indsatte blok arver farven fra laget.
  • Linetype (ingen synlig effekt): Alle emner inden i blokken undtagen cirkelbuen har Linetype Bylayer og arver derfor linetype Continuous fra laget “Layer 1”.
    Cirkelbuen har Linetype ByBlock og arver Linetype fra den indsatte blok, men da den indsatte blok har Linetype Bylayer, bliver der ingen ændring at se i dette tilfælde.
  • Lineweight (ingen synlig effekt): Alle emner inden i blokken undtagen dørbladet arver Lineweight fra laget “Layer 1” (Lineweight = Default).
    Dørbladet arver Lineweight fra den indsatte blok, som har Lineweight Bylayer og derfor igen arverLineweight fra laget Layer 1 (Lineweight = Default). Derfor bliver der heller ikke her nogen ændring at se.
Blokken, der er indsat i laget “Layer 2”
  • Color (synlig effekt): Alle emner inden i blokken har Color = ByBlock og arver derfor farven fra den indsatte blok, som har Color = Bylayer og derfor arver farven gul fra laget “Layer 2”.
  • Linetype (synlig effekt): Alle emner inden i blokken undtagen cirkelbuen har Linetype Bylayer og arver derfor Linetype direkte fra laget “Layer 2” (Linetype = Continuous).
    Cirkelbuen har Linetype ByBlock og arver derfor sin Linetype fra den indsatte blok, som har Linetype Bylayer og derfor arver Linetype fra laget “Layer 2” (Linetype = Continuous).
  • Lineweight (ingen synlig effekt): Alle emner inden i blokken undtagen dørbladet arver Lineweight fra laget “Layer 2” (Lineweight = Default).
    Dørbladet arver sin Lineweight fra den indsatte blok, men da denne har Lineweight Bylayer, bliver der ingen synlig ændring her.
Blokken, der er indsat i laget “Layer 3”
  • Color: Alle emner inden i blokken arver farve fra den indsatte blok, som har Color = Bylayer og derfor arver farven fra laget “Layer 3” (Green).
  • Linetype: Alle emner inden i blokken undtagen cirkelbuen har Linetype Bylayer og arver derfor Linetype direkte fra laget “Layer 3”, som har Linetype = Continuous.
    Cirkelbuen har Linetype ByBlock og arver derfor sin linjetype fra den indsatte blok, som i dette tilfælde har fået tildelt en Linetype ACAD_ISO03W100 direkte. Derfor får cirkelbuen også Linetype = ACAD_ISO03W100.
  • Lineweight: Alle emner inden i blokken undtagen dørbladet har Lineweight Bylayer og arver derfor Lineweight direkte fra laget”inherits the Lineweight from “Layer 3”, som har Lineweight = Default.
    Dørbladet har Lineweight ByBlock og arver dwerfor lin lineweight fra den indsatte blok, som har fået sin Lineweight via et direkte brugerinput = 0.5 i Properties-dialogen. Derfor bliver dørbladets Linewidth 0.5 mm.

Prøv selv flere muligheder … 🙂