onsdag 30 januari 2019

Structure Label For Each eller Allas Vår Favoritdialog.

Liten instruktion idag, där jag ska försöka skaka fram lite snygga bilder också. Eller så snygga bilder som Civil 3Ds dialogboxar kan ge oss.

Etiketter, eller Labels, i Civil 3D ger oss en fantastisk möjlighet att sätta ut automatisk populerad information på alla möjliga Civil 3D-objekt. Eller så ger de oss en fantastisk möjlighet att bli helt vilse i dialogrutor. Either way, när man väl får ordning på dom så är de ganska underbara.

Idag ska jag skriva lite om structure-etiketter och framförallt alternativen Text For Each.

Första tipset, starta med en label som är så nära ditt mål som möjligt och gör en kopia av den stilen. Enklast är att hitta etiketten på Settings-fliken i din Tool Space och högerklicka och välja Copy. Döp din nya etikett till något bra, om sedan börjar du ändra i den. På fliken Layout så ändrar du allt innehåll i din etikett.


Högst upp har du Component-listan. Här har du alla de individuella objekten som din etikett består av. När du har valt en komponent så ser du sedan all info om den komponenten i rutan nedanför, och en förhandsvisning av etiketten till höger. 
För att lägga till en ny komponent så klickar du på A-knappen bredvid komponent-listan. Just idag ska jag lägga till en komponent som heter Text For Each. Structure-labels kan använda Text For Each-alternativet för att lägga till en text för varje ledning som ansluter till brunnen, eller enbart för utgående ledningar, eller enbart ingående ledningar. 

Nästa steg är att lägga till vilken information som ska visas i etiketten, det gör du på Contents-raden. I nästa dialogruta har du en lista med den information som du kan lägga till för varje anslutande ledning. Denna listan är alltså all information som vi kan läsa av objektet, i detta fallet anslutande ledning. I mitt fall så vill jag ha Connected Pipe Invert Elevation eftersom jag vill ha vattengångsnivån för alla anslutande ledningar. 


När jag valt vilken information jag vill ha så ställer jag in hur den informationen ska visas och klickar sedan på pilen för att läsa in mina val till högersidan, där du "ser" vad etiketten kommer innehålla. Och nej, du ser det förmodligen inte. Oavsett om man har vit eller svart bakgrund så ser man knappt något i den rutan. Om du markerar din text så ser du kanske lite bättre.

När du har ställt in vilken information du vill ha i etiketten så går du tillbaka till första dialogen. Ställ in Anchor-point för din text (var den ska ansluta i förhållande till structuren alltså), text height, text offset osv.

Om du tänker att du kommer att placera ut etiketten och sedan flytta etiketten så behöver du titta på Dragged State-fliken också. Man kan alltså ha olika text-höjd och placering av texter när du drar i den, så om du ändrar text höjd på Layout-fliken, glöm inte att ändra text-höjd på Dragged State-fliken också. Det är även här som du bestämmer om du ska få en Leader när du drar i etiketten.
Du kan även ställa in Dragged State att vara As Composed, då blir texten som Layout-fliken säger.

När du tror du är klar klickar du på Apply och OK och kollar hur din etikett ser ut i din ritning. Förmodligen behöver du göra lite ändringar, då är det bara in i Label Style Composer igen (markera din etikett, högerklick och Edit Label Style brukar vara snabbast) men glöm inte att klicka Apply innan du går tillbaka till ritningen igen, ibland så slår inte ändringar igenom annars.

Dela med sig av egna macro-knappar eller Captain Buttonbeard!

Detta blir till en viss del en uppdatering av ett gammalt inlägg, hur man skapar en egen knapp i Autocad med tillagd information om hur du delar med dig av den supergrymma knappen som du just gjorde!

Allt detta görs inne i en och samma dialog som du kommer till med funktionen CUI

Skapa funktionen: 
Du skapar ett kommando först, med den rödmarkerad stjärn-knappen. På höger sida får du då fylla i allt om hur du vill att din funktion ska fungera. Vad den ska heta, vad som ska visas i Tooltipet (förslagsvis hur funktionen ska användas) och vilken ikon funktionen ska ha. Du kan ha flera funktioner med samma ikon så du kan utan problem välja en bild i övre delen av dialogen - eller så har du en egen bild förberedd.
I Macro-rutan ska du skriva in din funktion, i mitt exempel använder jag Mitt Favorit Macro.


Lägga in funktionen på en panel, lägga panelen på en flik: 

När kommandot är klart så ska det läggas på en panel. Jag har skapat en egen panel här genom att högerklicka på Panels och välja New. Sedan klickar och drar du funktionen från nedre vänstra avdelningen upp till din panel. När knappen väl ligger på panelen så bestämmer du till höger hur knappen ska se ut på panelen.
Sedan lägger jag panelen på en flik eller tab. Samma förfarande, skapa en tab genom att högerklicka på Tabs och dra sedan panelen från Panel-avdelningen till din nyskapade Tab. Du behöver inte skapa en tab, du kan lägga in panelen på en befintlig tab också. 


Ska du bara använda din funktion på din dator så är du klar nu, men om du ska dela med dig av din super-duper fina funktion (eller spara ut din funktion om du ska installera om Civil 3D) så är det några steg till: 

Spara funktionen, panelen och fliken till en CUI: 

I CUI-funktionen finns också en Transfer-tab högst upp. Där har du dina tabs och paneler på vänster sida och på höger sida har du en tom CUIx-fil. Hitta din tab eller panel och dra över den från vänster sida till höger sida, klicka sedan på Spara-knappen högst upp. Om du drar tabben så får du med panelen och funktionen så du behöver bara flytta det högsta objektet så att säga. 

Det är denna CUIx-fil som du kan skicka till dina kollegor eller spara på något lämpligt ställe inför ominstallation av din egen dator. 


Läs in din flik, panel och funktion till en ny dator.

Öppna CUI-dialogen på den andra datorn. Om du tog en hel en tab så kan du ladda in CUIx-filen genom att högerklicka på Partial Customization File och hitta din CUIx-fil. 
Om du bara gjorde en panel så behöver du gå till Transfer-fliken och göra tvärtom hur du gjorde alldeles nyss, alltså öppna din egna CUIx-fil på högersida, dra panelen från höger till vänster och lägg den under Panels. Till sist gå till första fliken och lägga panelen på den befintliga fliken där du vill ha panelen. 




tisdag 22 januari 2019

Surface Styles eller En EXAKT höjd? Du kan inte visa en EXAKT höjd, det förstår du väl...

Dagens inlägg, första för i år faktiskt, sponsras av Skrik och Panik. Mest Panik, men Skrik kommer som en nära tvåa. Men mitt i all panik så fick jag en fråga från en kund som hade redigerat en surface style men surfacen visade inte alla nivåkurvor på alla ställen. Mycket störigt.

Innan jag förklara lösningen så tänkte jag dra lite kort om Surface Styles.

Första att tänka på är att det faktiska utseendet på ytan har inget med stylen att göra. Ytan är en triangelmodell, stylen som du har på din yta är bara ett visningsläge. Ytan består av trianglar, hur du än gör (vi ignorerar rutnätsmodeller just nu). Så Surface Style = Visningsläge.

Styles som visar Nivåkurvor lägger ut linjer på din yta där den når vissa nivåer. Linjerna kan alltså ligga mitt i trianglar, linjerna är bara en visualisering av ytan. Du kan extrahera dessa linjer om du skulle vilja, men när du enbart har de i din style så är linjerna inte individuella linjer, du kan inte dra i dessa linjer för att förändra din yta.

Hur tätt linjerna visas, och hur de ser ut bestäms i Surface Stylen. (Här får jag en deja vu och inser att jag beskrev hur Contour Interval fungerar i senaste inlägget)

Du kan alltså ställa in vilka intervall du vill ha på Contour-fliken och sätta färger på dessa contours på Display-fliken. Det var detta min kund hade gjort, men när hen sparade sin style och gick tillbaka till ritningen och syntes inte alla Major Interval höjderna.

Förklaringen blev, i sann Civil 3D-anda: höjden var för exakt.

Ytan var skapad av featurelines och den högsta featurelinen låg på exakt 17.5 meter - och Major Interval var på 0.5m så ytan borde ha en Major Interval som högst punkt. Men så exakt fungerade det inte. När vi ändrade den högsta Featurelinen till 17.501 - då kom det fram en Major Interval-kurva på 17.5.

Sedan finjusterade vi lösningen till att lägga till en linje strax ovanför 17.5-linjen som låg på 17.501 för att få nivåkurvan på rätt ställe i alla fall.

Det är såna här fel som jag blir glad av att lösa, men så är jag kanske lite konstig också :)