Migrating to AC20

This topic contains 10 replies, has 3 voices, and was last updated by  Laura Yanoviak 1 year, 2 months ago.

  • Author
    Posts
  • #2609

    Laura Yanoviak
    Participant

    Not sure where to post this question, but the problem is affecting graphical editing:

    I understand that there are now restrictions of Global Variables and Requests used in the Parameter Script (and Master Scripts used as a Parameter Script). The attached library part works fine in AC19, but the editable hotspots are all wonky in AC20.

    Is this due to this new restriction, or some other migration issue? I just want a better understanding before starting to poke around all of my custom objects — thanks, LJY.

    MacBook Pro 2.7 GHz Intel Core i7, 16 GB of RAM
    AC17 US (5019) AC18 US (5100) AC19 US (3003) AC20 US (3012) on Mac OS X 10.10.3

  • #2610

    Dominika Bobály
    Keymaster

    Laura,
    please upload the file in .zip (.gsm is not allowed in this forum engine), or send it to the email address of GDLCenter. Thanks.

    Dominika Bobály
    Library Developer, Library Team
    GRAPHISOFT SE

  • #2611

    Laura Yanoviak
    Participant

    Yep — just noticed that — hereyago…

    MacBook Pro 2.7 GHz Intel Core i7, 16 GB of RAM
    AC17 US (5019) AC18 US (5100) AC19 US (3003) AC20 US (3012) on Mac OS X 10.10.3

  • #2613

    Barry Kelly
    Participant

    Laura,
    Do you mean that the arrow head moves when you stretch the text hotspot?
    If so that is happening to me using your object in 18, 19 and 20 – they are all working the same.
    I don’t see any problems with GLOB or REQUEST in the master/parameter scripts.
    Those you have used are allowed (although judging from my other posts I am no expert in this field!).

    It seems to me the problem is with the 2D hotspots in that the one for the text position is altering the value for the arrow head.
    I haven’t got time to dig into it in detail though just at the moment but hope this helps.

    Barry.

    Versions 6.5 to 20
    Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
    Dell Precision M6800 - i7 4700MQ @ 2.40GHz, 16GB RAM, AMD FirePro M6100 (2GB), Windows 7 64bit

    • #2614

      Dominika Bobály
      Keymaster

      A_ is used in the parameter script, which is GLOB_SCALE in old form. That may cause problems: its default value is set to 100 in paramscript, so your object works fine in 1:100, but starts to behave strangely in any other scale.
      The warning is not “visible”, because you use the global in a valid condition, and this specific warning only works while interpreting the script (this was necessary because master script can use restricted globals in script-type dependent conditional expressions).

      Dominika Bobály
      Library Developer, Library Team
      GRAPHISOFT SE

  • #2615

    Barry Kelly
    Participant

    A_ is used in the parameter script, which is GLOB_SCALE in old form.

    Thanks for pointing this out – it is a good lesson.
    I now must remember to search for the old form of GLOBALS when fixing up my library parts.
    I might have missed this otherwise.

    Barry.

    Versions 6.5 to 20
    Dell XPS- i7-6700 @ 3.4Ghz, 16GB ram, GeForce GTX 960 (2GB), Windows 10
    Dell Precision M6800 - i7 4700MQ @ 2.40GHz, 16GB RAM, AMD FirePro M6100 (2GB), Windows 7 64bit

  • #2616

    Dominika Bobály
    Keymaster

    To have paper scale editable hotspots (which show mm in the tracker), you have to do the following:

    • add a real type parameter to use as meter in GDL script (“paperSize_M”)
    • add a real type parameter to use as millimeter for paper scale display (“paperSize_Mm”)
    • connect the two parameters in parameter script (with GLOB_MODPAR_NAME, using a *1000 multiplier or divider)
    • write an editable hotspot trio for the meter-substitute parameter in 2D, use the 1024 flag
    • the hotspot’s displayparam should be the millimeter-representative
    • for the actual drawing, use a variable in 2D, which you calculate from the parameter “paperSize_Mm” using GLOB_SCALE (paperToModel in our scripts)

    If you use the 1024 flag, the edited hotspot will be calculated by ARCHICAD to meters in paper space, according to GLOB_SCALE automatically, so you do not need to use GLOB_SCALE in parameter script to connect the model-size and paper-size parameter.
    Check out the Multileader Label object in the official library, it has this functionality implemented.
    The flag 1024 can be checked out here.

    Dominika Bobály
    Library Developer, Library Team
    GRAPHISOFT SE

  • #2622

    Laura Yanoviak
    Participant

    Attached is the updated object. I replaced the A_ with GLOB_SCALE (good-to-know — I didn’t realize this could have adverse affects) and hid the base hotspot at the starting point of the leader (not sure why I had had it editable — I made this object for AC12 and haven’t used it in years).

    My concern is: why does the “rubber band” follow the cursor in AC19 (on the left in the attached screenshot) but not in AC20 (on the right)?

    MacBook Pro 2.7 GHz Intel Core i7, 16 GB of RAM
    AC17 US (5019) AC18 US (5100) AC19 US (3003) AC20 US (3012) on Mac OS X 10.10.3

  • #2624

    Laura Yanoviak
    Participant

    I thought it was attached…

    MacBook Pro 2.7 GHz Intel Core i7, 16 GB of RAM
    AC17 US (5019) AC18 US (5100) AC19 US (3003) AC20 US (3012) on Mac OS X 10.10.3

    • #2626

      Dominika Bobály
      Keymaster

      Laura,
      the problem is not that you used the old form of GLOB_SCALE in the paramscript, but that you used it at all. It’s still there, causing the “rubber band” to fall off in any other scale but 1:100 (that is the dummy default of this global in paramscript: it’s not containing an up-to-date value any more in AC20).
      If I’m correct, you use the GLOB_SCALE to keep your object in paper size. You can do that without this global, see my post a bit further up (about editable hotspots for paper size). Sorry if I did not get your intention, but hopefully that will solve your problems with the object.

      Dominika Bobály
      Library Developer, Library Team
      GRAPHISOFT SE

  • #2627

    Laura Yanoviak
    Participant

    OK — thank you — I understand now. It’s not clear to me how the 1024 flag works, but I will look into it and let you know if I have any questions.

    This does affect quite a few of our custom Objects.

    MacBook Pro 2.7 GHz Intel Core i7, 16 GB of RAM
    AC17 US (5019) AC18 US (5100) AC19 US (3003) AC20 US (3012) on Mac OS X 10.10.3

You must be logged in to reply to this topic.