Hola.
Un Decision, tiene sólo 2 ramas (True /False), de modo que sólo te permite solo 2 casos.
Por ejemplo, si tienes un parámetro de entrada de tipo Booleano (Yes / No), entonces es muy útil.
Sin embargo, puede pasar que a veces hay más de 2 posibles alternativas. Cuales? por ejemplo, si añades un Enumeration, que contenga más de 2 opciones a elegir entre alguna de ellas.
O por ejemplo, si tienes un valor double y quieres comprobar si la elevación de un punto se encuentra en un cierto rango de elevación o coincide con una cota. (por ejemplo, si está por debajo de esa cota, tiene la misma cota, o la cota es superior)-- Estos serían 3 posibles casos.
Con el Decision, se puede poner uno detrás de otro, de modo encadenado, así simulas como si fuera un Switch sólo que no queda tan estructurado en pantalla y tienes que poner más cosas. El Switch es más limpio.
El Switch, es lo que se conoce en Visual Basic como "Select case", que es lo que hace internamente SAC puesto que su API es en VB.NET:
https://docs.microsoft.com/es-es/dotnet/visual-basic/language-reference/statements/select-case-state...
Creo que el Switch tiene hasta 11 casos posibles, solo que el Switch de SAC está "capado" y sólo acepta valores String (en .NET acepta string, integer, double y creo que alguno más).
Por tanto, en SAC no sirve utilizar Switch cuando se trata de un valor double o integer, solo es válido para "String".
Y el valor que se obtiene de un Enumeration, con la expresión "MiEnumeration. Value = "Caso1"), creo que no se puede poner en el Switch.
La única manera que me ha servido el Switch, es cuando tengo una variable añadida en SAC de tipo String, o un parámetro de entrada de tipo String, y luego uso el Switch para ir programando diferentes escenarios dependiendo del valor del String de esa variable.
Por tanto, si es un valor double o integer, no te queda otra que hacer Decisions anidados (encadenados) uno detrás de otro porque no vas a poder hacerlo con Switch.
Saludos.
Autocad C3D 2019 SP3, 2020 & 2021
Intel I9 9900K with frontal watercooler alphacool eisbaer 360 (original fans mounted in pull)- 3 fans Corsair 120 ML PRO in push.
MOBO Gygabyte Z390 Aorus Master- Corsair RGB Vengeance 64GB RAM (4x16) CL16
Nvidia Quadro RTX 4000
Samsung 970 EVO PLUS 1TB (unit C). Samsung 970 PRO 512GB (for data)
Power Supply: Corsair TX850M PLUS
Descubre mi programa VisorNET para Civil 3D:
https://apps.autodesk.com/CIV3D/es/Detail/Index?id=appstore.exchange.autodesk.com%3avisornet_windows32and64%3aes