Experimental “Offset” support in LibreCAD

I merged initial experimental support into LibreCAD yesterday.

Some basic features of Offset still need to be implemented:

1, loop, self-intersection awareness;

2, Generate a spline fit, if the offset envelop is not in simple entities(straight line, arc, and ellipse);

3, More options to initiate Offset.

If you find a bug in LibreCAD, or simply want LibreCAD to do more, please file a feature request/bug report at our sourceforge trackers:

https://sourceforge.net/tracker/?group_id=342582

The LibreCAD team

12 thoughts on “Experimental “Offset” support in LibreCAD

  1. Ciao,
    If/when I get my voronoi-diagram code working it should allow for fast and robust offset-generation. If you do it segment-by-segment you need to check for intersections which, at least naively implemented, is an O(n^2) operation if you have n points/lines/arcs. The voronoi diagram approach is n*log(n) so should be way faster for complex input geometry.
    Anders

    • Hi anders,

      is your voronoi cell part based on fortune algorithm?

      If you can license it to GPL2+ (version 2 or later), we would love to include it in LibreCAD. It would be a feature by itself (to generate voronoi cells), aside from a fast contour classifying algorithm.

      To identify cells starting from points(vertices) is the definition of voronoi cells.

      To identify cells starting from lines requires generating of the points (vertices) from lines, and the vertices can be generated by reflection of a point by the given lines.

      Please tell me more about the arc part.

      After this, we still get the problem of self-intersecting spline to handle.

      Thanks,

      Dongxu Li

  2. My goal is something like this (from a 2009 paper by Held):
    http://www.anderswallin.net/wp-content/uploads/2010/11/held2009_screenshot1.png

    Right now I can calculate diagrams for point-sites and for line-sites. Like this:
    http://www.anderswallin.net/wp-content/uploads/2011/11/100_linesites.jpg
    (input line-segments in yellow, diagram in shades of blue)

    Next I need to extend this code for polygons, and write a class that traverses the diagram and generates offset. Code is c++ with python bindings. https://github.com/aewallin/openvoronoi
    gpl3 or gpl2 is OK with me.

    • 当前只有最简单的Offset支持。接下来需要将Anders的算法添加到LibreCAD,Anders的算法能快速确定offset的拓朴结构。如果时间允许,我将协助Anders调试相关Voronoi算法。然后,添加Voronoi功能本身到LibreCAD。

      除了内核部分,我们也需要来自各国的开发人员帮助翻译,编写说明文档,以及共享dxf绘图库等等。

      谢谢!

        • There are several things we can do together:

          1, algorithm/engine level:

          Offset, spline, hatch, and Voronoi cells. Most likely, in collaboration with Anders.

          Also, feel free to propose other things we would like LibreCAD to do. Ries wants more 2.5D and CAM support, for example.

          2, GUI/Qt

          The GUI/painter/printer all need more work and cleanup.

          have a look at our trackers at sf:

          https://sourceforge.net/tracker/?group_id=342582

          3, Translation/wiki

          比如中文翻译,使用手册,等等。

          如果您希望涉及计算几何/C++/Qt,或者用户支持等方面,我们非常友好的现有团队可以尽快让您熟悉做出高质量的软件工作。毕竟,作为自由软件的开发者,您最重要的目标可以是软件自身品质。

          总之,我们很欢迎并且需要更多的开发人员。

Leave a Reply to Jones sabo for example sabo declared a Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>