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

Force show the 2D symbol on schedule

Here is my problem:

I have created various custom objects (steel plates) in my project.
These steel plates get placed in various positions (vertical, horizontal, tilted) on the model.
I have created a schedule that lists all these plates.
The problem is that I need those steel plates to always appear on their front view, in order to annotate them with dimensions for the holes etc.
But when a plate is positioned tilted or vertical, then it shows sideways on the schedule, thus making it impossible to put dimensions.

It seems that if the object has a 2D script, then it shows on the schedule as it is placed on the model. I dont want this. I want the object to always show its 2D symbol as it is stored in it, on the schedule. Is there a way to force this?


Please help!
Mac OSX 13.6.4 | AC 26 INT 3001 FULL
12 REPLIES 12
Barry Kelly
Moderator
Does it actually have a 2D script or is it a PROJECT2 of what is in the 3D script.

Either way all I can think of is that you have to tell it in the script (2D or 3D depending on how it was written) that when viewed in a schedule it must not perform any rotations (ROT).
You will need to isolate these by using GLOB_CONTEXT.
for example ...

if GLOB_CONTEXT <> 6 then
ROTx angle
endif

Or you can reset all the rotations back to 0 (zero).
for example ...

if GLOB_CONTEXT = 6 then
angle = 0
endif

Where 'angle' is your rotation angle parameter - there may be more than one for rotating in x, y or z axis.

This way when viewed in the schedule it will ignore any of the rotation commands but should still appear exactly how you want in your model.

Barry.
One of the forum moderators.
Versions 6.5 to 27
Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Thanks Barry!

You have been of great help!

Mac OSX 13.6.4 | AC 26 INT 3001 FULL
Laszlo Nagy
Community Admin
Community Admin
This is a really smart tip in my opinion.
Loving Archicad since 1995 - Find Archicad Tips at x.com/laszlonagy
AMD Ryzen9 5900X CPU, 64 GB RAM 3600 MHz, Nvidia GTX 1060 6GB, 500 GB NVMe SSD
2x28" (2560x1440), Windows 10 PRO ENG, Ac20-Ac27
it is indeed.

My only problem is that I was expecting to see the 2D symbol appear on schedule as I have copy-pasted it on the object.

It's OK. The only thing is that Archicad, every time I refresh the list mirrors some of the objects, for some reason, making the annotations appear outside of the object...

Why is this happening?

Mac OSX 13.6.4 | AC 26 INT 3001 FULL
Maybe You have some of Your object placed in the mirror state?

So I would also add
in the same part of your script
if SYMB_MIRRORED then MUL -1,1,1

of course add proper number od DEL's

Best Regards,
Piotr
rocorona
Booster
Piotr wrote:
in the same part of your script
if SYMB_MIRRORED then MUL -1,1,1
in 2D script use
MUL2 -1,1
_________________

--Roberto Corona--
www.archiradar.com
AC18 - ITA full on Win10
_________________
_________________
Piotr & Roberto,

thanks for the advice.

The problem is that by adding this, the object gets mirrored on the floor plan also, thus resulting in the wrong place.

So, I guess I'm back to my original question: Is it possible to have a schedule that shows the 2D symbol as it has been copy-pasted inside the object, and the 2D plan view?

Right now, what I have, when the object is placed vertically is the "3D front View" that shows the elevation of the objects (and gets mirrored) and the "2D symbol" that shows the floor plan view of the object as it is placed on the project.
If the object is placed horizontally, the "3D front View" shows the floor plan view of the object, and the "2D symbol" shows the elevation of the object
Mac OSX 13.6.4 | AC 26 INT 3001 FULL
Did You use the mul command inside:
if GLOB_CONTEXT = 6 then

XXX

endif

You may use
if GLOB_CONTEXT = 6 then 

fragment2 1  ! 1-16 possible - in this case put the 2d on layer 1

else

-here put the rest of the 2d script of the object

endif

Best Regards,
Piotr
Anonymous
Not applicable
Hello,

I am having the same question. I am using GS -AC connection and I built some simple triangular panels as gdl objects. They have different positions across the facade but I would like to have them with the top view projection in the schedules to annotate and get real dimensions.

I am a beginner in GDL, could someone please tell me if the above code is all that i need to add in the 2d script window? I understand there was a problem with the MUL command. Is it still necessary? What means the Layer in the context of the Fragment2 1 command?

Thanks!