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
Visar inlägg med etikett Assembly. Visa alla inlägg
Visar inlägg med etikett Assembly. Visa alla inlägg
onsdag 6 mars 2019
torsdag 4 oktober 2018
Styra Korridoren eller Hur Många Inställningar Kan Man Ha Samtidigt?
Dagens inlägg är en lista. Man skulle kunna säga att det är Dagens Lista, förutom att jag aldrig kommer att göra en lista varje dag. Men idag blir det en lista.
Listan innehåller de olika sätten vi kan sätta värden på en subassembly och på så sätt styra en korridor. Och framförallt så är listan en prioriteringsordning för korridoren, alltså vilket värde den kommer använda först om det finns flera att välja på. Ju högre upp i listan, dessto högre prioritet!
Let's begin!
1. Corridor Targets. Alltså en profile-linje eller en offset-linje. En target trumfar alla andra inställningar.
2. Superelevation. Det är bara lutning/skevning som vi kan styra med Superelevation, men om det finns en skevningsberäkning så tar den över. Subassemblies som ska styras med Superelevation har det som alternativ i sig (en parameter i Properties) och ibland har jag märkt att om det alternativet står som något annat än DoNotUse så ignoreras andra värden - även om det inte finns någon skevningsberäkning. Så om du inte ska använda Superelevation, ställ parametern till DoNotUse.
3. Parameter Override. Detta görs oftast i Section Editor för att på en viss sträcka ändra ett visst värde.
4. Assembly Parameter Override. Alltså att en subassembly tar ett värde av en annan subassembly. Detta ställs in i Assembly Properties där subassemblies kan ärva värden av varandra. (t.ex. Naviate Styrsektion för er som vet vad det är :-) )
5. Subassembly-värde. Det som man ställer in allra först i Properties för sina subassemblies, det har lägst prioritet när korridoren byggs ihop.
Korridoren har många sätt att man kan anpassa den. Ibland får jag höra att det är så himla jobbigt med alla dessa assemblies som man måste ha för korridorerna, och jag kan hålla med om det. Men tänk på att så länge du inte ska lägga till en ny subassembly i assemblyn, så behöver du förmodligen inte ha en ny assembly! Då kan du ändra värden med någon av ovanstående metoder. Och ibland kan man även nolla en subassembly med ovanstående metoder för att slippa skapa ytterligare en assembly.
Listan innehåller de olika sätten vi kan sätta värden på en subassembly och på så sätt styra en korridor. Och framförallt så är listan en prioriteringsordning för korridoren, alltså vilket värde den kommer använda först om det finns flera att välja på. Ju högre upp i listan, dessto högre prioritet!
Let's begin!
1. Corridor Targets. Alltså en profile-linje eller en offset-linje. En target trumfar alla andra inställningar.
2. Superelevation. Det är bara lutning/skevning som vi kan styra med Superelevation, men om det finns en skevningsberäkning så tar den över. Subassemblies som ska styras med Superelevation har det som alternativ i sig (en parameter i Properties) och ibland har jag märkt att om det alternativet står som något annat än DoNotUse så ignoreras andra värden - även om det inte finns någon skevningsberäkning. Så om du inte ska använda Superelevation, ställ parametern till DoNotUse.
3. Parameter Override. Detta görs oftast i Section Editor för att på en viss sträcka ändra ett visst värde.
4. Assembly Parameter Override. Alltså att en subassembly tar ett värde av en annan subassembly. Detta ställs in i Assembly Properties där subassemblies kan ärva värden av varandra. (t.ex. Naviate Styrsektion för er som vet vad det är :-) )
5. Subassembly-värde. Det som man ställer in allra först i Properties för sina subassemblies, det har lägst prioritet när korridoren byggs ihop.
Korridoren har många sätt att man kan anpassa den. Ibland får jag höra att det är så himla jobbigt med alla dessa assemblies som man måste ha för korridorerna, och jag kan hålla med om det. Men tänk på att så länge du inte ska lägga till en ny subassembly i assemblyn, så behöver du förmodligen inte ha en ny assembly! Då kan du ändra värden med någon av ovanstående metoder. Och ibland kan man även nolla en subassembly med ovanstående metoder för att slippa skapa ytterligare en assembly.
Etiketter:
Alignment,
Assembly,
Civil 3D,
corridor,
edit,
Korridor,
parameter,
subassembly,
superelevation,
target,
targets
onsdag 14 mars 2018
Generic Links! Eller Förkorta inte subassembly som subassar, gör det bara inte.
Detta blir nog det torraste inlägget jag gjort på ett tag, men jag skrev när detta mest för mig själv. Om någon annan har någon användning för det so have at it:
En kort sammanställning av de generella Link-subassemblyerna
Link Multi
LinkOffsetAndElevation
Länk som slutar ett specifierad avstånd från baslinjen, till en specifik elevation.
Ändpunkt och elevation kan styras Target-parameter
LinkOffsetAndSlope
Länk som slutar ett specifierad avstånd från baslinjen, med specifierad lutning. Kan använda Superelevation
Ändpunkt och lutning kan styras med Target-parameter
LinkOffsetOnSurface
Länk som slutar ett specifierad avstånd från baslinjen, som ansluter mot en Surface.
Längden kan styras med en Target-parameter
LinkSlopeAndVerticalDeflection
Länk med en specifierad lutning tills ett specfierat vertikalt avstånd är uppnåt. Kan använda superelevation
Det vertikala avstånden kan styras med en Target-parameter.
LinkSlopesBetweenPoints
Länk från insättningspunkt till en Marked Point (Använd MarkPoint-subass). Skapas av tre delar, Slope 1, Ditch-width och Slope 2
LinkSlopeToElevation
Länk med specifierad lutning till en specifierad elevation. Kan använda Superelevation
Elevationen kan styras med en Target parameter
LinkSlopetoSurface
Länk med en specifierad lutning till en Surface. Kan använda Superelevation
LinkToMarkedPoint
Länk till en Marked Point (använd MarkPoint-subass) inom samma assembly
LinkWidthAndSlope
Länk med en specifierad horisontal längd och lutning.
Längd och lutning kan styras med Target-parameter
LinkToMarkedPoint2
En kort sammanställning av de generella Link-subassemblyerna
Link Multi
LinkOffsetAndElevation
Länk som slutar ett specifierad avstånd från baslinjen, till en specifik elevation.
Ändpunkt och elevation kan styras Target-parameter
LinkOffsetAndSlope
Länk som slutar ett specifierad avstånd från baslinjen, med specifierad lutning. Kan använda Superelevation
Ändpunkt och lutning kan styras med Target-parameter
LinkOffsetOnSurface
Länk som slutar ett specifierad avstånd från baslinjen, som ansluter mot en Surface.
Längden kan styras med en Target-parameter
LinkSlopeAndVerticalDeflection
Länk med en specifierad lutning tills ett specfierat vertikalt avstånd är uppnåt. Kan använda superelevation
Det vertikala avstånden kan styras med en Target-parameter.
LinkSlopesBetweenPoints
Länk från insättningspunkt till en Marked Point (Använd MarkPoint-subass). Skapas av tre delar, Slope 1, Ditch-width och Slope 2
LinkSlopeToElevation
Länk med specifierad lutning till en specifierad elevation. Kan använda Superelevation
Elevationen kan styras med en Target parameter
LinkSlopetoSurface
Länk med en specifierad lutning till en Surface. Kan använda Superelevation
LinkToMarkedPoint
Länk till en Marked Point (använd MarkPoint-subass) inom samma assembly
LinkWidthAndSlope
Länk med en specifierad horisontal längd och lutning.
Längd och lutning kan styras med Target-parameter
LinkToMarkedPoint2
tisdag 10 januari 2017
Namngivning eller Varför i hela fridens namn har jag inte tänkt på det här?!
Dagens tips blir lite back-to-basic AutoCAD för att underlätta livet i Civil 3D.
En av de saker som jag tjatar allra mest på i Civil 3D är namngivning i filerna. Det är mycket i ritningen som ska namngivas och en väl uttänkt namngivning underlättar i alla steg.
Ett problem som dyker upp är att namnet inte alltid finns där objektet finns. Namnen i Civil 3D syns i Properties och i Tool Space. Men många kunder vill gärna ha namnet på vissa objekt bredvik själva objektet. Detta är framförallt fallet med normalsektioner eller assemblies. Förmodligen för att man har en tendens att ha ett gäng assemblies och det gäller att namnge dom korrekt.
En lösning är då att skriva en fin text bredvid sin assembly där man skriver in vad assemblyn heter. Detta är dels en felkälla när man skriver in det, och sedan är det en felkälla om man skulle byta namn på assemblyn.
Och det känns lite väl old-school.
Så, idag sprang jag på ett tips! Så jag ska ärligt erkänna att jag kom inte på detta själv, ursprunget hittade jag HÄR .
Principen är att använda ett Field. (Vilket visserligen också är en gammal funktion så jag vet egentligen inte om det är så mycket mindre old-school...)
Man skapar först sin assembly och döper den till något intelligent. Sedan skapar man en MText men istället för att skriva in namnet så klickar man på Field-knappen uppe på Ribbonet, väljer Object i första rutan, Klicka på Select-knappen högst upp i mittenraden och välj din Assembly. Välj Name i andra rutan och klicka sedan på OK.

I din MText nu har du ett Field som läser av namnet på din Assembly. Om du ändrar namnet på assemblyn så kommer MTexten att uppdateras, visserligen med en Regen men det får man stå ut med.
Visst blir det bra?!
Gillar du inte bakgrunden bakom Fieldet? Ändra variabeln FIELDDISPPLAY till 0!
En av de saker som jag tjatar allra mest på i Civil 3D är namngivning i filerna. Det är mycket i ritningen som ska namngivas och en väl uttänkt namngivning underlättar i alla steg.
Ett problem som dyker upp är att namnet inte alltid finns där objektet finns. Namnen i Civil 3D syns i Properties och i Tool Space. Men många kunder vill gärna ha namnet på vissa objekt bredvik själva objektet. Detta är framförallt fallet med normalsektioner eller assemblies. Förmodligen för att man har en tendens att ha ett gäng assemblies och det gäller att namnge dom korrekt.
En lösning är då att skriva en fin text bredvid sin assembly där man skriver in vad assemblyn heter. Detta är dels en felkälla när man skriver in det, och sedan är det en felkälla om man skulle byta namn på assemblyn.
Och det känns lite väl old-school.
Så, idag sprang jag på ett tips! Så jag ska ärligt erkänna att jag kom inte på detta själv, ursprunget hittade jag HÄR .
Principen är att använda ett Field. (Vilket visserligen också är en gammal funktion så jag vet egentligen inte om det är så mycket mindre old-school...)
Man skapar först sin assembly och döper den till något intelligent. Sedan skapar man en MText men istället för att skriva in namnet så klickar man på Field-knappen uppe på Ribbonet, väljer Object i första rutan, Klicka på Select-knappen högst upp i mittenraden och välj din Assembly. Välj Name i andra rutan och klicka sedan på OK.
I din MText nu har du ett Field som läser av namnet på din Assembly. Om du ändrar namnet på assemblyn så kommer MTexten att uppdateras, visserligen med en Regen men det får man stå ut med.
Visst blir det bra?!
Gillar du inte bakgrunden bakom Fieldet? Ändra variabeln FIELDDISPPLAY till 0!
Prenumerera på:
Inlägg (Atom)