Where I get the idxSkin?

Home Forums Problems and solutions in GDL Lists and schedules Where I get the idxSkin?

This topic contains 6 replies, has 3 voices, and was last updated by  Gergely Fehér 1 year, 1 month ago.

  • Author
    Posts
  • #1685

    carlos lopez
    Participant

    I am creating an property object to a wall of complex profile, for that I make a Request of skins,

    REQUEST (“COMPONENT_VOLUME” idxSkin, skinVolume)
    I have a question where I get the idxSkin
    building material?
    Priority?
    Fillings of complex profile?
    Hopefully someone can help me, thanks.

  • #1695

    Gergely Fehér
    Keymaster

    idxSkin is the index of the skin to which you would like to get the volume. Unfortunately, this index is a bit tricky, it starts from 0 and must be smaller then WALL_SKINS_NUMBER. You can use the following code to get all skins volume and area from a composite wall:

    for i = 1 to WALL_SKINS_NUMBER
    	success = REQUEST ("COMPONENT_VOLUME", i-1, skinVolume)
    	component "volume " + WALL_SKINS_BMAT_NAMES[1], skinVolume, "m3"
    	success = REQUEST ("COMPONENT_PROJECTED_AREA", i-1, skinArea)
    	component "area " + WALL_SKINS_BMAT_NAMES[1], skinArea, "m2"
    next i

    I hope it helps.

    Gergely Fehér
    Team Leader, Library Team
    GRAPHISOFT SE

    • #2360

      Hello Gergely Fehér,
      Many thanks for code.
      However will you tell me the formula to find number of skins of a beam/ or a column having complex profile/s.
      Thanks in advance.
      Naraindrra Surryavanshi

      Thanks in advance

      • #2365

        Gergely Fehér
        Keymaster

        Hi,

        Getting the number of skins can be done with a do – while code block, as there is no dedicated global for it in these 2 element types. Unfortunately there is no global for the used building materials like WALL_SKINS_BMAT_NAMES.

        nSkins = 0
        do
            success = REQUEST ("COMPONENT_VOLUME", nSkins, skinVolume)
            if success then nSkins = nSkins + 1
        while success

        Gergely Fehér
        Team Leader, Library Team
        GRAPHISOFT SE

  • #1697

    carlos lopez
    Participant

    I finally found as the skins are indexed in the complex profile, the idxSkin index number of each component corresponds inversely to the drawing sequence of fillings.
    The system assigns the last fill the number 0.
    I LEAVE AN IMAGE TO SEE AS interprets the code GDL.

    THANKS Gergely Fehér I SERVED ME YOUR EXAMPLE, TO TEST

  • #2652

    Hello Gergely Fehér,
    I am using your code for listing components of complex profiled wall, But not all components are returned by the program. In additions some quantities are wrong.Unable to understand. I cannot attach the PLA file for you due to restriction on size of attachments here. I tried to use the code over “Brick wall” which lies in the default profile of Ver 19.(Enclosing image and list output for your reference.)
    Repeating the code for you

    for i = 1 to WALL_SKINS_NUMBER
    	success=req("WALL_SKINS_BMAT_NAMES[1]")
    	success = REQUEST ("COMPONENT_VOLUME", i-1, skinVolume)
    	component "volume"+WALL_SKINS_BMAT_NAMES[1], skinVolume, "m3"
    	success = REQUEST ("COMPONENT_PROJECTED_AREA", i-1, skinArea)
    	component "area "+WALL_SKINS_BMAT_NAMES[1],skinArea, "m2"
    next i

    As this happens for all the complex profiles it becomes large issue.
    Thanks in advance.
    NS

  • #2660

    Gergely Fehér
    Keymaster

    The line success=req(“WALL_SKINS_BMAT_NAMES[1]”) is absolutely useless, first try to delete it. If it does not help, then send me a sample file in mail please.

    Gergely Fehér
    Team Leader, Library Team
    GRAPHISOFT SE

You must be logged in to reply to this topic.