Access to Minimum Space with GDL

Home Forums General discussions Access to Minimum Space with GDL

This topic contains 6 replies, has 4 voices, and was last updated by  Chris Gilmer 4 months, 3 weeks ago.

  • Author
    Posts
  • #4625

    Chris Gilmer
    Participant

    ArchiCAD 22 | WIN 10

    With a 2D script, I want to build menu selections in to my doors for Clear Floor Space required, both on the push side and the pull side. When I open an instance of my door object and look at Parameters, I can see variables for the 6 Minimum Space settings and am able to edit the values of each [see attached]. However, making an edit here does not adjust the graphics of the Minimum Space of the instance of the object that is opened.

    Where can I find and adjust these settings per instance?
    What is being adjusted with the variables I see as described above?

    First post to the forums – whoop!
    Thanks – chris

    - chris
    JHP Architecture / Urban Design
    Dallas, TX

  • #4627

    Gergely Fehér
    Keymaster

    Hi Chris,

    If you open the object editor and change the parameter values, that only affects the default values of the object (door, window…). To edit the values of a placed instance, open the settings dialog, go to the graphical ui part (Hinged door settings in most of our doors), and search for the minimal space tabpage (usually second from bottom) – there you’ll find all relevant parameters for minimal space.

    Attachments:

    Gergely Fehér
    Team Leader, Library Team
    GRAPHISOFT SE

    • #4632

      Chris Gilmer
      Participant

      Hello Gergely,

      Thanks for the response. I have changed the minimum space settings of a placed instance of a door using the methods you describe above. However, what you describe is a manual, mouse clicking effort. I was looking for what and where I could change values for minimum space for a placed instance by menu selection and in an automated way.

      The idea is to present a menu with each door for the approach choices [“Front”, “Hinge”, “Latch”, “Latch w/ closer”]. Each of these approach choices has different settings for the three minimum space parameters of each side of the door. The user makes a single selection of the appropriate approach and all three parameters for that side of the door [Depth, Side Width 1, Side Width 2] are adjusted.

      It sounds like I have found these variables in the object editor. I am looking for the same variable in the settings for each door.

      I am just starting GDL scripting and cannot Google the right thing to find access for what parameters to change and how to access them. Or is this even possible?

      – chris

      - chris
      JHP Architecture / Urban Design
      Dallas, TX

      • #4633

        Barry Kelly
        Participant

        The only way I know of to control this globally for all doors would be to use Model View Options.
        I see with the default Graphisoft library there is an MVO setting to show/hide the minimal space, but not to control the sizes.

        Or select all doors at once and make the changes you need (so long as the doors have been scripted with those options of course and they are not hidden).

        Barry.

        Versions 6.5 to 22
        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

  • #4635

    Chris Gilmer
    Participant

    Thanks for the reply Barry. I have seen where I can toggle visibility of Minimal Space with MVOs. And you are correct that it is a global setting – all or nothing.

    I am new to ArchiCAD and GDL, but have decades of experience customizing AutoCAD and Excel with ObjectARX, LiSP, and VBA. Maybe my bigger GDL question should be ==> Are there GDL methods to access any of the native properties of individual objects? Are there GDL methods to set or modify any of the native properties of individual objects?

    I know the object model is exposed to varying degrees in many modern day softwares to include the specific objects that are unique to the software. I can programmatically change the layer of a line in AutoCAD. I can programmatically change the width of a column in Excel. I guess I am naturally expecting to access and adjust variables like msOpeningDepth, msOpeningSideWidth1, msOpeningSideWidth2, msOppositeDepth, msOppositeSideWidth1, and msOppositeSideWidth2 in an instance of a door in ArchiCAD.

    And is GDL the way to do this? Should I be looking more at C++ or the Python extension?

    Any insight to the best approach or any possible approach to doing this is appreciated.

    – chris

    - chris
    JHP Architecture / Urban Design
    Dallas, TX

  • #4637

    Péter Baksa
    Participant

    HI Chris,

    GDL objects only know about themselves (there are some global variables and REQUESTS to get info about parent objects).
    You can manipulate the parameter values in the parameter script using the PARAMETERS command. But be aware that the parameter script is only run after user input – changing a setting, placing a new instance.

    The library MVO approach is good if you write your own set of objects that read the settings written by you. You can’t add new MVO settings to control the ArchiCAD Library.

    If you need to change the behaviour of the shipped ArchiCAD library programmatically, you will need to write an Add-on in C++ using the ARCHICAD API.

    Péter Baksa
    Software Engineer, Library Team
    GRAPHISOFT SE

  • #4643

    Chris Gilmer
    Participant

    Hey Péter!

    This is the answer I was looking for. I am so new to the ArchiCAD automation that I am still figuring out WHERE to do stuff. And fighting decades of AutoCAD automation experience. I don’t expect to struggle with the actual syntax of making stuff happen, if only I know where to put it.

    I also just now noticed there is a dining table object by Graphisoft that shipped with 22. It will adjust minimal space when the chairs are pushed in to or pulled away from the table. I am going to dig in to that and study how that is accomplished in the 2D script. Or elsewhere…

    Thanks so much for giving me a better understanding of the step I needed before step 1.

    The more you know…
    – chris

    - chris
    JHP Architecture / Urban Design
    Dallas, TX

You must be logged in to reply to this topic.