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

Add Shelf-Device Assembly and Rendering #92

Merged
merged 32 commits into from
Sep 27, 2024
Merged

Conversation

jmwright
Copy link
Contributor

@julianstirling Where does (or should) the screw location information live? At a minimum I need a location and an axis for each screw. The axis could be something like +Y and -Y so that I can have the correct orientation of the screw relative to the hole it's going into.

@julianstirling
Copy link
Collaborator

@jmwright The problem with the text CI is that when pip installed without -e the devices.json is not in the expected location, we can either try to fix this or just add -e to the test yaml

@jmwright
Copy link
Contributor Author

@jmwright The problem with the text CI is that when pip installed without -e the devices.json is not in the expected location, we can either try to fix this or just add -e to the test yaml

Thanks @julianstirling , I was wasting too much time not understanding that.

@julianstirling
Copy link
Collaborator

We probably want to add a try-except around the devices file reading that gives a more meaninful error if not installed with -e

@jmwright
Copy link
Contributor Author

We probably want to add a try-except around the devices file reading that gives a more meaninful error if not installed with -e

@julianstirling Are you suggesting that should be part of this PR?

@jmwright jmwright changed the title First Steps With Shelf-Device Assembly Add Shelf-Device Assembly and Rendering Aug 30, 2024
@jmwright
Copy link
Contributor Author

Here are two samples of the shelf assembly rendering at work. One is the default with full color, the second is with a configurable black-and-white "theme" that is more in line with traditional annotated drawings. I left the automated assembly lines in place for both, and I left the assembly exploded. I'm a little disappointed in how the CAD kernel renders some edges, especially in the black-and-white version, but I think it's passable.

assembly_render_test_exploded_color

assembly_render_test_exploded_black_and_white

@jmwright
Copy link
Contributor Author

@julianstirling I have marked this as ready for review.

Comment on lines +121 to +125
# Hole location parameters
_screw_dist_x = None
_screw_dist_y = None
_dist_to_front = None
_offset_x = None
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can imagine that for some of the shelves we will need different variables because most don't have screws coming top-down. some come in from the sides. We may want to move these attributes to the specific classes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because most don't have screws coming top-down. some come in from the sides. We may want to move these attributes to the specific classes.

There is a parameter for this. You set the axis of alignment for the screw to get it in the right orientation.

Copy link
Collaborator

@julianstirling julianstirling left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Jeremy, lots of hard work in this one. I love the render examples.

I think it's time to get these merged in. We can think about generalising to other shelves later.

@julianstirling julianstirling merged commit 9849998 into master Sep 27, 2024
5 checks passed
@jmwright jmwright deleted the shelf-assembly branch September 27, 2024 15:35
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.

2 participants