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

View name or ID request

Erich
Booster
I am hoping to revise my zone stamp to allow it to move to different x/y locations depending on the current saved view (ie floor plan, finish plan, electrical plan, etc) so that it can be moved out of the way of notes and symbols in one view and not affect the others.

In theory, this is fairly easy, however to do this I need to find a way to reference a saved view name or id. Looking through the GDL manual it does not appear that to be a request that can be used for this but I am hoping I am wrong. Does anyone know of a method? Can this be done?

Thanks
Erich

AC 19 6006 & AC 20
Mac OS 10.11.5
15" Retina MacBook Pro 2.6
27" iMac Retina 5K
18 REPLIES 18
ztaskai
Graphisoft Alumni
Graphisoft Alumni
Hi,

There's no direct support for creating view dependent displacement - but I think I have a workaround in v13. You define a view class parameter in your library global object. This can be anything but I advise you to pair it with positive integer numbers starting from 1. This way you can request this value in your stamp objects and use it as an index in a coordinate array.

Something like this is on my mind:
dummy = LIBRARYGLOBAL(yourobject, yourIntParamName, iViewClass)
...
hotspot2 0, 0, ..., xOffsets[iViewClass], ...
hotspot2 -1, 0, ..., xOffsets[iViewClass], ...
hotspot2 xOffsets[iViewClass], yOffsets[iViewClass], ..., xOffsets[iViewClass], ...
hotspot2 0, 0, ..., yOffsets[iViewClass], ...
hotspot2 0, -1, ..., yOffsets[iViewClass], ...
hotspot2 xOffsets[iViewClass], yOffsets[iViewClass], ..., yOffsets[iViewClass], ...
There is one important thing though. You have to communicate the difference between the two kind of dragging of zone stamps to your users. The 'built-in' drag moves the stamp in all views and the 'editable-hotspot-based' drag moves the stamp in the active view category only. It's easy to mess up but can be used with some extra care.

Regards,
Zsolt
Zsolt Táskai
ArchiCAD Development - GDL Team
AC13, AC14 and upwards...
Anonymous
Not applicable
Zslot

That is pretty much the same idea I had for 13 but as Erich said they are still on 12!
13's new model view options for library parts will open up so many options for exactly this sort of stuff.
I'm looking forward to getting in and having a serious play with it all!
Erich
Booster
Zsolt,

That is great to hear, that will work quite well, at least once we are able upgrade. Thanks for the feedback it gives us something to look forward to.

Until then I will just have to make do with the work around.
Erich

AC 19 6006 & AC 20
Mac OS 10.11.5
15" Retina MacBook Pro 2.6
27" iMac Retina 5K
Anonymous
Not applicable
Maybe it too late since you are upgrading to 13, but I thought of a nice way to get the zone marker offset.
Instead of moving the zone marker you LABEL the zone. The label can extract any information of the zone. It is placed on a layer, so you can use layer combinations. To avoid double markers you can turn off the zone-marker with the MVOC.
Anonymous
Not applicable
Hello,

I think this not possible- the zone is some kind of label itself

Neither requesting "ASSOCLP_PARVALUE" works on zones.
Master wrote:
Instead of moving the zone marker you LABEL the zone. The label can extract any information of the zone.
Anonymous
Not applicable
There is this code with which an object (or a label) can request information of the zone it is in. Ok, it cannot request all parameters but it can request the name/category/code/name/number.
(I was creating a new label, so I got a bit carried away )
REQUEST ("Zone_relations", "", category_name, code, name, number)
Anonymous
Not applicable
Hello,

Yes those are the extractable infos and only works inside the zone.

Would be fine if could be placed outside the room.
Anonymous
Not applicable
Yes, they only work when the middle of the object is inside (or close to) the zone.

But . . . you can place a hotspot-object with only a hotspot or so inside the zone, let that put the zone information in a parameter and then label that hotspot-object. That label requests that particular parameter of the hotspot-object.
A bit far-fetched but it might work.
Anonymous
Not applicable
The other option for moving a label outside of the zone is to push the zname to a parameter and then have an if statement for if the zname = "" then the text output = your parameter.
That's my work around anyway!