IF-satser i ekvationer
Nu är det dags för oss att ta en titt på de olika sätten vi kan använda oss av IF-satser för att bestämma utfallande data i olika delar av SOLIDWORKS.
IF-sats i BOM
En BOM-lista är något som de flesta företag använder sig av för att beskriva innehållet av en sammanställning på ett kort och konkret sätt. Den inbyggda funktionaliteten i dessa listor räcker långt, kanske hela vägen i mål. Men ibland så behöver man ha ut mer avancerad data, där olika värden ska skrivas ut beroende på olika faktorer. Då kan IF-satser i en ekvation hjälpa oss!
En IF-sats i en BOM-lista skrivs på följande form:
IF(”Villkor”;”Värde om villkoret är sant”;”Värde om villkoret är falskt”)
Viktigt att veta här att om man till exempel vill använda sig av en property som en del av villkoret eller värdet som ska skrivas ut anges dessa properties inom apostroftecken (”). Om man istället vill använda sig av kolumner i den befintliga BOMen så anges kolumnnamnet inom citattecken (’’).
Ett lätt exempel på en ekvation skulle kunna vara:
Om vi har en sammanställning där alla ingående parter har en property Price angivet i sig. För att åskådaren ska slippa göra en rimlighetsbedömning om komponenten är en billig eller dyr komponent så vill vi inte skriva ut det exakta priset i listan, utan vi vill istället bara ange om komponenten anses vara Cheap eller Expensive.
För att åstadkomma detta kan vi skriva in följande ekvation för kolumnen:
IF(`Price` < 5; ”Cheap” ; ”Expensive”)
Denna ekvation kollar av om propertyn Price är större eller mindre än 5. Om den är mindre än 5 så kommer ordet Cheap skrivas ut i kolumnen. Om Price är större än eller lika med 5 så kommer Expensive att skrivas ut i kolumnen.
IF-sats i Equation Manager
Formen för en IF-sats ser lite annorlunda ut i Equation Manager, IF-satsen skrivs på följande form:
IIF(”Villkor”, ”Värde om villkoret är sant”, ”Värde om villkoret är falskt”)
Värt att notera här är att värdena som är giltiga för ekvationer i Equation Manager enbart är numeriska, så inga textvärden kan skrivas ut till skillnad från BOM-listans IF-sats. Det undantagsfall som finns är om man skapar en ekvation för en specifik feature, då man i detta fall kan använda sig av suppressed eller unsuppressed som utfallande värden för att kontrollera om featuren ska vara suppressed eller unsuppressed.
Om vi som exempel har en global variabel med namnet width, och vi vill suppressa en feature med namnet depression fillet b så skrivs ekvationen på följande sätt:
IF(”width” >= 1, ”suppressed”, ”unsuppressed”) eller IIF(”width” >= 1, ”suppressed”, ”unsuppressed”)
Denna ekvation kommer suppressa vår feature om width propertyn är större eller lika med 5. I annat fall (inklusive om width propertyn är tom) kommer denna feature vara unsuppressed.
IF-sats i File Properties
Formen för en IF-sats för en custom property är den samma som för Equation Manager:
IF(”Villkor”, ”Värde om villkoret är sant”, ”Värde om villkoret är falskt”)
Syntaxen för att referera till en annan custom property ser dock lite annorlunda ut från hur man refererar till en global variabel. Detta liknar hur man refererar properties i ritningshuvuden då man använder sig av $PRP för att ange att det är en property i denna fil som det refereras till. Även här är enbart numeriska värden giltiga som outputs.
Om vi som exempel har en property med namn WidthAdded där vi vill ange hur mycket extra bredd vi måste lägga till beroende på hur lång detaljen är, och hur lång detaljen är får vi ut från bounding boxens totala längd, så kan vi skriva ut ekvationen som följande:
IF ( $PRP:”Total Bounding Box Length” > = 150 , 1 , 2 )
Denna ekvation kommer ge propertyn WidthAdded värdet 1 om den totala längden av parten är större än 150. I annat fall kommer värdet skrivas ut som 2.
Detta var allt för denna lilla introduktion till IF-satser i SOLIDWORKS. Jag hoppas detta kan leda er på rätt spår när ni vill effektivisera ert arbetsätt i SOLIDWORKS!