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

Request assocel_properities

Anonymous
Not applicable
Hi I'm working on a label that shows the keycodes of the components of the associated properties.

I used the example in gdl guide on REQUEST ASSOCEL_PROPERTIES
I used the command in the 2D script not in parameter or master script

To make an example I used a composite wall and its associated property object.

The property object has many components that retrieve information from different databases.

The resulting label is alittle bit odd.
It retrieves the key codes from the property object from components of both of the databases that is use, but not all of them.

furthermore I would like to ask how I could limit my results to the key codes of the components of a certain database? I don't understand clearly how the matrix stores data and if I should use one or two dimensinal array and how to retrieve certain information.

Thanks

2016-09-01_13h34_03.png
13 REPLIES 13
Anonymous
Not applicable
I'm trying to refine the associated property object label I posted earlier in this thread. I'm trying to use the values retrieved as drop down lists to filter information. I use command : values "___dbsetname" _dbsetname
_dbsetname is an array that holds the names of the databases that provide info to the property object. Is this a problem of the request ASSOCEL_PROPERTIES? can the values retrieved in array be used for parameter values.

P.S. in the array there are common records is this a problem? should I make a new array that holds descrete values?


Thanks Ioannis
Anonymous
Not applicable
ispyridis wrote:
I'm trying to refine the associated property object label I posted earlier in this thread. I'm trying to use the values retrieved as drop down lists to filter information. I use command : values "___dbsetname" _dbsetname
_dbsetname is an array that holds the names of the databases that provide info to the property object. Is this a problem of the request ASSOCEL_PROPERTIES? can the values retrieved in array be used for parameter values.

P.S. in the array there are common records is this a problem? should I make a new array that holds descrete values?


Thanks Ioannis
it seems my problem is that the array has duplicate values. is there a way to make an array with unique values out of the initial one?

Thanks
Anonymous
Not applicable
I managed to limt the _dbsetname values to a new array __dbsetname my problem now is that a zero "0" value comes from nowhere. below is the code with some text2 commands to test contents of both arrays. in the attached image you can see the zero phantom value. Can anybody help?



n=0


nnn = REQUEST ("ASSOCEL_PROPERTIES", "iscomp,dbsetname,keycode,keyname,code,name,fullname,quantity,totquantity,unitname,unitformatstr,propobjname", n, DATA)
if n = 0 THEN
    TEXT2 0, 0, "No properties"
ELSE
	j = 0
	k=1

	FOR i=1 TO n 

			IF   i/1 = 1 or (i-1)/12 = int((i-1)/12) THEN 
			_iscomp= data
			k=k+1
			ENDIF 
NEXT i
	k=1
FOR i=1 TO n 
			IF   i/2 = 1 or (i-2)/12 = int((i-2)/12) THEN 
			_dbsetname= data
			text2 15,k,_dbsetname
			k=k+1
			ENDIF 
NEXT i

k=2
__dbsetname[1] = _dbsetname[1]
text2 0,0, __dbsetname[1]

FOR i=2 to VARDIM1 (_dbsetname)

IF _dbsetname = _dbsetname[i-1] then 
k=k
else
k=k+1
__dbsetname = _dbsetname

ENDIF
NEXT i

for i=1 to vardim1 (__dbsetname)
text2 5,i, __dbsetname
next i
text2 10,5,vardim1 (__dbsetname)
text2 10,2,vardim1 (_dbsetname)

!
!
!
VALUES "___DBSETNAME" __dbsetname, CUSTOM
!
Anonymous
Not applicable
ok I found my mistake in the code

k=k+1

had to be after

__dbsetname = _dbsetname

the problem now is that even though I have an array with unique values, I cannot use it in a value list. What is the problem?