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

bottom tracks issue (kv6) #58

Open
easyw opened this issue Jul 14, 2022 · 7 comments
Open

bottom tracks issue (kv6) #58

easyw opened this issue Jul 14, 2022 · 7 comments

Comments

@easyw
Copy link
Contributor

easyw commented Jul 14, 2022

hi, I have an issue in loading B.Cu tracks with the attached board
stackup-issue-saved-test.zip
bot-tracks-issue

@realthunder
Copy link
Owner

What is you command to make the track?

Also, can you please tell why layer dieletric 1 has two thickness value. What does the addsublayer thing do?

(layer "dielectric 1" (type "prepreg") (thickness 0.037617 locked) (material "106 185HR") (epsilon_r 3.74) (loss_tangent 0.02)
        addsublayer (thickness 0.087757 locked) (material "2113 185HR") (epsilon_r 4.02) (loss_tangent 0))

realthunder added a commit that referenced this issue Jul 16, 2022
@easyw
Copy link
Contributor Author

easyw commented Jul 17, 2022

What is you command to make the track?

import fcad_pcb
from fcad_pcb import kicad
from kicad_parser import KicadPCB
pcb = kicad.KicadFcad(filename)
pcb.setLayer('B.Cu')
pcb.makeZones(shape_type='face',thickness=0.05, fit_arcs=True,holes=True)
pcb.makeTracks(holes=True)
pcb.makePads(shape_type='face',thickness=0.05,holes=True,fit_arcs=True)
or
import fcad_pcb
from fcad_pcb import kicad
from kicad_parser import KicadPCB
pcb = kicad.KicadFcad(filename)
pcb.setLayer('B.Cu')
coppers = pcb.makeCoppers(shape_type='solid', holes=True, fuse=True)

Also, can you please tell why layer dieletric 1 has two thickness value. What does the addsublayer thing do?

that was a setting from a report of a user, which replicated a failing user case in this pcb

Could you please have a look also at #57 (comment)
and here #57 (comment) ?

@easyw
Copy link
Contributor Author

easyw commented Jul 18, 2022

@realthunder
I forgot to add the FC version
[code]
OS: Windows 10 (10.0)
Word size of FreeCAD: 64-bit
Version: 0.21.29484 (Git)
Build type: Release
Branch: master
Hash: 4de0e6fb198a60bd09400d64994e7aa8308b1e23
Python 3.8.13, Qt 5.12.9, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.3
[/code]

@realthunder
Copy link
Owner

The shape making failed because the tricky hole cutting shown below. You can fix it by increasing the arc fitting accuracy like below. The default accuracy (actually tolerance) is 5e-4.

pcb = kicad.KicadFcad(filename, arc_fit_accuracy=1e-4)

image

@easyw
Copy link
Contributor Author

easyw commented Jul 21, 2022

@realthunder
I tried but still in some user case I cannot solve the issue...
then I tried:

  1. create tracks without holes
  2. create holes
  3. extrude holes as solid (I had to convert holes with shape2dview, because hole wires were not co-planar..?)
  4. make a cut between track faces and solid extrude holes
    and I got in some case an issue in the result...
    then I tried to change step 4) with a 'fuzzy' cut (available since OCC 7)
  5. make a 'fuzzy' cut between track faces and solid extrude holes
    and this is giving me, ATM, always a correct result
    https://dev.opencascade.org/doc/occt-7.3.0/overview/html/occt_user_guides__boolean_operations.html#occt_algorithms_11a_1

Do you think it could be possible to add a cut with fuzzy option in fcad_pcb, when cutting holes?

The following results are obtained using Basic Operations and the Fuzzy ones with the fuzzy value 6e-5

@realthunder
Copy link
Owner

Can you please collect some files where the cut failed? I'd like to dig a bit deeper into those failure cases.

@easyw
Copy link
Contributor Author

easyw commented Jul 28, 2022

@realthunder
I'm sorry but I cannot replicate the issue on other boards atm ... I need to dig deeply in my testing board folder...

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

No branches or pull requests

2 participants