Learn to manage BIM workflows and create professional Archicad templates with the BIM Manager Program.

Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

stretch in increments

RandyC
Advocate
Is it possible to have an object stretch (snapping to ) by an increment of
say 8" ?
ArchiCAD 4.5 --- 27 , Win 10 , dual monitors, 64 gb ram,Nvidia GeforceRTX 2080 TI, I-9
7 REPLIES 7
RandyC
Advocate
To clarify , I would like the Hotspots to snap to increments as the object is stretched.
ArchiCAD 4.5 --- 27 , Win 10 , dual monitors, 64 gb ram,Nvidia GeforceRTX 2080 TI, I-9
Oleg
Expert
RandyC wrote:
Is it possible to have an object stretch (snapping to ) by an increment of
say 8" ?
May be this solution

Parameter script:

cellSize=8"
VALUES "A" RANGE [cellSize, ] STEP cellSize, cellSize
VALUES "B" RANGE [cellSize, ] STEP cellSize, cellSize
Anonymous
Not applicable
The RANGE function definitely works. I have used it myself and it is VERY cool. I don't remember the exact syntax, but if anyone has more questions I'll look into it.
RandyC
Advocate
THANKS , OLEG & MATTHEW the range function did the trick !

Randy Clarkston
WestCoast Design
ArchiCAD 4.5 --- 27 , Win 10 , dual monitors, 64 gb ram,Nvidia GeforceRTX 2080 TI, I-9
Apologies if this is obvious,

You can also code explicit values for A, B, & ZZYZX for things (equipment, furniture?) that only come in certain sizes, aren't indefinitely extensive, and/or don't change size on a consistent interval. E.g.,

!bed widths
VALUES 'A' 39", !twin
			54", !Full
			60", !Queen
			76" !King
You can also bind values in different lists together using GLOB_MODPAR_NAME.

!water heater dimensions
!gallon size
VALUES 'galq'	30,		50,		75,		100,	120
!diameter
VALUES 'A' 	22", 	24", 	26", 	28", 	30"
!height
VALUES 'ZZYZX' 48",	60",			74",	76"

IF GLOB_MODPAR_NAME='galq' THEN
	IF galq=30 THEN
		PARAMETERS A=22"
		PARAMETERS ZZYZX=48"
	ENDIF
	IF galq=50 THEN....


IF GLOB_MODPAR_NAME='A' THEN
	IF A=22" THEN
		PARAMETERS galq=30
		PARAMETERS ZZYZX=48"
	ENDIF
	IF A=24" THEN...

So the user can choose the size from the list or stretch the diameter and the related parameters update.
James Murray

Archicad 27 • Rill Architects • macOS • OnLand.info
Anonymous
Not applicable
James wrote:
You can also bind values in different lists together using GLOB_MODPAR_NAME.
Is it possible to combine the GLOB_MODPAR_NAME with a VALUES statement in the IF THEN test ?
Geoffroy wrote:
Is it possible to combine the GLOB_MODPAR_NAME with a VALUES statement in the IF THEN test ?
Conditional VALUES lists are OK in general, in my experience. I put all lists in the Master Script, it's more consistent than the Parameter Script.

Do you mean,

IF GLOB_MODPAR_NAME='name1' THEN VALUES 'A' 1',2',3'
IF GLOB_MODPAR_NAME='name2' THEN VALUES 'A' 4',5',6'
It seems to work; I've never done it in practice. There can't be a VALUES statement for the parameter that's NOT part of a conditional. IE, don't do this:

VALUES 'A' 7',8',9'

IF GLOB_MODPAR_NAME='name1' THEN VALUES 'A' 1',2',3'
IF GLOB_MODPAR_NAME='name2' THEN VALUES 'A' 4',5',6'
Then there's two lists for the same parameter, which, not surprisingly, gives unpredictable results.

One more thing: Parameter updating seems to get unreliable when stretching vertically in 3D. This works fine in the settings box:

IF GLOB_MODPAR_NAME='ZZYZX' THEN
	IF ZZYZX=1' THEN PARAMETERS modelname='Short'
	IF ZZYZX=3' THEN PARAMETERS modelname='Tall'
ENDIF
...but can't relied on in 3D.
James Murray

Archicad 27 • Rill Architects • macOS • OnLand.info