2010-07-20 10:20 AM - last edited on 2023-05-24 11:53 AM by Rubia Torres
2010-07-20 10:56 AM
2010-07-20 05:48 PM
n = APPLICATION_QUERY ("document_feature", "view_direction", type)For more details look into Appendix B of Basic Library Documentation.
2010-07-21 05:32 AM
2010-07-21 07:39 AM
ztaskai wrote:That never stopped you guys before.
That was decided on purpose. There is no way to add a new GLOB_CONTEXT value since there can be old GDL scripts out there which list all possible values (they know of) in IF statements. We'd ruin these scripts by adding a new value and this would break the ever-compatibility of GDL. So we had to find the best possible match in the existing options.
2010-07-21 10:58 AM
owen wrote:You are right with both points.
another topic but perhaps if we had a better object coding environment it (updating many objects) would not be such a chore (i'm guessing you guys at GS don't create and manage all your objects via the AC object editing interface?)
2010-07-21 01:20 PM
owen wrote:
... although it does make you wonder at what point backward compatibility becomes a hindrance to progress. I think needing to upgrade a family of objects every few versions to take account of new and/or retired/adjusted commands is not an unreasonable expectation.
Barry wrote:I'm glad to hear actual user feedback on this matter. And I'm glad that you, library developers, don't feel bad about necessary updates. But I'm more concerned about end users. They don't understand GDL error messages and they might not even know where some objects came from. They just conclude that their libraries (they probably payed for) stop working in the new ArchiCAD version (they certainly payed for). ArchiCAD would have to provide a very sophisticated library migration process to even consider killing or changing old GDL features. At least these are my fears about compatibility...
I'm not saying this is a bad thing but like Owen says backwards compatibility can be a hindrance.
So long as we are told about the changes we can fix our scripts to suit.
Barry wrote:That's a bit different issue for us than the rest of the compatibility issues. On the other side I can see that it's pretty much the same for you. The thing is that in multithreaded 3D (and 2D) generation there is no efficient way for synchronizing the generation of different objects. This reason reaches far beyond GDL. The lesson of the story for me is that Graphisoft failed to communicate the supported usage of user globals (which is passing values between macro callers and called macros) and there was no way for you to know about the whole issue.ztaskai wrote:That never stopped you guys before. :shock:
... We'd ruin these scripts by adding a new value and this would break the ever-compatibility of GDL.
Back in version 12 GLOB_USER became useless in 3D scripts - worked fine up till then.
Barry wrote:Neither of these changes affects any scripts incompatibly. Increasing the size of an array won't break scripts that refer to the lower indices. It's a good example though. When we optimized WALL_SKINS_PARAMS in AC14 so that it occupies the necessary size only, we payed extra attention to the fact that 8 rows always have to be filled as legacy scripts may refer to row 6 even when there are only 2 skins (assuming it's values to be 0). All in all, we
And in nearly every version the WALL_SKINS_PARAMS has changed from 6 values in version 7 to 12 in version 8 then 13 in version 10, 14 in 11, 15 in 12 and now 16 in 13 and 14.
And the WALL_SKINS_NUMBER jumped from 8 to 127 in version 11.