OSArch Community

Profile Section Libraries for Structural Engineering and beyond!

  1. B

    @Jesusbill said:

    @bernd ... Also, I see that the "IPN" file is not formatted as the other files, it has quotes for the keys, and the columns are not aligned. How did you do this alignment?

    This was done by Johannes in 2014. I just copied his code in a separate file. See https://github.com/boltsparts/BOLTS/commit/8af8b9524ef4cc18c9a1f31293f2c1bc02f78aa9#diff-09db76d5a6e5977f808ce9caac40527cba3cdf461aafa1af9a439477ac822477R543-R565

    I did not do reformat the geometric properties files. I did reformat just the blt files.

  2. J

    This was done by Johannes in 2014. I just copied his code in a separate file.

    I did not do reformat the geometric properties files. I did reformat just the blt files.

    Ok sounds good

  3. J

    @bernd

    You try to read the blt files with yaml an not with BOLTS API ;-)

    So should I use the code that you wrote here?

    Cause I am getting an error when running the python bolts.py export pythonpackage command

    
    Traceback (most recent call last):
    
      File "bolts.py", line 362, in <module>
    
        args.func(args)
    
      File "bolts.py", line 44, in export
    
        dbs["pythonpackage"] = PythonPackageData(repo)
    
      File "/home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS/bolttools/pythonpackage.py", line 33, in __init__
    
        self, repo, "pythonpackage"
    
      File "/home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS/bolttools/freecad.py", line 78, in __init__
    
        raise e
    
    bolttools.errors.MalformedRepositoryError: pythonpackage repo directory does not exist.  Repository path: /home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS
    

    Sorry if I am overwhelming you with questions but I try to keep my enthusiasm high for this project

  4. B
  5. B

    @Jesusbill said:

    Cause I am getting an error when running the python bolts.py export pythonpackage command

    Traceback (most recent call last):

    File "bolts.py", line 362, in <module>

    args.func(args)

    File "bolts.py", line 44, in export

    dbs["pythonpackage"] = PythonPackageData(repo)

    File "/home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS/bolttools/pythonpackage.py", line 33, in init

    self, repo, "pythonpackage"

    File "/home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS/bolttools/freecad.py", line 78, in init

    raise e

    bolttools.errors.MalformedRepositoryError: pythonpackage repo directory does not exist. Repository path: /home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS

    • seams you are on Linux

    some suggestions ...

    • I assume python starts a Python3 shell for you! For me it is still python3.

    • I assume the directory "/home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS" even if BOLTS says it does not. Would you double check?

  6. B

    @Jesusbill said:

    Sorry if I am overwhelming you with questions but I try to keep my enthusiasm high for this project

    great, thus ask as much questions as you have :-)

  7. M

    @bernd said:

    splitted and normalized data file. As an example I did it for L-profiles, Z-profiles an I-profiles.

    see data directory https://github.com/boltsparts/BOLTS/tree/master/data

    I had a go at the YAML file for IPN section data...

    This is what you are looking for?

    https://drive.google.com/file/d/1Wha8OFYaPUlUp93tCn8CKjT_eAUwOOGc/view?usp=sharing

    I also had a quick look at the INP data here: https://github.com/boltsparts/BOLTS/blob/master/data/profile_i/ibeam_inp.yaml

  8. B
  9. J

    @bernd

    I assume python starts a Python3 shell for you! For me it is still python3.

    I use conda environments so yes python point to python3 in this case

    I assume the directory "/home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS" even if BOLTS says it does not. Would you double check?

    Yes this is the directory of bolts

    One part of this command is working as it does check the validity of the data; I changed for example manually the yaml file for HEA and I was getting an error for missing columns.

    Tracing back the error, it is raised here. The problem is that self.backend_root which points to a "pythonpackage" directory in the main folder does not exist.

    I went on creating this folder and the command is now run but nothing is written in there, instead a new folder output/pythonpackage/boltspy is created which seems to contain a copy of all data and of of the folder bolttools but then again running the rest of the code you suggest does not allow me to: import boltspy as bolts

    
    (ifc) jesusbill@pop-os:~/Dev-Projects/github.com/Jesusbill/BOLTS$ python
    
    Python 3.7.10 (default, Feb 26 2021, 18:47:35) 
    
    [GCC 7.3.0] :: Anaconda, Inc. on linux
    
    Type "help", "copyright", "credits" or "license" for more information.
    
    >>> bolts_code_path = "/home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS/"
    
    >>> import sys
    
    >>> from os.path import join
    
    >>> sys.path.append(join(bolts_code_path, "BOLTS", "output", "pythonpackage"))
    
    >>> import boltspy as bolts
    
    Traceback (most recent call last):
    
      File "<stdin>", line 1, in <module>
    
    ModuleNotFoundError: No module named 'boltspy'
    

    I will try to look into it later today, I guess should be a trivial issue. But what is the pythonpackage folder needed for in the main folder, I guess this is not really needed. I see that it also looks for the freecad folder as well. Hmm, a bit mysterious how things are done

  10. B

    if I delete the empty directory pythonpackage in the main source directory of BOLTS I can reproduce your problem. The pythonpackage is based on freecad backend. In the freecad directory are the modules to create geometry in FreeCAD. Since we do not create geometry with the pythonpackage this directory is empty. Since I had a errormessage on creation of distribution pythonpacke I just created a empty directory pythonpackage and commited this one. but somehow this is not on github ... https://github.com/boltsparts/BOLTS/tree/5eaf1b38b00403d380b6388969ef95f7aa4643b0

    If you create this empty directory pythonpackage it should work. At least it does for me. I will have a look for a better solution soon.

  11. J

    Ok so I should have defined the bolts_code_path one level less, now I can import boltspy as bolts but I still get the same error I got initially

    
    Traceback (most recent call last):
    
      File "test.py", line 5, in <module>
    
        import boltspy as bolts
    
      File "/home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS/output/pythonpackage/boltspy/__init__.py", line 28, in <module>
    
        pythonpackage_db = PythonPackageData(repo)
    
      File "/home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS/output/pythonpackage/boltspy/bolttools/pythonpackage.py", line 33, in __init__
    
        self, repo, "pythonpackage"
    
      File "/home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS/output/pythonpackage/boltspy/bolttools/freecad.py", line 78, in __init__
    
        raise e
    
    boltspy.bolttools.errors.MalformedRepositoryError: pythonpackage repo directory does not exist.  Repository path: /home/jesusbill/Dev-Projects/github.com/Jesusbill/BOLTS/output/pythonpackage/boltspy
    

    I am gonna leave it for now but I think we have to define a simple way of accessing and writing the data

  12. B

    added the empty directory to BOLTS github and placed some file inside to be sure it will be there. It is not a fast one to get rid of the empty directory ...

  13. J

    @jchkoch @bernd I am attaching an enriched yaml file for HEA based on the data I had. I have also attached a metadata.txt that shows units and a related name for each of the column added. These related names are mostly taken from the Ifc Profile Mechanical Property Set shown at the end of the page. I say almost because there is not a one-to-one association, IFC pset has Maximum and Minimum section modulus (do we really need that?) and a PlasticShapeFactor instead of plastic section modulus.

    From the list I have I would also add the centre of gravity in two directions and possibly the mass per length.

    And I am not sure about the inclusion of the shear areas, Avy, Avz. I think they are good to have but maybe they are not given for all types of profiles or they depend also on formulae that are code-dependent.

    What do you think on these thoughts?

    @jchkoch I checked also with the table you calculated for HEA, there are some small differences in the final numbers, which is expected I guess, and I guess I would prefer we take these values from existing tables and use it in cases we do not have data, or eventually as a tool for on-the-fly calculations of user-defined profiles. One question, are these properties you provide all that is given by section properties tool? Or there are other properties you did not include? Plastic section moduli are missing and torsional constant, for example

  14. B

    would you report if that fixed it for you if you clone the latest repo?

  15. B

    since you included Wpl and Wel you implicit added materials to BOLTS, yeah we did it ;-)

    We need at least to make some notes which tensile yield strenght was used to calculate the plastic numbers. Later we even could make them material dependent. In European countries normaly values are given for S235 and S355. Furthermore if we have two or even three (how many we should have) materials to have the plastic numbers for, how do we make this in the table?

    Or should we start small and only add the non material dependend numbers ATM ?

  16. J

    @bernd said:

    would you report if that fixed it for you if you clone the latest repo?

    no @bernd it does not solve the problem. I had already created the empty folder as I wrote in that comment which allows to get through the "export" command. But then when running the rest of the code as I write in this comment I still get the same error when trying to import boltspy as bolt

    EDIT: I see now the solution is to create another "pythonpackage" folder in the output/pythonpackage/boltspy folder.

  17. J

    @bernd

    since you included Wpl and Wel you implicit added materials to BOLTS, yeah we did it ;-)

    In my book Wpl and Wel are material independent properties, no?? You need to multiply by the yield stress Fy to obtain My ad Mpl.

  18. B

    @Jesusbill said:

    @bernd

    since you included Wpl and Wel you implicit added materials to BOLTS, yeah we did it ;-)

    In my book Wpl and Wel are material independent properties, no?? You need to multiply by the yield stress Fy to obtain My ad Mpl.

    Damn your are right ... To much BIM, I should not disregard the structural analysises in favour of BIM ...

  19. B

    @Jesusbill said:

    @bernd said:

    would you report if that fixed it for you if you clone the latest repo?

    no @bernd it does not solve the problem. I had already created the empty folder as I wrote in that comment which allows to get through the "export" command. But then when running the rest of the code as I write in this comment I still get the same error when trying to import boltspy as bolt

    EDIT: I see now the solution is to create another "pythonpackage" folder in the output/pythonpackage/boltspy folder.

    damn to much changes at once last days ... you are right here too. I added a regression here https://github.com/boltsparts/BOLTS/commit/3475b1d5db2590 which I just fixed here https://github.com/boltsparts/BOLTS/commit/c87dcc04efc193

    would you give it a try once again ...

  20. J

    @bernd

    would you give it a try once again ...

    yes now it works

  21. J

    sorry I have been gone for a bit... the weather was too nice on the weekend and work has been busy......

    @jchkoch @bernd I am attaching an enriched yaml file for HEA based on the data I had. I have also attached a metadata.txt that shows units and a related name for each of the column added. These related names are mostly taken from the Ifc Profile Mechanical Property Set shown at the end of the page. I say almost because there is not a one-to-one association, IFC pset has Maximum and Minimum section modulus (do we really need that?) and a PlasticShapeFactor instead of plastic section modulus.

    @Jesusbill I think the max. and min. section modulus could be useful as generally depending on the orientation of the member which the profile helps describe the "max" or "min" section modulus is needed for various structural calculations.

    From the list I have I would also add the centre of gravity in two directions and possibly the mass per length.

    here I would say the centre of gravity is useful but a mass per length could be left to other "addons" within the IFC ecosystem (i.e. LCA) where us structural guys when needed could use those other tools.

    And I am not sure about the inclusion of the shear areas, Avy, Avz. I think they are good to have but maybe they are not given for all types of profiles or they depend also on formulae that are code-dependent.

    What do you think on these thoughts?

    shear areas I agree!

    @jchkoch I checked also with the table you calculated for HEA, there are some small differences in the final numbers, which is expected I guess, and I guess I would prefer we take these values from existing tables and use it in cases we do not have data, or eventually as a tool for on-the-fly calculations of user-defined profiles. One question, are these properties you provide all that is given by section properties tool? Or there are other properties you did not include? Plastic section moduli are missing and torsional constant, for example

    yes, in the data I calculated I only computed the elastic "geometric-only" properties and not any plastic section moduli as I did not want to get into specifying materials yet...

  22. B

    https://pypi.org/project/boltspy/

    it means

    pip install boltspy

    should do the trick than

    
    import boltspy as bolts
    
    cl = bolts.repo.classes["ibeam_hea"]
    
    cl.parameters.tables[0].columns
    
    for k, v in cl.parameters.tables[0].data.items():
    
        print("{}: {}".format(k, v))
    
    

    should print the HEA data ...

  23. C

    Slightly related, are there any tools in Blender which can create a Beam plan/system just like in Revit? With span direction and boundary?

  24. T
  25. B
  1. Page 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7

Login or Register to reply.