Where I get the idxSkin?

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

Viewing 4 reply threads
  • 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[i][1], skinVolume, "m3"
      	success = REQUEST ("COMPONENT_PROJECTED_AREA", i-1, skinArea)
      	component "area " + WALL_SKINS_BMAT_NAMES[i][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[i][1]")
      	success = REQUEST ("COMPONENT_VOLUME", i-1, skinVolume)
      	component "volume"+WALL_SKINS_BMAT_NAMES[i][1], skinVolume, "m3"
      	success = REQUEST ("COMPONENT_PROJECTED_AREA", i-1, skinArea)
      	component "area "+WALL_SKINS_BMAT_NAMES[i][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

Viewing 4 reply threads
  • The forum ‘Lists and schedules’ is closed to new topics and replies.