Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement plotting subpackage #3

Closed
6 tasks
RobPasMue opened this issue Aug 30, 2022 · 3 comments · Fixed by #72
Closed
6 tasks

Implement plotting subpackage #3

RobPasMue opened this issue Aug 30, 2022 · 3 comments · Fixed by #72
Assignees

Comments

@RobPasMue
Copy link
Member

Another important point is the visualization of the different objects inside the datamodel. We should consider using PyVista for this task. Points to be taken into account for this task:

  • Implement the plotting subpackage
  • Consider the creation of a ScenePlotter or similar (please don't use my name suggestion 😄): users will be able to pass in several objects and plot them all together
  • All datamodel objects should implement a plot() function. This function should be defined as abstract in the BaseObject class and implemented downstream in each object
  • Create a PyGeometry plotting theme so that we do not use the default PyVista theme
  • Add documentation
  • Add testing

Please consider the following location for the plotting subpackage:
image

@RobPasMue RobPasMue changed the title Implement plotting package Implement plotting subpackage Aug 30, 2022
@jorgepiloto
Copy link
Member

I would like to address this issue if possible, @RobPasMue.

What do you think about having a "DesignPlotter"? Or "AssemblyPlotter"?

This could be started by implementing the following functionality:

# To be renamed after we agree on its final name
plotter = Plotter(**kwargs)
plotter.show()

Which should render a default scene showing a simple grid in the XY plane with the usual red, green, blue frame in the origin of coordinates. Background scene could be pure white.

I would also make sure that this is fully interactive in our notebooks.

@RobPasMue
Copy link
Member Author

Please go ahead @jorgepiloto! Thank you for taking the lead here =)

Regarding the name, I think we could have two things.

  • A SketchPlotter for 2D representation of the sketch conceived (we may not need PyVista for this specifically) - we can talk about it on the side.
  • A DesignPlotter for 3D representation of design geometry bodies.

@RobPasMue
Copy link
Member Author

RobPasMue commented Sep 4, 2022

If you want to, I'd focus (after solving #39) on #37 @jorgepiloto, since you already have the PR open and half-way through. The DesignPlotter can wait for a later stage. Right now we should try to focus on the PRIORITY-tagged issues. Thanks in advance! We can rename this issue so that it only targets the SketchPlotter and create another issue for the DesignPlotter.

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 a pull request may close this issue.

2 participants