cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 
Developer forum

Prevent Eyedropper / Syringe from changing a specific Parameter

scottjm
Enthusiast

Hi,

 

I have a label, that has a parameter that I don't want to be modified when I use the eyedropper / syringe.  Is this possible?  I still want this parameter to be editable by the user though, so I can't force a default a value through VALUES or PARAMETERS.

 

I'm wondering if it's possible to get the previous value of a parameter when it gets modified by the Eyedropper/Syringe and then push the old value back into the parameter.

 

Thanks,

Scott

AC13 - AC23.7000 / AC26.4004
Python, GDL, VBA, PHP, SQL, CSS
Win 10, i9-9900K, 32GB, Quadro P2200, 500GB NVMe
13 REPLIES 13

Lee Hankins
Advisor

You should be able to edit the Element Transfer Settings. You have to set them up and you can configure any amount of ‘rules’. When you click alt and mouse click to inject the parameters, hold the mouse button and a little button will pop up saying which Element Transfer Setting you have deleted. Most likely it says ‘Transfer All Settings’ click that button and you can change to any of the others you have predefined. If you accidentally inject all properties just undo as you would normally. 

Lee Hankins
ArchiCAD 4.5 - ARCHICAD 26UKI Intel 3010 and Apple Silicon
macOS Monterey (12.5)

Lee Hankins
Advisor

https://help.Graphisoft.com/AC/26/INT/index.htm?rhcsh=1&rhnewwnd=0&rhmapid=#t=_AC26_Help%2F030_Inter...

Lee Hankins
ArchiCAD 4.5 - ARCHICAD 26UKI Intel 3010 and Apple Silicon
macOS Monterey (12.5)

Barry Kelly
Moderator

Element Transfer settings do not apply to individual parameters of an object or label.

But as the label is a scripted object, you can set the parameters to not transfer.

I can never remember what it is called, but the 'U' button in the parameter list, prevents the values of the parameter being passed along when you pick up / inject settings.

 

BarryKelly_0-1659942206437.png

 

 

Barry.


One of the forum moderators.
Versions 6.5 to 25
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Dell Precision 3510 - i7 6820HQ @ 2.70GHz, 16GB RAM, AMD FirePro W5130M, Windows 10

Sadly this is exactly how it does not work. 😞

Or rather, Archicad is again really inconsistent.

The undocumented "U" parameter flag tells Archicad, that this parameter has to be treated differently and was invented to have the possibility to have the same parameter name in different objects, but meaning different things.

The only place where it comes into play is in the object dialog. It is possible to inject settings there (no eye-dropper, only syringe in the left side of the dialog). If you do this, and the object you are injecting to (!) happens to have a parameter with the same name, but the "U" flag, this parameter value will then not be injected/overriden.

 

So, in all in all, this thing does not do what everybody thinks it does, and it also proves a bit unhelpful in that regard. And as you would expect from Archicad, it is opaque and unintuitive why the same thing works different depending on if you're in the dialog or not. Already argued with them too much about this, but the devs are just to dense to comprehend that the user doesn't care why this is. It just makes no sense.

AC 24 [ger] | Win 10 | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»

@runxel , you are correct and I was mistaken in my thinking of how this works.

This only works when transferring settings when in the object settings dialogue.

 

So when you have an existing object and you want to replace it with a new object, with all the same settings (if they have those settings in common), except those tagged with the 'U' flag.

Select an existing object, open the settings dialogue, find the new object you want it to become and CTRL+ALT (inject) the properties into that object.

 

 

It does not apply when transferring settings from one object to another.

 

Barry.


One of the forum moderators.
Versions 6.5 to 25
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Dell Precision 3510 - i7 6820HQ @ 2.70GHz, 16GB RAM, AMD FirePro W5130M, Windows 10

🤦‍  Looks like GDL was luring me down the wrong path yet again!  Guess I'll just have to hardcode some default options based on the element type.

 

Thanks so much for your help to clarify @runxel  and @Barry Kelly 

 

Totally agree that the logic is totally counterintuitive and I can't see any reason why the Unique setting couldn't also apply to the eyedropper / syringe action.

 

AC13 - AC23.7000 / AC26.4004
Python, GDL, VBA, PHP, SQL, CSS
Win 10, i9-9900K, 32GB, Quadro P2200, 500GB NVMe

For what it's worth (not very experienced GDL coder): I generally define a few parameters in script for this reason. At least I only have to change one instance in the script and the code can stay the same.

 

You are probably already doing this, but just incase 🙂

Erwin Edel, Project Lead, Leloup Architecten
www.leloup.nl

ArchiCAD 9-24 NED FULL
Windows 10 Pro
Adobe Design Premium CS5

Let me tell y'all one very crude tip:

You, foremost @scottjm, can circumvent this issue with GLOB_INTGUID.

I've used it in some of my objects where I wanted them to "reset" when eyedropping them. Works like a charm.

AC 24 [ger] | Win 10 | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»

Thanks @runxel. Yes I had been messing around using GLOB_INTGUID to set the param value I was wanting for a specific element type for it’s first placement which was kinda working.  So will attempt to modify that to get it to react to a syringe to reset to a default for each element type.
 
I’ve been modifying the standard Archicad generic label and it was the SurfaceToDisplay param that was giving me grief. Given it changes it’s available options of available surface to display depending on the element type the label is associated too. (Wall face vs slab face etc). 
But a user can also choose between outside, inside or edge face etc to be displayed so I was wanting the user selection to be able to be preserved when syringing other label configs arounds. 
but alas. 

thanks again!

AC13 - AC23.7000 / AC26.4004
Python, GDL, VBA, PHP, SQL, CSS
Win 10, i9-9900K, 32GB, Quadro P2200, 500GB NVMe

The syringe on the plan transfers various element settings, and treats the selected library part with all its parameters as one setting.

I agree it would be helpful to be able to control the library part and its parameters separately in the transfer exclusions.

Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest

Yeah, maybe we could have the possibility for a more granular way of syringing/injecting parameters in the future.

I know, it's not easy to implement. In the end you always have to think of all the scenarios and balance pros and cons.

E.g. there are 2 possible ways to handle this:

• The programmer chooses which parameters are never to be picked for one object (great, because they probably know best; but not so good if you have a malicious programmer :P)

• The user can set this as part of the element transfer settings (which is not easy due to the custom naming of parameters)

• Or actually both.

 

On a related side note: It would be great to have the ability to pick the settings from objects which belong to a system, too (where they are a sub-element like in stairs, CWs, railings, etc.) and inject them later! Especially with railings this would save some nerves 🙂

AC 24 [ger] | Win 10 | Developer of the GDL plugin for Sublime Text |
«Furthermore, I consider that Carth... yearly releases must be destroyed»

Hi @Peter Baksa ,

 

What can we do to get this request onto the roadmap?

 

My feeling is that if the programmer sets a parameter as Unique, it should be not be overridden by the syringe tool.  The way it appears to currently function is not the expected behaviour.

 

Thanks,

Scott

AC13 - AC23.7000 / AC26.4004
Python, GDL, VBA, PHP, SQL, CSS
Win 10, i9-9900K, 32GB, Quadro P2200, 500GB NVMe

You can enter a wish or tell support about this problem.

Péter Baksa
Software Engineer, Library as a Platform
Graphisoft SE, Budapest

Still looking?

Browse more topics

Back to forum

See latest solutions

Accepted solutions

Start a new discussion!