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. 


Inga kommentarer:

Skicka en kommentar