I routinely import dwg files from manufacturers, and routinely need elements within them to stretch, rotate, switch on or off, change pens, fills etc, with geometry changes preferably handled in a stretchy way where possible - in other words to act as library objects.
The problem is that even though I have some GDL background (now very rusty), I have always found it prohibitively time consuming whenever I attempt to make highly parametric 2D objects from complex supplied imported linework using GDL. Frankly, I seldom get past using fragments to switch simple alternatives on or off (which is time consuming enough)
Now that there are supposed user friendly alternatives to GDL (Param-o and Library Part Maker) what is best practice workflow these days for anyone wanting to speedily convert thousands of imported small line segments into a useful parametric 2D object, with individually stretchy components?
The only thing we generally have to import are window frame profiles (steel, PVC or aluminium) and we just have unstretchable library parts for typical connection assemblies. You end up with a slightly larger library of parts, but no real GDL scripting required beyond making sure you can't alter the size by accident.
I do know we have a lot of extra parts from our local reseller though that can generally resemble the manufacturer dimensions well enough.
My example product is a pre-formed strip drain / channel product (typically run around the edge of a building and across doorways where exterior paving needs to be level with interior floor level)
Each of the elements with green arrows in the screenshot below needs to be adjustable inwards or outwards within specified limits to deal with local variations in building wall position (to deal with inset doorways, or variations in cladding thickness etc), even as the other edge of the assembly remains fixed.
There is a layer of grout at the base of the channel with thickness that needs to stretch upwards or downwards as well, depending on its falls along the channel base, as this is reflected in a given location, with the grate support stanchion adjusting in length to follow the grout.
It makes sense, it all comes down to workflow in another sense I suppose. I would typically make 1 principal detail and specify that the dimension may vary.
Param-O is for 3D objects only, as far as I know, so fragments in GDL is probably the right way to go.
Rule of thumb I use is: how often will I re-use the part (how often does it repeat in the project or am I likely to need it again). Offset the time 'wasted' on dealing with dumb 2D lines v.s. the time spent to make it into something parametric.
For 2D parts I generally just keep them as dumb lines as it does feel tedious to make it work.
Edit: also consider a simple hotlinked module sometimes for details. You can have a little 'workshop' assembly off to the side and make some easy stretches and save a few modules to populate your details with.
Thanks Erwin, I am much the same as you, but some 2D objects do seem to come up quite often, and I am conscious of all the repeated effort within projects and between projects in adapting them each time for all the geometric contexts in which they need to be adapted.
But to be honest as a freelancer I am not paid more to be more efficient than others (in fact I am paid less if too efficient), so this would be motivated more by personal irritation than anything - my employers would be the main beneficiaries!
If there was a larger ArchiCAD user base, I could possibly sell the manufacturer on getting me to develop such objects I guess.
I made a stretchy complex profile to address stripdrains in sections & 3D to address the same sorts of local variation situations - much easier, but then it only needs to look ok at 1:50 scale.
Another approach is simply to group a cleaned up copy of the required 2D elements in an imported product drawings worksheet, then copy paste from here to each detail, locally stretching etc as needed. If you were organised enough you could use a separate file and slowly build up a library of cleaned up imported 2D drawings, arranged by manufacturer, category etc, and use it as a cut and paste source across all projects.
A downside with anything like this I guess is that it could become too easy to never to go back and repeat the import process direct from manufacturer's website once you have your own already cleaned up version already on file and easily searchable. The problem with this is that products are changed every so often, often with no overt warning, and you could end up populating all your details with no longer produced product versions.