GithubHelp home page GithubHelp logo

Comments (4)

heitzmann avatar heitzmann commented on August 23, 2024

@JBraumueller You probably want to avoid fracturing before the fillet operation. Both shape and merged will be fractured if you don't specify otherwise. To do so you have to set the max_points argument in fast_boolean to something sufficiently large (or zero to disable checking completely).

In that case you probably don't need to manually merge the result from the first operation:

shape = gdspy.fast_boolean(Rectangle, Circle, 'not', max_points=0)
shape.fillet(20, 100)

Note that if the circle is inside the rectangle (shape has a hole) fillet is probably give the wrong result because of the connection between the hole and the outside boundary. In that case, you'll probably want to run fillet before the boolean operation.

from gdspy.

JBraumueller avatar JBraumueller commented on August 23, 2024

Thank you very much for your answer.
I was using max_points=0 in the merge and I just tested using max_point=0 as you suggested without the additional merge. In both cases, the fillet works at the corners of the rectangle, but is not applied to the cutting-edge between rectangle and circle. The circle was not within the rectangle but only cuts out some section.

rectangle = gdspy.Rectangle([0,0], [50, 50])
circle = gdspy.Round([50+25], 25], 30)
shape = gdspy.fast_boolean(rectangle, circle, 'not', precision=0.01, max_points=0)
shape.fillet(20, 100)

gives me a non-rounded corner at the region where the circle was cut out from the rectangle.
Thank you again!

from gdspy.

heitzmann avatar heitzmann commented on August 23, 2024

That's expected. Unfortunately the fillet function only works at vertices whose edges are long enough to touch a circle with the radius specified at both tangent points. That's probably not the case at the intersection of the rectangle and the circle, since the latter is composed of very small edges.

from gdspy.

JBraumueller avatar JBraumueller commented on August 23, 2024

Ok, I see. Thank you very much.

from gdspy.

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.