GUI-Based Geometry Generator for Ospgrillage
GUI-Based Geometry Generator for Ospgrillage
Description
The GUI-Based Geometry Generator for Ospgrillage streamlines the process of creating bridge geometry for use in Ospgrillage. With an intuitive and user-friendly interface, users can quickly generate complex bridge models with just a few clicks.
Key Features:
1. Geometry Control
- Straight Bridge: Easily generate a simple straight bridge geometry.
- Skew and Partial Skew: Create skewed or partially skewed bridge geometries for more advanced designs.
- Curved Mesh: Generate bridges with curved geometries for non-linear spans.
- Multi-Span Mesh: Handle multiple spans within the bridge design effortlessly.
2. Preset and Custom Material Properties
- Choose from Ospgrillage predefined material properties or customize your own, ensuring that the model meets your specific design requirements.
3. Section Properties Control
- Effortlessly modify the section properties of various bridge members, including beams and columns, for precise design adjustments.
4. Adjustable Spacing and General Properties
- Fine-tune the spacing between members and other essential properties to match the intended design specifications.
5. Output Generation
- Obtain an OpenSees command file for your model.
- Generate the Ospgrillage code to integrate with the system.
- Create the bridge deck mesh, ready for analysis in Ospgrillage.
Usage
- To get started, click "Apply changes", then "Create Geometry".
- Once your geometry is created, you can adjust the properties as needed.
- Use the GUI to generate the necessary files:
- OpenSees command file
- Ospgrillage code
- Bridge deck mesh for analysis
Hi Dr. Ngan, Just checking in to see if there were any issues reviewing the PR. The GUI tool depends on PyQt5 and a few other Python modules, so I wanted to mention that in case it caused any trouble running it. Please let me know if you encounter any issues — I’d be happy to assist or make any adjustments.
Best regards, Prathamesh
@Prathamesh001 we recently made some commits e.g., here #126. has this change or affect any of the components of this script?
@ccaprani would you be able to review this as well?
Thank you for pointing out the new commits, @justinngan92. I have verified the script on the updated ospgrillage and found that it runs without any issues.
Thanks @Prathamesh001. Would you be able to modify the location of the GUI_tool.py -> into src/ospgrillage ?
Done, @justinngan92 — I've moved GUI_tool.py to src/ospgrillage
Hi Dr. Ngan @justinngan92 , Just checking in to see if there's any update on the GUI pull request. Totally understand if things are busy — happy to wait or make further refinements if needed.
Best regards, Prathamesh
Hi Dr. Ngan @justinngan92 and Prof. Caprani @ccaprani , I am checking in to see if there’s any update on the GUI PR. Kindly let me know if I can assist in any way.
Best regards, Prathamesh
Hi @Prathamesh001 apologies for the slow response. I'll look at it in next few days. It's a big thing! Thanks again for your efforts in contributing!
Thank you Prof. Caprani!
Haven't forgotten @Prathamesh001 - soon!
Hi Dr. Ngan @justinngan92 and Prof. Caprani @ccaprani , gentle follow-up on the GUI PR.
Hi @Prathamesh001. Again my apologies for the unreasonable delay. I've had a good look now and it's a terrific addition - thank you. I have a few comments before merging in though. I'll be happy to help you if you've any problems getting these aspects included:
- A section explaining the GUI needs to be added to the documentation. Consider the best way to introduce and explain it (the text in the PR above is a good starting point)
- There's no skew angle for the longitudinal beams, if I'm not mistaken - so the 'oblique' mesh doesn't do anything.
- Is it possible to add the curved bridge? No worries if not easy - we can add it later.
-
pyqtwill need to be added as a package requirement. But it should be optional - only for users who want to install the gui;[project.optional-dependencies]in thepyproject.tomlfile. - The file should be renamed - lower case, and maybe a nice short name like
ospguior similar. - Your visualizer could be added so it's added as a command to the command line, e.g. here, so that a user just executes
opsguito run it (for example).
Thank you very much, Prof. Caprani, for the thoughtful feedback and kind words! I’m really glad to hear the GUI can be a useful addition.
I’ll start working on the suggested changes and will reach out if I run into any issues.
Dear Prof. Caprani @ccaprani ,
Thank you again for your valuable feedback! I have addressed your comments, and here’s a summary of the updates:
-
Added the documentation .rst files for your review.
-
Regarding the skew angle for longitudinal beams: for a straight bridge, if the skew angle is provided in the Basic Geometry tab, using the Ortho mesh type vs. the Oblique mesh type generates two different geometries. Please let me know if this aligns with your point, or if I misunderstood your suggestion.
-
The curved bridge mesh generation feature is already available in Geometry tab → Mesh Settings. Could you clarify if there’s another aspect you were referring to?
-
Added PyQt5 as an optional dependency.
-
Renamed the GUI to ospgui :)
-
Added CLI support; ospgui now works directly from the command line.
I look forward to your thoughts and further guidance.
Hi Prof. @ccaprani , just following up to check if you’ve had a chance to review the latest updates.
Hi Prof. @ccaprani , I hope you’re doing well. I just wanted to check if the updates to the GUI pull request have been received and are currently under review.
Looking forward to your response.