Idag blir det ett macro!
När man är AutoCAD-nörd så blir man himla glad när man får AutoCAD att göra precis som man har tänkt sig. Jag har haft detta macro tidigare men i och med datorbyte och sånt så har jag tappat det, så lite återskapande och googling krävdes för att få ordning på det.
Men vi börjar lite från början - och detta är min väldigt basic nivå av kunskap när det kommer till programmering så jag ber om ursäkt från början om jag förenklar något alldeles för mycket.
Man kan säga att allt som man gör upprepade gånger i AutoCAD kan automatiseras. Det stämmer framförallt för alla kommandon som man kan sköta på kommandoraden. Du kan klistra in kod direkt på kommandoraden för att få AutoCAD kan göra som du vill. Och ibland räcker det, men det är oftast enklare i det långa loppet att lägga den kodning på en knapp som ett macro.
Grunden i macro-byggande är att du skriver macrot som du skriver det på kommandoraden och mellanslag eller semi-colon representerar enter-slag. Macron kan innehålla flera funktioner i följd och kan komma ihåg information mellan funktionerna.
Macrot som jag skapade idag ska både byta bakgrundsfärg i ritytan och tema-färg på ribbonet och paletterna. Just detta är inte funktioner faktiskt utan variabler, men det fungerar på precis samma sätt.
Det första man behöver göra är att hitta funktionen eller variabeln som gör det man är ute efter. Om det är funktion man använder så ser man på kommandraden vad funktionen heter. Om det är en tick-box man vill ändra på så kan det finnas ett tool tip där det står vilken variabel som gäller. Annars är det letande i Help-filen eller Google som gäller. Om det är en variabel som man är ute efter så kan man leta i System Variable Dialog (kommando SYSVDLG), den är inte super-rolig att leta i men har man lite koll på vad variabeln kan heta så går det ganska bra.
Idag var det variablen COLORTHEME som jag behövde, den bestämmer tema-färgen bakom ribbonet och paletter. Backgrundsfärgen är lite svårare, det är en miljö-variabel. Fråga mig inte vad som är skillnad mellan miljö-variabel och vanliga variabler. Google is your friend!
För att klura ut hur jag ska skriva macrot så börjar jag med att skriva hur jag tror det ska fungera i Anteckningar/Notepad och sedan klistrar jag in den texten på kommandoraden och ser om det jag vill ska hända händer.
Dagens macro behövde en extra funktion. När jag testade macrot så slog inte förändringen igenom förrän jag flippade till Layout-fliken och sedan tillbaka igen. Det finns säkert andra funktioner som skulle tvinga fram samma regenerering men jag valde att använda TILEMODE=0 (gå till senast aktiva layouten) och sedan TILEMODE=1 (gå till model space)
Så totalt blir mina macro då:
Svart bakgrund: ^C^Ccolortheme 0 (setenv "Background" "0") tilemode 0 tilemode 1
Vit bakgrund: ^C^Ccolortheme 1 (setenv "Background" "16777215") tilemode 0 tilemode 1
Nu är detta väldigt specifika macron. Byta bakgrundsfärg är nog inget som de flesta gör speciellt ofta men för mig så gör jag detta nästan varje dag. Vit bakgrund passar bäst när jag tar screenshots och håller presentationer på projektor - men jag vill ha svart bakgrund när jag jobbar själv.
Sidenote: frågan kommer ibland om vilket man ska ha, svart eller vit bakgrund. AutoCAD kommer som standard idag med en mörkgrå bakgrund, min gissning är att det ska vara lättare för ögonen. Man kan sätta precis vilken färg man än vill ha på bakgrunden, men vitt och svart är det två vanligaste. Vilken man ska ha?
Såna här frågor brukar jag svara med att säga att det är som Apple och Android. Det spelar egentligen ingen roll - men de flesta är helt övertygande om att deras inställning är det korrekta och alla andra har fel!
Visar inlägg med etikett Färg. Visa alla inlägg
Visar inlägg med etikett Färg. Visa alla inlägg
onsdag 13 december 2017
tisdag 10 februari 2015
VISRETAIN - eller helvetets variabel
Det finns vissa inställningar i AutoCAD som ställer till mer problem än andra. VISRETAIN är en sådan inställning.
Först, här är var AutoCAD Help har att säga om vad VISRETAIN är:
Först, här är var AutoCAD Help har att säga om vad VISRETAIN är:
Controls the properties of xref-dependent layers.
| Type: | Integer |
| Saved in: | Drawing |
| Initial value: | 1 |
Controls visibility, color, linetype, lineweight, and plot styles.
0
|
The layer table, as stored in the reference drawing (xref), takes precedence. Changes made to xref-dependent layers in the current drawing are valid in the current session only and are not saved with the drawing. When the current drawing is reopened, the layer table is reloaded from the reference drawing, and the current drawing reflects all of those layer property settings.
|
1
|
Xref-dependent layer changes made in the current drawing take precedence. Layer settings are saved with the current drawing's layer table and persist from session to session.
|
Fullständing glasklart right?
Först ska man veta att VISRETAIN sparas i ritningen. Alltså måste du sätta VISRETAIN i varje ritning, men det innebär också att du kan sätta det i din mall-ritning om du alltid vill ha ett visst värde.
VISRETAIN påverkar synlighet, färg, linjetyp, linjetjocklek och plot stilar - alltså i princip det vi kan ändra i lagerlistan eller i Properties-paletten. VISRETAIN påverkar inte objekt, enbart utseendet på objekten.
VISRETAIN påverkar objekt och lager som ligger i en xreffad fil. Den påverkar inte objekt som är ritade direkt i din fil. Den har heller ingen påverkan framåt i x-ref-trädet. Vad VISRETAIN har för inställning i din fil har ingen påverkan om du xreffar in din fil i en annan fil. VISRETAIN-inställningen i en fil påverkar enbart x-reffar som är inreffade i den filen.
Det var grunderna. Nu till vad 1 och 0 står för.
Om VISRETAIN är satt till 0 så kommer AutoCAD alltid att läsa in alla lager från den xreffade filen när du öppnar din fil. Utseendet i din fil kommer alltså alltid att se ut precis som det ser ut om du skulle öppna den xreffade filen direkt. Om du gör någon ändring på ett lager på en xref i din fil så kommer den ändringen inte att sparas till nästa gång du öppnar filen.
Om VISRETAIN är satt till 1 så kommer AutoCAD att spara alla ändringar du gör i din fil. Din fil kommer alltså att se likadan ut när du öppnar den nästa gång som när du sparar den nu.
Nu till problemen.
Om du har VISRETAIN till 1 i din fil och gör en ändring på ett lager i din xreffade fil, så kommer inte den ändringen slå igenom. Du måste sätta VISRETAIN till 0 och ladda om xreffen för att ändringen ska slå igenom.
Om du har VISRETAIN till 0 i din fil och gör en ändring på ett lager som tillhör en xref, stänger din fil och öppnar den igen, så kommer inte din ändring vara kvar. Om du vill ha kvar ändringen så måste du sätta VISRETAIN till 1 innan du sparar filen för att ändringen ska vara kvar.
Den vanligaste frågan jag får är "Men vad ska jag sätta VISRETAIN till då?"
Det finns inget rakt svar på det. Det viktigaste är att man vet vad VISRETAIN gör, då kan man hantera det på rätt sätt.
Om du har VISRETAIN till 1 i din fil och gör en ändring på ett lager i din xreffade fil, så kommer inte den ändringen slå igenom. Du måste sätta VISRETAIN till 0 och ladda om xreffen för att ändringen ska slå igenom.
Om du har VISRETAIN till 0 i din fil och gör en ändring på ett lager som tillhör en xref, stänger din fil och öppnar den igen, så kommer inte din ändring vara kvar. Om du vill ha kvar ändringen så måste du sätta VISRETAIN till 1 innan du sparar filen för att ändringen ska vara kvar.
Den vanligaste frågan jag får är "Men vad ska jag sätta VISRETAIN till då?"
Det finns inget rakt svar på det. Det viktigaste är att man vet vad VISRETAIN gör, då kan man hantera det på rätt sätt.
Etiketter:
AutoCAD,
Externa Referenser,
Färg,
Lager,
Linjetyp,
Vanligt problem,
Variabel,
VISRETAIN,
Xref
Prenumerera på:
Inlägg (Atom)