Corrigeren foute booglengte in Profile Label

Het infrastructuur en civiele techniek forum is voor de gebruikers van AutoCAD Civil 3D, Map 3D, Infrastucture Modeler en de Autodesk AEC collection.

Moderators: Bram, Joost, Anton, Henk, Roy_M, Emre, Frank

Gebruikersavatar
Anton
Berichten: 58

Corrigeren foute booglengte in Profile Label

Berichtdoor Anton » wo 11 jul 2018, 13:04

In Civil 3D is het mogelijk om Labels te plaatsen op Profiles waarbij op elementniveau de eigenschappen kunnen worden getoond. Bijvoorbeeld de hoek van een lijnstuk, de hoogte van het beginpunt of de lengte van een boog.

Het blijkt dat de lengte van een boog niet de gewenste waarde weergeeft en dat daardoor fouten kunnen ontstaan bij het interpreteren van de tekening. Maar waarom wordt niet de gewenste waarde getoond?
Profile Labels We kijken naar de mogelijkheden om Labels te plaatsen op een Profile. In Civil 3D kun je via de rechter muisknop op een Profile kiezen voor Edit Labels. Een dialoogvenster verschijnt.
01 - Profile Labels.png
Voor de verschillende profielelementen kun je Labels plaatsen. Dit zijn Lines, Crest Curves en Sag Curves. Daarnaast kun je nog Labels plaatsen op geometriepunten en vaste afstanden. We kijken nu alleen naar de profielelementen Line en Curve.

Links bovenin kun je bij Type het type Lines selecteren. Vervolgens kun je rechts bovenin de gewenste Label Style toevoegen. Als we een Label Style selecteren dan kunnen we met de knop ernaast kiezen voor Edit Current Selection. Dan verschijnt de Label Style Composer.

Dit kan ook als de Label Style al is toegevoegd, je vindt dan in het overzicht achter elke Label Style een knop om de Style aan te passen.
Op het tabblad Layout kun je een nieuw Text Component toevoegen. Bij het onderdeel Contents kun je vervolgens de tekst aanpassen.
02 - Line Label Style Composer.png
Een nieuw dialoogvenster verschijnt.
03 - Line Label Style Text Component Editor.png
Hier is te zien welke Properties allemaal getoond kunnen worden bij een Line segment. De bovenste twee zijn in dit geval belangrijk, namelijk de Tangent Horizontal Length en de Tangent Slope Length.

Dit zijn de lengtes voor de horizontale afstand en de schuine afstand. Beide zijn afzonderlijk te kiezen voor een Line segment.

Sluit alle vensters af zonder op te slaan en kies nu een Label Style voor een Crest Curve of Sag Curve. In beide gevallen kun je dezelfde Curve Labels plaatsen, maar je kunt dan geen Line Labels selecteren. Er wordt dus onderscheid gemaakt in de verschillende segment types. Een Crest Curve of Sag Curve is niets anders dan een top-boog en een dal-boog.

Wijzig een Curve Label Style zoals daarnet met een Line Label Style. Voeg een Text Component toe en wijzig de content zodat de Text Component Editor verschijnt.
04 - Curve Label Style Text Component Editor.png
Nu hebben we maar één keuze voor een lengte en dat is de Profile Curve Length. Helaas, uit onderzoek blijkt dat deze Property niet de werkelijke lengte van de boog weergeeft, maar de horizontale afstand tussen begin- en eindpunt van de boog!
Expressions We kunnen een work-around bedenken om toch de juiste booglengte te tonen. Hiervoor gaan we werken met Expressions. Dit zijn formules die je zelf kunt maken en die een bepaalde waarde teruggeven. Deze Expressions worden beschouwd als nieuwe, eigengemaakte Properties en kunnen daarom in Labels worden getoond.

Wat hebben we nodig om een booglengte te berekenen? Daarvoor graven we even diep in onze herinneringen toen we nog wiskunde of algebra op school moesten leren. Dit is een boog met de bijbehorende wiskundige eigenschappen:
05 - Wiskundige boog (2).png
05 - Wiskundige boog (2).png (5.42 KiB) 2018 keer bekeken
De lengte L kan berekend worden met de formule:

L = 2 * PI * R * ( H / 360 )

Dus, twee keer PI keer Radius keer de Hoek gedeeld door 360 graden.

In bovenstaande formules is alleen PI en R bekend. PI is een constante waarde en R is een eigenschap die we kunnen opvragen uit de Properties van een Curve segment. We hebben de booghoek H nog nodig. Dit is geen Property die we kunnen opvragen en daarom moeten we voor de booghoek eerst een Expression maken.

De booghoek kan worden berekend met de Cosinusregel. Hiervoor heb je de drie zijden nodig van een driehoek, namelijk R, nog eens R en K. De Radius R is bekend en geldt voor beide zijden, en K is een Property die we uit de Curve segment kunnen halen. Dat is namelijk de Property Chord Distance.
06 - ToolSpace.png
06 - ToolSpace.png (21.77 KiB) 2018 keer bekeken
Ga naar de ToolSpace, tabblad Settings, onderdeel Profile > Curve > Expressions. Kies met de rechter muisknop voor New. Een dialoogvenster verschijnt.
07 - Expression Editor.png
Geef de Expression een naam en wees hier duidelijk in. We willen de booghoek in graden, dus we noemen de Expression "Booghoek in graden". Als output kiezen we Double.

Vul bij de Expression het volgende in:

(
ACOS(
( SQR({Chord Length})
- SQR({Profile Curve Radius})
- SQR({Profile Curve Radius})
)
/
( 2 * {Profile Curve Radius} * {Profile Curve Radius} * -1 )
)
/ pi
) * 180


Vervolgens maken we een nieuwe Expression voor de werkelijke booglengte. Omdat we nu al een Expression hebben, kunnen we deze als Property gebruiken in een volgende formule. In het dialoogvenster voor een nieuwe Expression geven we de naam "Werkelijke Curve Lengte" met als output Double. Bij de Expression vullen we dit in:

2 * pi * {Profile Curve Radius} * ( {Booghoek in graden} / 360 )

Na gaan we weer terug naar de Label Styles. Kies met de rechter muisknop op een Profile voor Edit Labels en selecteer voor een Crest of Sag Curve een gewenste Label Style. Je kunt ook een nieuwe maken of gewoon de Style Standard selecteren om te wijzigen. Open de Label Style Composer, verwijder alle ongewenste elementen en voeg een nieuw Text Component toe. Je zult zien dat je in de lijst met Properties nu ook de eigengemaakte Expressions als Property ziet staan.
08 - Curve Label Style Text Component Editor.png
In bovenstaand voorbeeld wordt nu een Label getoond met de Profile Curve Length en de Werkelijke Curve Lengte, dat dus een eigen formule is die de werkelijke booglengte toont. In de tekening wordt dit als volgt weergegeven:
09 - Profile View met Labels.png
Zoals te zien zit er een behoorlijk verschil in beide waarden.

Het is vervelend dat Autodesk bij de ontwikkeling niet heeft gekozen voor een duidelijke naam zoals bij Line segmenten. Maar gelukkig zijn we in staat om met behulp van Expressions dit te ondervangen. Je moet het alleen weten. En controleren.
Profile View Bands In Bands kunnen dezelfde Properties worden getoond als in de Labels, met uitzondering van Expressions. Het is dus niet mogelijk om de correcte booglengte te tonen in de Bands. Houdt hier dus rekening mee.
10 - Profile View met Bands.png
De rood omlijnde waarde is niet correct en in de Band niet te wijzigen naar de correcte waarde.

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 2 gasten

cron
Autodesk AEC Collection