Giter Site home page Giter Site logo

bottom tracks issue (kv6) about fcad_pcb HOT 7 OPEN

realthunder avatar realthunder commented on May 17, 2024
bottom tracks issue (kv6)

from fcad_pcb.

Comments (7)

realthunder avatar realthunder commented on May 17, 2024

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))

from fcad_pcb.

easyw avatar easyw commented on May 17, 2024

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

from fcad_pcb.

easyw avatar easyw commented on May 17, 2024

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

from fcad_pcb.

realthunder avatar realthunder commented on May 17, 2024

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

from fcad_pcb.

easyw avatar easyw commented on May 17, 2024

@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

from fcad_pcb.

realthunder avatar realthunder commented on May 17, 2024

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

from fcad_pcb.

easyw avatar easyw commented on May 17, 2024

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

from fcad_pcb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.