We value your input!
Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey

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

Stretchy 2D symbol made from fragments?

Paul King
Mentor
It has been too long since I have had a chance to do much with GDL, so hoping someone has a quick and easy solution.

I have a bunch of 2D objects based on drawn fragments that can be parametrically switched off and on.

I would like to be able to stretch these when placed by dragging corner hotspots, but no combination of settings in object editing dialog seems to allow this.

I seem to recall it being possible at one time. In face I recall this tendency being an actual problem in some cases.

I have been playing with compatibility options in particular (saving object and reloading libraries each time), but none of these options has any noticeable affect on stretchability, though I could have sworn they once did.

What am I missing?

More importantly, how can I otherwise rapidly rescale a placed dumb 2D object independently in an x or y direction (accepting the distortion of curved elements etc) - without resorting to elaborate scripting to generate each line in the symbol ?
PAUL KING | https://www.prime.net.nz
ArchiCAD 8-28 | Twinmotion 2024
Windoze 11 PC | Intel Core i9 10900K | Nvidia Gforce RTX 3080 | 32 Gb DDR3 | 2x4K monitor extended desktop
1 ACCEPTED SOLUTION

Accepted Solutions
Solution
Barry Kelly
Moderator
The compatibility options you show have nothing to do with what you want.
The store ration button you have selected just means if you change the A or B value in the object script and re-save the object, it will affect all placed instances of that object.
The other one for 'Store Fixed Values' is the better option.

What you want is a simple MUL2 command before the FRAGMENT command.

So let's assume you have a default A value of 1000mm and a default B value of 1000mm in your object.
MUL2 A/1.000, B/1.000
FRAGMENT2 1,0
DEL 1

This should now stretch as you adjust the A and B values in the place object instance.
You could also add adjustable hotspots to make the stretchy graphical.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11

View solution in original post

2 REPLIES 2
Solution
Barry Kelly
Moderator
The compatibility options you show have nothing to do with what you want.
The store ration button you have selected just means if you change the A or B value in the object script and re-save the object, it will affect all placed instances of that object.
The other one for 'Store Fixed Values' is the better option.

What you want is a simple MUL2 command before the FRAGMENT command.

So let's assume you have a default A value of 1000mm and a default B value of 1000mm in your object.
MUL2 A/1.000, B/1.000
FRAGMENT2 1,0
DEL 1

This should now stretch as you adjust the A and B values in the place object instance.
You could also add adjustable hotspots to make the stretchy graphical.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Paul King
Mentor
Awesome, thanks Barry

My 10 years younger self kicks present day me in the shins for forgetting about that stuff!
PAUL KING | https://www.prime.net.nz
ArchiCAD 8-28 | Twinmotion 2024
Windoze 11 PC | Intel Core i9 10900K | Nvidia Gforce RTX 3080 | 32 Gb DDR3 | 2x4K monitor extended desktop