Skip to content

GUI-Based Geometry Generator for Ospgrillage#128

Open
Prathamesh001 wants to merge 9 commits intoMonashSmartStructures:mainfrom
Prathamesh001:gui-tool
Open

GUI-Based Geometry Generator for Ospgrillage#128
Prathamesh001 wants to merge 9 commits intoMonashSmartStructures:mainfrom
Prathamesh001:gui-tool

Conversation

@Prathamesh001
Copy link

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

  1. To get started, click "Apply changes", then "Create Geometry".
  2. Once your geometry is created, you can adjust the properties as needed.
  3. Use the GUI to generate the necessary files:
    • OpenSees command file
    • Ospgrillage code
    • Bridge deck mesh for analysis

@Prathamesh001
Copy link
Author

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

@justinngan92
Copy link
Collaborator

@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?

@Prathamesh001
Copy link
Author

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.

@justinngan92
Copy link
Collaborator

Thanks @Prathamesh001. Would you be able to modify the location of the GUI_tool.py -> into src/ospgrillage ?

@Prathamesh001
Copy link
Author

Done, @justinngan92 — I've moved GUI_tool.py to src/ospgrillage

@Prathamesh001
Copy link
Author

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

@Prathamesh001
Copy link
Author

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

@ccaprani
Copy link
Member

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!

@Prathamesh001
Copy link
Author

Thank you Prof. Caprani!

@ccaprani
Copy link
Member

Haven't forgotten @Prathamesh001 - soon!

@Prathamesh001
Copy link
Author

Hi Dr. Ngan @justinngan92 and Prof. Caprani @ccaprani , gentle follow-up on the GUI PR.

@ccaprani
Copy link
Member

ccaprani commented Sep 5, 2025

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.
  • pyqt will 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 the pyproject.toml file.
  • The file should be renamed - lower case, and maybe a nice short name like ospgui or 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 opsgui to run it (for example).

@Prathamesh001
Copy link
Author

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.

@Prathamesh001
Copy link
Author

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.

@Prathamesh001
Copy link
Author

Hi Prof. @ccaprani , just following up to check if you’ve had a chance to review the latest updates.

@Prathamesh001
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants