Visar inlägg med etikett Featureline. Visa alla inlägg
Visar inlägg med etikett Featureline. Visa alla inlägg

tisdag 13 november 2018

Försvunna Featurelines eller Linjer med 0 längd, 0 höjd och.... 0 noder?

Det finns en teori som säger att upptäckter (upptäckter som ger Nobel-pris typ) händer på flera ställen samtidigt, och detta är inget märkligt. (förklarar varför det nästan alltid delas på Nobel-pris). Det finns också en teori som säger att när du köpt en ny bil, först då ser du hur många av den bilsorten som du ser på gatorna (det borde finnas en teori för det iaf), Och på samma sätt (för att göra en kort historia lång och utnyttja paranteser så mycket jag kan) så händer det ibland att jag får in en ny fråga på supporten - för att sedan få den frågan igen och igen inom kort tid.

Just i mitt fall med supporten så handlar det oftare om att det har kommit en uppdatering till Civil 3D eller Windows som har ställt till det. Men ibland är det märkligare än så.

För någon vecka sedan fick jag för första gången ett ärende med Featurelines som var försvunna. Efter lite letande så såg jag att de var inte försvunna, utan alla Featurelines i filen hade blivit 0 i längd, 0 i elevation och märkligast av all, fått 0 noder. De hade blivit Zero-Lenght-Objects märkligt nog.

Jag hade aldrig stött på det här tidigare och sökte runt en hel del och hittade massor av forum-inlägg angående detta, från långt tillbaka i forntiden (2007). Men jag har aldrig stött på det eller fått ett ärende om det märkligt nog.

Och idag fick jag ett ärende igen om precis samma sak. Tre featurelines, de var borta - efter lite letande så fanns de där men nollade i alla aspekter. Märkligt nog så kunde fortfarande korridoren som hade dessa Featurelines som target använda dem. Så mycket märkligt är det.

Detta inlägget är tyvärr inte ett inlägg där jag har en lösning. Jag har ingen aning om hur man löser detta. För problemet med korridoren så rekommenderade jag att återskapa linjerna genom att extrahera linjer från korridoren och använda de som targets istället. För första fallet, som var en surface byggd av featurelines så tog vi ut surfacen som en LandXML och kasserade alla Featurelines.

När man kollar igenom forumposter på detta så verkar en genomgående trend vara att detta händer när man har en mallfil som ursprungligen var en tom autoCAD-mallfil, typ ACADISO.dwt, som man sedan lagt in Civil 3D-objekt i. Det finns även rapporter om att copy-paste (ctrl+C / ctrl+V) på civil 3D-objekt orsakar detta problemet. Båda dessa är inget jag tycker man ska ägna sig åt i alla fall, och detta ger mig bara mer vatten på min kvarn.

Men lösning, det har jag inte. Återskapa linjerna bäst du kan, se om du kan ta fram en BAK-fil eller en backup-fil. Annars.... jag känner med dig.

En sak till: hur hittar man linjerna, om man nu misstänker att detta har hänt? Jag använder QSELECT för att hitta alla Featurelines, och sedan (om det finns de som fungerar fortfarande) så använder jag shift för att avmarkera de som fungerar, till slut har jag bara de knäppa kvar. Då kan du se vad jag menar med knäppa.

tisdag 20 mars 2018

Flödesriktning! eller Rikta den där pilen åt nåt annat håll.

Etiketter. Detta gissel. Ibland är de helt underbar, när de gör som man vill! Men ibland är det mest bara ett härke utan dess like.

(Härke? Ni måste väl hört ordet härke? okejdå, Språk och Folkminnen to the rescue! Så? Alla är med på härke nu? Bra, då fortsätter vi)

Dagens inlägg handlar om en liten aspekt hos etiketter, och det är när vi vill göra en flödespil som alltid pekar nedåt. Eller uppåt, jag är inte känslig. Men jag vill att den ska ändra riktning när linjen ändrar riktning.

Lösningen är Expressions. Jag är inte den största stjärnan på expressions ska jag erkänna, men expressions kan vi använda när vi behöver ha/använda någon information i etiketter som inte finns som en standard property. T.ex. plushöjd för en pipes underkant finns inte som standard property (i 2018) men vi kan räkna fram det med hjälp av diameter och godstjocklek i ett expression.

Under General > Label Styles > Line > Expressions finns ett färdigt expression för FlowArrowRotation och om man högerklickar och väljer Edit på den så ser man detta:


Jag kan inte förklara matematiken bakom detta, men jag kan säga att det fungerar. I mitt fall så pekade denna etikett konsekvent uppåt istället för nedåt, då ändrade jag < till > och pilen pekade konsekvent nedåt. Det fungerade även att ändra 0,pi,0 till 0,0,pi - men varför? No clue. 

För att detta Expression ska vara tillgängligt för t.ex. Surface-labels så kopierade jag ovanstående text, och gick sedan ner till Surface > Surface Styles > Slope > Högerklick på Expressions > New och klistrade in texten. Jag fick sedan ändra General Segment Grade (som är specifikt för en linje) till Surface Slope (som är specifik för ytan) - enklast var att klicka på den lilla Properties-knappen på höger sida och lägga till Surface Slope.


När expressionet är klart så går jag in i Stylen som jag vill rotera och istället för att ange ett värde för rotation på pilen så kan jag nu välja mitt Expression som rotation. 


torsdag 30 mars 2017

Linjer i tvärsektioner eller Har jag lagt in slänt på hela tomten igen?

Kommunikation är viktigt, och en bild säger mer än tusen ord säger dom. Hur mycket än jag tycker att min Civil 3D-modell är helt glasklar så håller inte alla med, så att visa upp informationen på illustrativa sätt är väldigt viktigt.

En vanlig fråga jag får är om man kan visa gärnsdragningslinjer i tvärsektioner. Man vill alltså se vad fastighetsgränser, arbetsområden och liknande finns i förhållande till sin projektering.

Detta är inte jättekomplicerat men det är några steg man behöver tänka på.

För att kunna projicera en linje till tvärsektioner måste den vara antingen en 3D Polyline eller en Featureline, och den måste ligga i modellen där den ska projiceras. Den kan alltså inte ligga i en Xref. Om linjerna ligger i en Xref så kan du testa funktionen NCopy för att kopiera linjen från en Xref direkt in till din ritning - eller så kopierar du linjerna över från den Xreffade filen.

Om linjen är en Polyline eller Line så behöver den göras om till en 3D Polylines eller Featureline. För att göra om linjer till 3D Polylines används funktionen ConvertPlines. Använd gärna Join för att sluta linjer så blir de enklare att hantera. För att göra om linjer till Featurelines används CreateFeaturelines. Om man ska ha linjer som 3D Polylines eller Featurelines är en smaksak.

Linjen behöver ligga på en viss höjd. Om linjen har elevation på sig redan så kör du bara vidare. Om linjen ligger på 0 så kommer du kunna projicera in den i tvärsektionerna men den kommer då troligen hamna väldigt långt ifrån din projektering. Det finns många sätt att lägga linjen på rätt nivå, bara den hamnar där så spelar det ingen roll hur du gör. Jag tycker att det enklaste är att använda funktionen FeatureElevsFromSurf för att få linjen att ta höjder från en yta, där har du även alternativet Insert Intermediate Grade Break Points som gör att linjen får extra noder för att kunna draperas exakt över ytan.

Sedan kan du projicera in linjen till dina tvärsektioner. Du har två alternativ, Project Objects to Section View för att projicera ett eller flera objekt till en tvärsektion och Project Objects to Multiple Section Views, för att projicera alla objekt till alla tvärsektioner. Det är ett fall av antingen eller alltså. Inget av de är perfekt, jag använder oftast Multiple Sections så plockar jag bort projiceringar sen.

Oavsett vilken metod du använder så måste linjen korsa tvärsektionslinjen för att projiceras in till tvärsektionen. När linjen är projicerad in till tvärsektionen så kommer den få på sig en Label, denna kan du redigera och lägga in den informationen som du önskar.