onsdag 30 november 2022

Alignment Types eller "Let's play Does It Really Matter?"

 Det finns massor av settings i Civil 3D som vi kan ignorera. Eller snarare, det finns massor av settings i Civil 3D som vi ignorerar. Ofta är det settings som vi någon gång i forntiden funderade över, sedan undersökte en stund och kom fram till att den var inte viktig, och sedan glömt bort vad den faktiskt gjorde.

Om ni har haft en nyanställd att lära Civil 3D så vet ni vad jag menar. Nya Civil 3D-användare brukar fastna på alla settings, och med rätta! De vet inte vad som är viktigt så allt är viktigt! 

En typisk sån setting som jag har tänkt länge att jag skulle reda ut är Alignment Types. Jag får den här frågan ibland, och har aldrig något riktigt bra svar - men nu jädrans!

(TL:DR: VA-proj: spelar ingen roll, Väg-proj: använd Centerline/Spelar ingen roll)

Vilka Types är det vi pratar om?

När du skapar en alignment så kan du välja en Type. Beroende på vilken funktion du använder, och vilken mallfil du använder så kan default-värdet variera. Men typerna vi har är Centerline, Offset, Curb Return, Rail och Miscellaneous (uttalshjälp för riktiga nördar, jag brukar bara säga 'misc' och vara nöjd med det)


Det kanske viktigaste effekten som typerna har är var de placeras i Tool Space. Så även om du, efter att ha läst det här inlägget kommer fram till att du inte bryr dig om Type, så är det en bra ide att du är konsekvent i vilken typ du använder, så är det enklare att hitta dom sen. 

Och kom också ihåg att Alignments kan hamna under en Site, men mer om Sites i ett annat inlägg. 

Men är det någon faktiskt skillnad på alignments då?

Ja, parametrarna. Om vi börjar med huvud-typerna Centerline, Rail och Misc. 

En Centerline Alignment kan använda Design Criterias, och en Rail Alignment kan använda både Design Criterias Rail Parameters. En Misc Aligment (den mittersta i bilden nedan) har ingen av dessa flikarna i sin properties. 

Så om du ska göra en Väg-linje och använda Design Criteria, då är det viktigt att använda Centerline Type. Design Criteria är en förutsättning för att kunna använda Superelevation funktionerna. 

De andra typerna då, Offset, Curb Return och Rail Diverted? 

Offset och Curb Return har också sina specifika flikar med properties, men på båda så finns en ruta för "Parent Alignment". Dessa två typerna vill alltså ha en förälder - du kan skapa dom som 'stand alone'-alignments men de är gjorda för att skapas via Create Offset Alignment eller Create Connected Alignment (Curb Return), då fyller deras properties en funktion. 

Rail Diverted typen kan du inte skapa utan att ha en Rail alignment, där krävs det specifika Rail Tools för att göra den typen. 

Kan jag byta type om jag valt fel?

Ja, men också nej. 

Rent funktionsmässigt så kan du gå in i Alignment Properties på vilken Alignment som helst och byta Type på första fliken. Och ja, du får de matchande properties-flikarna då, men kommer Civil 3D att anse den vara en "riktig" alignment av den nya typen? Nej, inte helt. Offset Alignments/Curb Return alignments får inte automatiskt en förälder. En Misc Alignment har fortfarande kvar Design Criteria, även om fliken är dold, vilket gör att du kan få felmeddelanden du inte var beredd på. 



Men... vilken typ ska jag välja då?

Mitt svar har alltid varit: generellt så spelar det inte så stor roll, så länge du väljer Centerline eller Misc.

Och efter det jag har undersökt nu så håller jag fast vid det. 

Om du arbetar med Väg och vill använda alla av Civil 3Ds funktioner, då är det bäst att man använder typerna så som de är tänkta - alltså väglinjer blir Centerline, Offset Alignments är kopplade alignments till Centerlinen och Curb Returns skapas för korsningar. 

Men om du arbetar med Väg och går din egen väg (heh), då kan du göra Centerline-alignments all the way. Du kan sätta typen manuellt för att få en sortering på Alignments i Tool Space, men det är inte riktigt rekommenderat. Intelligent namngivning och Folders är en bättre sortering. 

Om du arbetar med VA så spelar det absolut ingen roll. Det viktigaste här är att man kan hitta sina alignments enkelt, och för det så rekommenderar jag att vara konsekvent med vilken Type du väljer - och skapa Folders. 












torsdag 9 juni 2022

Pipe Slope Settings, Eller Varför går mina ledningar som en bakvänd trappa?

Jag och mina kollegor pratade flödesriktning för ett tag sen (som man gör om man är tre civil-nördar) så jag bestämde mig för att djupdyka lite i ledningsriktningarnas varande och icke varande. 

Vi börjar med teori:

Skillnad mellan Start/End och Flow Direction. 

Alla ledningar har en Start och en End-point. Dessa punkter bestämts av var du klickar när du ritar ut din ledning, Start är alltid först punkten och End är då andra punkten. Om du skapar en ledning från en linje så blir Flow Direction samma som Start-End-punkterna. 

Flow Direction (flödesriktning) kan vara Start-to-End eller End-to-Start. (eller Bi-directional men let's not go there...)


Vad innebär Pipe Slope (Hold Start) och Pipe Slope (Hold End) då?

Det finns tre Slope värden i Pipe Properties; Pipe Slope (Hold Start), Pipe Slope (Hold End) och Slope. Alla tre kommer vara samma värde, men minst ett värde kommer ha ett annat tecken än de övriga.

Pipe Slope (Hold Start) visar lutningen från Start till End, alltså oberoende av Flow Direction. Positiv lutning innebär uppåt, negativ är nedåt. Om du ändrar lutningen här, så behålls elevationen i ledningens Start-punkt och End-elevationen ändras. 

Pipe Slope (Hold End) visar lutningen från End to Start, och kommer då alltid visa samma lutning som Pipe Slope (Hold Start) fast med annat tecken. Om du ändrar lutningen här så behålls elevationen i End-punkten och Start-elevationen ändras. 

Slope visar lutningen beroende på Pipe Flow Direction. Här betyder negativ lutning att lutningen motsäger Flow Direction. Om Flow Direction är Start-to-End, och ledningen lutar från Start till End, så visas lutningen som positiv. 

I profilbandet visas Slope-värdet. Men det är värt att notera att du kan ta bort tecknet i bandet!  


Hur ändrar man riktning av en ledning?

Flow Direction kan du ändra i antingen Pipe Properties eller genom funktionen ChangeFlowDirection. 

Start och End-point kan man inte ändra, då får man snällt rita om sin ledning - om man inte har Naviate och kan använda Reverse Pipe såklart. 


Vad blir skillnaden om man ritar Uppströms eller Nedströms?

På toolbaren för att skapa ledningsnät kan man välja att rita Uppströms (Upslope) eller Nedströms (Downslope). Uppströms innebär att Flow Direction är satt till End-to-Start, Nedströms är lika med Flow Direction Start-to-End. 

Denna settingen påverkar också på hur Default Slope appliceras på ledningarna, så Slope-värdet kommer alltid vara positivt (=matchar Flow Direction) som default. 


Men okej. Hur ska jag jobba då? 

Det viktigaste är att du är konsekvent. Hitta den metoden som passar dig och håll dig till den. Men kom ihåg att gå igenom hela projekterings-flödet så att du din metod fungerar i alla steg.

Om man vill göra det enkelt för sig, och jag tycker alltid att man ska göra det enkelt för sig, så rekommenderar jag att man har Start-to-End = Flow Direction, vilket alltså innebär att man arbetar nedströms. 

Jag ska vara ärlig här och säga att en stor anledning till att jag rekommenderar detta är att Naviates höjdsättningsfunktioner får problem om man inte har Start-to-End=Flow Direction. Så vill man använda Naviate, då är det nästan förutsatt att du arbetar nedströms. 

onsdag 24 mars 2021

AutoCAD 2022 - What's New!

En väldigt snabb koll på vad som är nytt i AutoCAD 2022 - inte supermycket men faktiskt några saker som jag ser fram emot att leka med när Civil 3D 2022 kommer ut!
(När kommer Civil 3D 2022 ut? Snart (TM)) 

STARTUP

    Lite ändrat utseende på Start-up-fönstret. Inte så där himla mycket att säga om det, det ser lite annorlunda ut men inget stort som jag kan se

COUNT 

    Ny funktion som räknar block, och andra objekt. Exakt vilka objekt som den fungerar för ska bli intressant att undersöka!

FLOATING WINDOWS

    Den här känns rolig! Man kan alltså dra iväg sin ritning och lägga den utanför AutoCAD-fönstret - beter sig lite som flikar i Chrome som du kan koppla loss och sätta ihop igen. 
Detta känns som det kan bli användbart för att kunna se flera ritningar samtidigt och inte behöva ha flera instanser av programmet uppe samtidigt!

SHARE DRAWING IN WEB-APP

    Man kan skicka upp sin ritning i autodesk-molnet och dela en länk med någon annan, den länken kan dessutom vara tidsbombad. Om man litar på Autodesk-molnet så är AutoCAD-web-appen en ganska smidig tjänst faktiskt. 

Hela releasenotes har ni här!


tisdag 1 september 2020

Skapa en egen Panel eller Hur man Glömmer sin CUI-fil varenda år!

Numera är jag ett fan av att använda Civil 3D och AutoCAD med orginal-utseendet, men det ska erkännas är mest för att jag installerar om min Civil 3D x antal gånger om året. När jag satt som projektör (för 7 år sen ganska precis, time flies!) och det som var viktigt var att jag var effektiv, då hade jag egna macron och egna paneler. Och det är en uppenbar fördel med att göra en egen panel där man kan ha de funktioner man använder oftast, då behöver man inte leta efter sina funktioner utan de finns alltid där. Det gäller bara att komma ihåg att ta med sig det när man väl uppgraderar... om man inte glömmer det, då kan man gå tillbaka till min fina lista nedan med de stegen du behöver för att skapa din panel igen. 

Let us begin!

1. Skapa en Panel

Alla funktioner vi behöver för detta finns i CUI-panelen, som du startar genom att skriva CUI på kommandoraden. 
CUI-panelen består av två flikar, Customize och Transfer (grön markering). På Transfer-fliken skapar och installerar du din CUIx-fil, på Customize-fliken skapar du innehållet i CUIx-filen. 







Vi börjar på Customize-fliken, gå ner under Ribbon (Blå markering) i översta vänstra avdelningen och högerklicka på Panels för att skapa en ny panel. 

2. Populera din Panel.

Nu kommer vi till det roliga! På den panelen du just har skapat kan du placera kommandon. Alla kommandon finns i rutan längst ner till vänster (röd-markering). När du har valt ett kommando så ser du information om det kommandot i rutan till höger. För att lägga kommandot på din panel så klicka-och-dra från nedre området till din panel. Du kan skapa Rows, Sub-panels, Drop-Downs och all that jazz genom högerklick på din panel och på dess rader. När du har ett kommando på din panel så kan du ändra storlek och namn på det kommandot i den högra avdelningen. 

Här kan du skapa din panel precis som du vill! 

3. Placera din Panel och testa. 

När du har din panel som du vill ha den så ska du placera den på en flik. Flikarna, eller Tabs, finns också under Ribbon (blå markering). Klicka och Dra din panel och placera den på den Tab du vill. Du kan klicka-och-dra och scrolla samtidigt genom att hålla din klick-och-dra i överkanten på listan så kommer det börja scrolla. 

Yep, det är precis som irriterande som det verkar. 

Använd Apply för att se dina ändringar, och gå tillbaka in i CUI för att redigera din panel. 

4. Spara din panel

Kanske den viktigaste delen av denna beskrivning och den som man gärna glömmer - jag vet att jag har gjort det alldeles för många gånger för att erkänna. 

När du är klar med din panel, gå tillbaka in i CUI och gå till Transfer-fliken (grön markering). På höger sida har du en ny CUIx-fil, hitta din panel på vänster sida och klicka och dra den till höger sida. Klicka sedan på Spara och spara på ett lämpligt ställe. 

När du uppdaterar din dator och får en ny AutoCAD eller Civil 3d så startar du CUI, går till Transfer-fliken, öppnar din CUix-fil (som du såklart har sparat på ett mycket logiskt ställe så att du kommer ihåg var den är eller hur?) och klickar och drar din panel från höger till vänster. Vips! Så har du din egen panel igen!

onsdag 10 juni 2020

Civil 3D 2021

Civil 3D 2021 har varit ute ett tag nu och jag tänkte skriva ihop en kort sammanställning av vad som är nytt. Snart kommer även Naviate för Civil 3D 2021 ut!

Pressure Pipe

2021 inkluderar ett nytt sätt att rita upp pressure pipes, med Pipe Run som bygger på Alignments. Användaren ritar upp en sträcka med de vinklar som behövs och ledningsnätet byggs upp med de böjar som är närmast från katalogerna. Faktiskt riktigt snyggt! Om du arbetar med Pressure Pipe idag så rekommenderar jag helt klart att uppgradera!

Infraworks och Bridges

En ny objekt-typ, Bridges har lagts till i Civil 3D med tillhörande styles och settings. Dessa hänger ihop med Bridges i Infraworks vilket ger en hem samarbetsmöjligheter.

Infraworks och Corridors

Kopplingen för korridorer mellan Civil 3D och Infraworks har blivit mycket bättre. Infraworks förstår hur korridoren ska visas så man ska inte behöva lika mycket handpåläggning för att det ska bli bra.

Arcgis

Export till ArcGIS och FGDB har uppdaterats. Japp.

Bugfixar

Varje release innehåller buggfixar, vill du läsa hela listan så finns den Här!
Det kan alltid vara värt att läsa listan och se om din "favorit"-bugg är löst!


There  you have it. Hela Release Notes hittar du här, om du vill lusläsa dom.

tisdag 9 juni 2020

Civil 3D, 3D eller 2D och hur kommer jag från det ena till det andra?

Jag tänkte försöka tydliggöra lite begrepp när vi pratar 2D, 3D, Civil 3D och exporter och format. Detta är inte helt lätt att få rätt på och det finns en hel del faktorer som påverkar. Jag tänkte också ge lite funktioner för att ta sig från ett format till ett annat.

Först, Civil 3D vs 3D vs 2D

Civil 3D-filer är intelligenta filer, de innehåller inte bara 3D-geometri utan också BIM - alltså din Pipe vet att den är en Pipe och vet en hel massa saker förutom hur stor den är och var den ligger i världen. Den intelligensen hänger ihop med Civil 3D. (Att få ut den informationen tar vi senare).

Du kan exportera dina objekt från Civil 3D till rent 3D-format. Då behåller vi alltså 3D-geometrin men tar bort intelligensen. I ren Civil 3D kan detta göras lite olika för olika objekt, men om vi pratar hela filen nu så använder du Export Civil 3D Drawing - MEN du måste ställa upp din ritning i en 3D-vy först- ExportC3DDrawing exporterar "vad den ser" - alltså om du har en 2D-vy så får du en 2D-export. Har du en 3D-vy, så får du en 3D-export. Så använd Viewcuben och aktivera en Iso-vy innan exporten, och se till att ha bra Styles på dina objekt som visar 3D-modellen så får du en 3D-export.

Skillnaden mellan 3D och 2D har de flesta koll på. 3D är tredimensionellt, för oss innebär det oftast solider som har Elevation på sig. 2D är platta objekt som alla ligger på 0. Varken 2D eller 3D är BIM dock. Blanda inte ihop 3D med BIM. BIM handlar om information, att objekt vet vad de är, vi måste inte tolka vad objektet är. 3D handlar enbart om geometrin. 3D-objekt kan vara dumma som spån och 2D-linjer kan ha hur mycket information som helst på sig.


Civil-DWG-format vs AutoCAD-DWG-format

Nästa del som påverkar det här är formaten. Väldigt ofta så har jag kunder som säger att "jag kan inte uppgradera till nästa version av Civil 3D eftersom mitt projekt kräver ett format". Min följdfråga är alltid då "kräver ditt projekt format på arbetsfilerna eller på leveransfilerna?"

Civil 3D-filer kan inte sparas ner till en tidigare version. För att behålla intelligensen i objekten så måste du spara i det format som din version kräver. För Civil 3D versionerna 2021-2018 så innebär det 2018-formatet. För Civil 3D 2017-2016 så innebär det 2013-formatet.

Så ja, om ditt projekt kräver format på arbetsfilerna, då är det svårare att uppgradera.

Men om ditt projekt kräver leveransformat, och leveransen ska vara i exporterade filer med solider - då kan du arbeta i vilken version du vill.

AutoCAD-filer kan sparas ner till ett tidigare format. Så om du arbetar i Civil 3D 2020 så kan du utan problem exportera enligt ovan och spara ner resultatet i version 2013. (jag hoppas alla åtminstone är uppe på 2013...)

Så det gäller att vi skiljer på AutoCAD-format och Civil 3D-format. AutoCAD-objekt (dumma objekt) kan vi spara ner, spara upp, spara fram och och tillbaka. Civil 3D-objekt (smarta objekt) måste vi hålla på gott humör och bara spara i det senaste formatet.

Tips: När du exporterar objekten till AutoCAD-format, öppna inte den filen i Civil 3D "bara för att kolla". Starta Civil 3D as AutoCAD (finns på Start-menyn) så slipper du att filen automagiskt blir tre gånger större bara för att Civil 3D har fått öppna filen.

tisdag 19 maj 2020

Från C3D till SHP Eller Hur många funktioner behöver man? Alla!

Visst ni att man kan exportera ledningar till SHP? Ja okej, det är ingen nyhet. Visste ni att ledningarnas Invert-nivå blir fel? Jag hoppas ni visste det, men jag visste det inte.

Tydligen är detta en känd bugg, det som händer är alltså att ledningarnas Centerline-elevation används som VG (Invert) för ledningarna vid SHP-export.

Men som tur är så finns det en väg runt det här, och varning, detta är en sån där lösning som jag gillar men som är en smula omständlig. Jag har försökt tänka ut en bättre lösning, men jag hittar inget. Om ni vet en bättre lösning så hoppas jag ni meddelar mig så får jag lära mig nåt nytt!

Och jag ska också erkänna att jag kom inte på detta själv, varken problemet eller lösningen. Problemet kom från en kund, lösningen kommer från en film som ni hittar här:

https://cadpilot.com/home/resources/video-training/civil-training-on-the-web/civil-3d-pipes/correct-civil-3d-pipes-export-to-esri-shp.html

Filmen är väldigt pedagogisk så det är enkel att följa. Jag har testat det och det fungerar alldeles utmärkt när jag testar med mina ledningar. Om ni hellre vill följa en nedskriven beskrivning så har jag den nedan.

I princip är gången så här:  Exportera till SDF > Importera SDF-filen > Räkna om ledningarnas VG till den riktiga VG > Exportera till SDF > Importera SDF > Exportera till SHP (Jag sa ju att det var en smula omständligt)

1. Använd ExportToSDF för att exportera ledningsnäten till en SDF-fil.

2. Använd MapWSpace för att öppna Task Pane. Använd Data > Connect to Data > Add SDF Connection och lägg till den exporterade SDF-filen > Add to Map för att se informationen din ritning. (Här kan du se att VG och Centerline är fel)

3. Markera Pipes-lagret i Task Pane och klicka på Table i Task Pane för att öppa Data Table.

4. Längst ner i dialogen hittar du Options > Create a Calculation. Sätt namn till Start_Invert_2 (eller annat lämpligt namn) och använd Property-knappen och Operator-knappen för att skapa ekvationen: StartInvert - (InsideDiameter / 2), klicka OK. Nu har du ytterligare en kolumn i Data Table som ska visa korrekt VG.

5. Klicka på Options igen, nu får du välja Manage Calculations och sedan klicka på New Calculation för att skapa kolumnen för End_Invert2, motsvarande ekvation men med EndInvert.

(5.5 nu är det ju läge att kolla att de nya VG-värdena är rätt mot ditt Civil 3D-original-pipe network)

6. I Task Pane högerklicka på Pipes-raden och välj Export Layer Data to SDF.

7. Använd MapImport och importera den senaste exporterade filen. I Import-dialogen klicka i Data-kolumnen > klicka i Create Object Data > Select Fields > klicka i de fälten som du vill importera (alltså inte det felaktiga VG-värdet, men se till att få med det korrekta, beräknade fältet)

8. Nu har du linjer i din fil med rätt VG-värden på, nu är det dags att exportera till SHP med MapExport, se till på Data-fliken välja Attributen som ska med.

Nu har du en SHP-fil med rätt värden!

Medan jag skrev det här så insåg jag att ett alternativ till denna, minst sagt omständliga metod är att flytta alla ledningar nedåt med halva diametern och sedan exportera ledningarna till SDF och sedan till SHP - men då gäller det komma ihåg att flytta tillbaka ledningarna när du är klar!

torsdag 26 mars 2020

AutoCAD 2021

Det är den tiden på året när Autodesk släpper sina nya versioner, och först ut är AutoCAD 2021. Du kan läsa hela Release Notesen Här men jag skriver lite kort om nyheterna. Jag har lagt dom i min högst personliga intresse-ordning:

Xref Compare

När ballongen dyker upp att du behöver Reloada din Xref, så kan du i ballongen bocka i Compare (fungerar även när du öppnar en fil och x-reffen är annorlunda än förra gången.
Om du väljer att köra Compare så startas ett Xref Compare-läge där alla ändringar highlightas med rev-moln. Ganska snyggt faktiskt!

(Blir du bara irriterad på detta alternativet? Sätt variabeln XRefCompareEnable till 0)

Trim och Extend

Trim och Extend har gjorts om så de fungerar som vi trodde att de skulle fungera från början. Alltså starta funktion > klicka på det som ska bort/det som ska förlängas. Funktionen kommer Trimma/Extenda till närmaste linje, så om du vill trimma/extenda till en annan linje kan du antingen bara klicka upprepade gånger på din linje eller använda alternativet Cutting Edges när du startar funktionen så får du välja trim-linje på vanligt manér.
Det om är riktigt bra med Trim/Extend också är att den förstår att använda Erase om det behövs. Alltså ibland har man redan korta linjer och det man tror att man behöver trimma, behöver man egentligen bara ta bort, och Trim fattar det och löser det åt dig. Nice!

(vill du ha tillbaka Trim/Extend till hur det var innan? Variablen TrimExtendMode styr detta beteende, sätt till 0 för att få tillbaka den gamla varianten av Trim/Extend)

Revideringsmoln

Längden på bågarna i rev-molnet när du startar funktionen blir en procent-sats av skärm-storleken så bågarna syns när du kör funktionen, sen kan du ändra båg-storleken i Properties om du markerar ditt rev-moln.
Det finns också en ny variabel som heter RevCloudArcVariance (On/Off), som gör att rev-molnet får lite varierande storlek på bågarna. Om man gillar sånt.

BreakAtPoint

BreakAtPoint är nu ett eget kommando, det har funnits på Ribbonet tidigare men fördelen att det nu är ett eget kommando är att man kan använda Enter/Mellanslag för att upprepa kommmandot och faktiskt få det kommandot man tror att upprepas!

Quick Measure

Quick Measure är en metod som kom för någon eller några versioner sen som gör att du kan mäta flera saker samtidigt på ditt objekt. Det är ganska smidigt faktiskt, om du inte har för tung ritning. Och numera så kan du också få ut area och omkrets när du klickar inom ett område (om det är slutet såklart)

Drawing History (Subscription)

Om du sparar din fil på Box, Dropbox, eller OneDrive så kan AutoCAD samarbeta med moln-tjänstens versions-hantering. Du kan se versionerna på Drawing History-Paletten.
Jag har inte testat detta, men om du i alla fall använder någon av de moln-tjänsterna för dina filer så kan det vara smidigt.

Block Paletten

Du kan synca blockbibliotek över Box, Dropbox eller Onedrive.
Jag ska erkänna att jag är inte ett fan av nya block paletten, men om du sätter in många block och använder block bibliotek så ska du defintivt undersöka den!

(Är du old school som jag och bara vill ha den vanliga Insert-dialogen? Använd DDINSERT så kommer du dit)

Graphics Performance

De har gjort några ändringar på hur grafiken uppdateras, det ska bara göra att det ser snyggare ut men om det bara blir långsammare för dig så kan du ställa variablen RTRegenAuto till Off.

Touch Enhancements

Om du använder AutoCAD på skärm med Touch så har de ändrat hur Pan/Zoom, Selection och Esc fungerar. Säkert bra om man använder Touch.

Security Enhancements

De har uppgraderat säkerheten i AutoCAD. That's it.

AutoLISP Improvements

Om du kodar i AutoLISP (finns det nån kvar som gör det på allvar?) så kan det vara värt att läsa vad de har gjort för uppdateringar. Mina AutoLISP-kunskaper är i princip obefintliga.

måndag 7 oktober 2019

What the eff eller Extract en halvmeters Solid from Surface

Ibland stöter man på buggar som bara är löjliga. Detta är en sådan.

Jag har tidigare noterat att när man Exporterar Solider från Surfaces så kan man inte skriva punkt som decimalavgränsare när man vill extrahera en solid med specifikt djup. Men du kan skriva ett kommatecken så jag har skrivit kommatecken och gått vidare.



Idag hade jag en kund som hade detta problemet och sa att det fungerar i alla fall inte när man skriver in kommatecken, soliden som ska vara 0.4 blir 0! What gives?

Jag fick granska lite och ja, extraheringen tog ingen hänsyn till decimalen. Om jag skrev in 2,4 så blev soliden 2 meter tjock. Ok, Civil 3D bugg.

Lite googling vidare gav mig tipset att skriva 2.4 (med punkt som decimalavgränsare) i ett annat dokument och klistra in 2.4 i Extract Solids-dialogen istället för att skriva in det. Och 'lo and behold - det fungerade.

(Valfri Facepalm-gif här)

Så lösningen är alltså, öppna Notepad, skriv ditt värde med punkt som decimalavgränsare, kopiera texten, högerklicka i Depth-rutan och klistra in värdet, och klicka på Create Solid så får du vilken solidtjocklek du vill. Working as Intended!


fredag 6 september 2019

LUPREC? Not LUPREC?

Ibland får jag anledning att gräva sig ner i inställningar som jag bara accepterar tidigare, men när man har kunder som gör roliga saker så får man ju göra sitt bästa för att assistera!

Idag diskuterade jag en subassembly med en kund som är som ett pussel. Den består egentligen bara av 8 länkar och 1 shape. Men alla länkar kan ändras i bredd, riktning och lutning så med den subassen kan du skapa i princip vilken shape som helst. 

En effekt av dens uppbyggnad är att om man vill ha en vertikal länk så ställer man lutningen till ett högt värde (jag brukar använda 1000 eller -1000) och då styr bredden av länken (som alltid mäts horisontellt) istället höjden på länken, men multiplicerat med en faktor 1000. 

Jag gjorde ett litet exempel för att visa. I bilden nedan är Lutningen för vertikala länken satt till -50 och Bredden till 0.0001, höjden blir alltså 0.0001x50 = 0.005. 



Men det var inte det här jag skulle skriva om, det var en effekt av detta, nämligen att man vill skriva in väldigt låga värden på en parameter i Properties för en subassembly, och som standard ser jag bara 3 decimaler på dessa. 

Normalt i AutoCAD så styrs detta av varibeln LUPREC, men såklart måste Civil 3D vara lite speciellt. Så detta styrs i Drawing Settings (EditDrawingSettings på kommandoraden) på fliken Ambient Settings och under Unitless. Logiskt right? 



torsdag 4 juli 2019

Profile Labels

Idag tänkte jag skriva några rader om Profile View Labels, mera en genomgång av hur de hänger ihop.

Profile Label och Profile View Label - What's the difference?

Profile Label sätter vi ut på en profil-linje, en projekterad linje eller en marklinje t.ex. Profile View label sätter vi ut i själva en profil-vyn, de hänger ihop med vyn och kan referera till alignmentens längdmätning men inte mycket mer än så.

Sätta ut från början eller i efterhand.

När du ritar ut en profil-linje så kan du välja ett profile label set att appliceras automatiskt när du ritar ut din linje. Då kommer ett antal labels att placeras så fort du är klar med din profillinje, dessa kan du ta bort eller redigera i efterhand.
För färdiga profil-linjer (som mark-linjer) så kan man sätta ut etiketter på dem när man ritar ut profil vyn, i Create Profile View-wizarden på Profile Display Options-sidan - eller så sätter man ut de i efterhand.

Placera Labels i efterhand

Enklaste vägen att komma åt att placera labels i efterhand är att markera profil-linjen som du vill ha etiketter på och klicka på Ribbonet > Edit Profile Labels


Dialogen ovan är från Civil 3D 2020. Om du har ett färdigt label set så klickar du på Import label set... nere till höger. Om du vill lägga till individuella labels så väljer du Type först, alltså vilken typ av linje-segement label ska placeras på. De olika segmenten kan få fram olika typer av information, och har alltså olika Label Styles. När du valt Type så väljer du Label Style till höger och sedan Add för att lägga till labeln i din profil-vy.


En sak att tänka på är Major Stations och Minor Stations. i den här dialogen kan du sätta vad som ska vara Major Station Increment och vad som är Minor Station Increment. Detta hänger alltså på Alignmentens längdmätning. Horizontal Geometry Points är där något händer på Alignmenten, brytpunkt, början/slutet av en båge osv. De övriga alternativen är delar av linjen. 

Beroende på vilken mallfil du arbetar med så kan du ha olika typer av Label Styles tillgängliga och som vanligt, om du bara har Standard-styles tillgängliga så är du i fel mallfil!

torsdag 27 juni 2019

Hide and Show eller Hide and Seek

Surface-redigering kan vara himla roligt eller en riktig PITA. Men oavsett på vilken sida du faller så kommer du förmodligen alltid behöva hantera det.

En specifik surface-metod som jag ska beskriva nedan är när man vill ha en surface i delar, alltså en yta som hänger ihop som ett objekt, men består av "öar". 

När vill vi ha det här då?

Ett exempel är när man har underlag från en bergsinmätning, då vill man ha en surface som bara finns där inmätningspunkten finns, för utanför det vet man inte var berget finns.
Ett annat exempel är om man gör en projektering av ett större område där man vill ha området uppdelat i olika ytor beroende på beläggningstyp (asfalt, gräs, plattor osv) men de olika beläggningarna är uppdelade i "öar". Hantering och framförallt volymberäkning är enklast om ytan är ett objekt i alla fall.

För att få till det här så gör man en en Hide-boundary och flera Show-boundaries.

Steg ett är att göra själva ytan, den görs på vanligt sätt, beroende på vilken typ av underlag du har.

Sedan ritas Hide-boundary, det ska vara en sluten polylinje som ligger utanför hela ytan så att den döljer hela ytan. Lägg till linjen som en Hide

Sedan skapas slutna polylinjer, eller cirklar som jag har gjort nedan, för varje "ö" och dessa linjer/cirklar läggs sedan till som Show-boundaries.




Slutresultatet blir en surface som består av flera områden, och därifrån kan du beräkna volym mellan ytor och bara få volym där de överlappar med öarna, och när du visar den upphackade ytan i profilen så visas den bara där den finns. 


tisdag 30 april 2019

Macro för rotera viewport eller Let's twist again!

Idag blir det ett rent AutoCAD-tips faktiskt, även om vi använder det i Civil 3D.

Jag fick en fråga igår från en kund om hur ritningshanteringen går till i Civil 3d, och tyvärr så måste jag svara att ritningshanteringen i det stora hela går till precis som den gör i AutoCAD.

Ritningshanteringen i AutoCAD är inte svår, den är mest omständlig och kräver att man gör allt i rätt ordning och alltid gör samma sak. Det finns dessutom många sätt att hantera sina ritningar på, som mycket annat i AutoCAD så leder alla vägar till Rom, men det finns många vägar till Rom. (jag rekommenderar med tåg över/genom bergen genom Österrike, men igen, eget inlägg)

Idag diskuterade jag också ritningshantering, speciellt hur man roterar sin modell för ritdeffen och de kommandona jag använde insåg jag snabbt att man kan lägga ihop till ett macro, så det är dagens inlägg: ett macro för att rotera din modell och zooma in i en viewport. Och jag tänkte använda detta för att visa lite hur man kan göra macros generellt- jag har skrivit om detta tidigare, så det blir säkert en liten repetition för en del av er.

Några frågar du kan ställa dig innan du börjar:

Kan jag göra detta till ett macro?

Alla funktioner som lever på kommandoraden är enkla att göra om till macro, så så länge du inte blandar in några dialogboxar så kommer det gå galant.

Är det lönt att göra ett macro?

Om det är en serie av kommandon som du gör upprepade gånger så är det oftast lönt att göra macrot. Både för att spara tid och för att komma ihåg att alltid göra funktionerna i rätt ordning. Angående tids-aspekten så gillar jag XKCDs diagram över tidsvinst: https://xkcd.com/1205/


Hur du börjar:

Gör de funktioner du vill sätta ihop och skriv ner hur du gör. I mitt fall vill jag ställa in ett eget UCS längs en utsnittsruta, vrida vyn till det UCS, ställa tillbaka UCS till World och sist zooma till utsnittsrutan. Jag börjar med att skriva alla kommandon på kommandoraden, och medan jag skriver det på kommandoraden så skriver jag samma saker i ett Notepad/Anteckningar-fönster. Notepad är kung för detta, det minimerar risken för att formattering av text bråkar med dig.

Varje mellanslag/enter skriver jag som ett
Varje gång jag behöver klicka något på skärmen skriver jag ett \
Mitt första utkast på macro blev då UCS;\;plan;;ucs;w;zoom \\

Om ni testar det så kommer ni se att det inte fungerar. Den enklaste metoden för att testa sitt macro är att klistra in texten på kommandoraden och se vad som händer. Jag behöver väl inte säga att ni ska se till att spara ritningen och helst inte ha en "riktig" ritning uppe medan ni gör det här? Bra.

För att testa ett macro är det enklast att ta det i steg. Jag började med att få UCS-delen att fungera, tog alltså bara UCS;\; och klistrade in på kommandoraden och ändrade i macrot tills jag fick in alla enter-slag och \ på rätt ställe.

Till slut, efter lite testande, så fick jag detta: ^C^CUCS;\\;plan;;UCS;w;zoom;
Notera att det numera också börjar med ^C^C, det är för att macrot ska avbryta eventuell funktion som är igång innan den startar själva macrot.

För att sedan skapa en knapp så är det CUI-dialogen som gäller, skapa funktion, lägga in macrot, skapa en panel, lägga in knappen på panelen, lägga panelen på en tab, badabing badaboom!


Det är riktigt tillfredställande att få ihop ett riktigt snyggt macro som gör precis det man vill!

måndag 25 mars 2019

Dagens Irritation eller Bubbles! Bubbles! Bubbles!

Dagens irritationsobjekt är snarare fredags irritation, men fredagen försvann i en dimma av tandläkar-besök och textskrivande.

Jag fick en fråga från en kund i fredags om att den lilla noterings-bubblan som ska komma upp när en Data Shortcut eller en X-ref har ändrats inte dök upp för henne. Det fungerade för hennes kollega och de kunde inte se någon skillnad mellan sina datorer.

Det blev ännu mera intressant när jag märkte att jag inte heller fick upp noterings-bubblan på min dator!

Efter mycket letande och testande hittade jag lösningen, och lärde mig ett antal nya variabler på köpet. (spoiler: variablerna var inte lösningen)

Kommandot TRAYSETTINGS öppnar en dialogruta där man kan välja hur den notis-ballongen ska bete sig, om den ska auto-stänga sig och hur länge den ska visas. Dialogen styr variablerna TRAYICONS, TRAYTIMEOUT och TRAYNOTIFY alltså.
Men, spoiler spoiler, allt var ibockat hos mig och jag såg fortfarande inte notis-ballongen.

Nästa steg var att undersöka grafikkort och hardware acceleration, men inget där påverkade ballongen.

Det är nu jag läser djupt ner i alla forum-trådar jag kan hitta om det här och till slut fanns en kommentar om att ballongen dyker inte upp om man har programmet på den skärmen som inte är den primära skärmen. Och ja, när jag startade om programmet, och hade den på den primära skärmen istället, så får jag upp ballongen - och idag bekräftade min kund att det samma lösning fungerade hos henne.

Irriterande javisst, men nu vet jag vad det är iaf.

(Detta problem påminde mig om ett annat problem som jag har haft ibland. Vissa dialogrutor visas ibland som blanka om man har ett program igång som kan ta över ens skärm, t.ex. Teamviewer eller Skype. Jag hade det konstant för några år sen, och jag tycker jag märker det ibland numera också. Ytterligare ett irriterande problem)

onsdag 6 mars 2019

Code Set Style eller One style to rule them all

Code Set Styles. Detta gissel. På ett sätt är det bra, code set style (eller ska vi förkorta det till CSS?) styr många olika objekt och innehåller mycket information så vi kan använda samma CSS på flera ställen. Å andra sidan så är det lättare att ha koll när man har en individuell stil för varje objekt.

Jag tänkte rada upp en del information angånde CSS som kan vara bra att ha koll på. Jag kommer säkert missa något så du fär gärna återkomma till mig om du vet något som inte jag vet, eller återkom med mer frågor så kan jag fylla på med information.

Vad är en Code Set Style och vilka objekt styr den? 

En CSS styr vilka linjer, punkter och shapes (skraffering/hatcher) som visas i subassemblies och korridorer. Det gäller även alla ställen där korridorer visas, som Section Editor och tvärsektioner. CSSn definierar även hur linjer och hatcher ska visas, vilka linjetyper och hatchmönster som ska användas.

Vilken information finns i en Code Set Style och hur styr den utseendet?

I CSSen skiljer vi på Points, Links och Shapes:

Points visas som cirklar i subassemblyn med namn inom paranteser och blir linjer i korridoren. (Alltså styr Styles från Point-avdelningen hur linjerna i Korridoren ser ut, även om det känns ologiskt.)
Links visas som linjer i subassemblyn med namn inom hak-paranteser och blir ytor i korridoren.
Shapes visas som areor i subassemblyn med namn inom vinkel-paranteser och blir volymer i korridoren.

De olika delarna har några gemensamma inställningar och några unika:

Namn    Namn på objekten, punktkoden, linkkoden eller shapekoden. Det är här du har kopplingen till subassemblyns kodning.
Description    ytterligare information, fri text
Classification Code ytterligare information

Pay Item (Links och Points) Anger vilket pay item som areorna och linjerna ska få i korridoren, för att sedan kunna mängda via QTO.

Link
Link Style / Link Label Style  Linjetyp för länken i sektioner och vilken label som länken ska få
Render Material   Render material för arean i modellvy
Material Area Fill Style skraffering/hatching av arean in planläge

Point
Marker Style / Marker Label Style Markeringsstil för punkten i sektioner och vilken label texten ska ha
Featureline Style Linjetyp för linjen i korridoren i plan

Shape
Shape Style / Shape Label Style Skraffering/hatch för arean i sektion och vilken label som placeras ut


Hur redigerar jag en Code Set Style?

Du kommer åt CSS från några olika ställen men på vissa ställen kan du bara visa CSSn och på andra så görs någon form av overrride så jag rekommenderar en endaste väg för att redigera CSSn: Gå till Settings-fliken i din Tool Space, gå ner under General > Multipurpose Styles > Code Set Style och högerklicka på den stilen du vill ändra, alternativt välj Copy för att göra en kopia av CSSn.

När du är inne i din CSS så kan du sedan högerklicka på överskrifterna i tabellen för att lägga till nya koder, och sedan kan du ställa in settings för den koden.

Om du ska lägga in många koder från en subassembly så kan du använda Import Codes... i dialogens nedre högra hörn. Tänk på att den funktionen enbart importerar koder som just nu visas i subassemblyn så om du t.ex. använder Display Mode för att enbart visa fyll-läge för en slänt, så kommer du enbart att importera fyll-släntens koder i CSSen.

Var det allt?

Det finns mycket egenheter med CSSer som kan vara bra att ha koll på
- Om en kod finns i subassemblyn men inte finns med i CSSn så syns den. Default-värde är alltså att visa objekt. (Teorin säger att man ska kunna ändra det här i Settings, jag tycker inte alltid att det fungerar). Så vill du ha sten-koll på vad du ser och inte ser så ska din CSS innehålla alla koder.
- Du kommer åt CSSn t.ex. innifrån Corridor Properties och det ser ut som om du kan redigera den därifrån - det fungerar inte alltid. Min bestämda rekommendation är att enbart gå in via Settings-fliken och redigera din CSS