We value your input! Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey
2022-09-06 08:27 AM - edited 2022-09-06 08:28 AM
Tbh I feel silly to ask such basic question, but I can't figure out how to swap values for A, B.
If additional parametes are created it's easy to change their values based on constant A, B. Though how to do it when with help of 2 parameters only? preferably main A, B.
https://drive.google.com/file/d/1TuKbeIqsUdWjve0QYYlYH62h2HNA5-T7/view?usp=drivesdk
Solved! Go to Solution.
2022-09-07 10:12 AM
If I change the script to following it works for me:
temp_A = A
temp_B = B
IF GLOB_MODPAR_NAME = "bSwap" then
IF bswap = 1 THEN
A = temp_B
B = temp_A
PARAMETERS A = A
PARAMETERS B = B
PARAMETERS bSwap = 0
ENDIF
endIF
2022-09-06 08:51 AM
@A_ Smith You need to clarify a bit more about where you are changing the values e.g. param-o or in a GDL script? In gdl you will need to create swap values e.g. a1 & b1 if you don’t want to loose the originals. You could also do a similar thing with Find & Replace.
2022-09-06 09:04 AM - edited 2022-09-06 09:06 AM
GDL.
In parameter script I planned to swap A, B - at least for now (when "bSwap" is true), without saving original values. Kinda temp=A, A=B, B=temp
Originally I wanted to swap values each! time "bSwap" is changed... Just in order to find out why that doesn't work, decided to make it simpler.
2022-09-06 10:49 AM
I would:
IF GLOB_MODPAR_NAME = bSwap then
temp = A
A = B
B = temp
PARAMETERS A = A
PARAMETERS B = B
PARAMETERS bSwap = 0
endIF
Ling.
AC22-23 AUS 7000 | Help Those Help You - Add a Signature |
Self-taught, bend it till it breaks | Creating a Thread |
Win11 | i9 10850K | 64GB | RX6600 | Win10 | R5 2600 | 16GB | GTX1660 |
2022-09-06 11:11 AM
Right, but that doesn't work...
2022-09-06 12:42 PM
Try Ling's Parameter Script extract without the 'Parameters bSwap = 0' you will then know if the values are swapped.
2022-09-06 02:09 PM
Well, I know it without deleting that row - it doesn't work as expected. I see that values don't change. Just to be sure, I removed it - all remais the same.
Unfortunatelly trying to help without actually checking it, doesn't do the job. Because, it's so simle lines of code (strange to say it though) that can't be wrong. Nevertheless they do not obey.
2022-09-06 07:12 PM
!PARAMETER SCRIPT
!Create values for bSwap (boolean) and A1 & B1 (real) in the parameters
A1 = A
B1 = B
PARAMETERS A1 = A1, B1 = B1
IF GLOB_MODPAR_NAME = "bSwap" THEN
IF bSwap = 1 THEN
A = B1
B = A1
ZZYZX = A1
ELSE
A = A1
B = B1
ZZYZX = B1
ENDIF
PARAMETERS A = A, B = B, ZZYZX = ZZYZX
ENDIF
2022-09-07 03:22 AM
Odd... since I have replaced the A, B and ZZYZX values in objects before...
AC22-23 AUS 7000 | Help Those Help You - Add a Signature |
Self-taught, bend it till it breaks | Creating a Thread |
Win11 | i9 10850K | 64GB | RX6600 | Win10 | R5 2600 | 16GB | GTX1660 |
2022-09-07 10:12 AM
If I change the script to following it works for me:
temp_A = A
temp_B = B
IF GLOB_MODPAR_NAME = "bSwap" then
IF bswap = 1 THEN
A = temp_B
B = temp_A
PARAMETERS A = A
PARAMETERS B = B
PARAMETERS bSwap = 0
ENDIF
endIF