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

FIX: Set solder ball fix with negative diameter #737

Merged
merged 21 commits into from
Aug 22, 2024
Merged

Conversation

svandenb-dev
Copy link
Collaborator

For some cases EDB api is returning negative pad dimension causing solder balls settings failure.

closing #736

Copy link
Collaborator

@hui-zhou-a hui-zhou-a left a comment

Choose a reason for hiding this comment

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

LGTM.
Wonder why edbapi returns a negative value

@svandenb-dev svandenb-dev merged commit f48c6db into main Aug 22, 2024
25 checks passed
@svandenb-dev svandenb-dev deleted the set-solder-ball-fix branch August 22, 2024 07:44
Copy link
Collaborator

@SMoraisAnsys SMoraisAnsys left a comment

Choose a reason for hiding this comment

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

Are you sure that returning the absolute value is enough ? Couldn't we have cases like [-0.6, 0.3] where 0.3 should be the value returned and this would return 0.6 ?

@@ -871,7 +871,6 @@ def create_port_on_pins(self, refdes, pins, reference_pins, impedance=50.0, port
elif "-" in ref_pin_name and ref_pin_name.split("-")[1] in refdes_pins:
ref_cmp_pins.append(refdes_pins[ref_pin_name.split("-")[1]])
if not ref_cmp_pins:
self._logger.warning("No reference pins found during port creation. Port is not defined.")
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why do you remove this warning ? Can you make it a debug warning if you don't want people to see it ?

_sb_diam = min([self._get_edb_value(val).ToDouble() for val in pad_params[1]])
sball_diam = _sb_diam
_sb_diam = abs(min([self._get_edb_value(val).ToDouble() for val in pad_params[1]]))
sball_diam = 0.8 * _sb_diam
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why do you multiply by 0.8 ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

this is an arbitrary value based on experiment. When users export to 3D modeler having the same value cause trouble with meshing. Using a smaller value prevent this issue

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