Giter VIP home page Giter VIP logo

Comments (4)

haplokuon avatar haplokuon commented on May 28, 2024 1

There is nothing in the netDxf code that will limit the proximity of two vertexes, besides the obvious limitations of the double data type.

Check your XY Coordinates list there are a few vertices that are way out of the shape of the circle, if you zoom extents the whole drawing it will look like only a line has been drawn, but if you zoom close enough you will see the shape of the circle with a few vertices far to the right. For example the values you have on line 128 are "987986,0". I guess when you reduced the number of points you were lucky and all those way-out-of-the-circle-shape points were left behind.

Daniel

from netdxf.

haplokuon avatar haplokuon commented on May 28, 2024

Have you tried saving your file in binary format? Keep in mind that the number of digits written, for a double, in a text based dxf is limited to 15 digits. This is a limitation of the net ToString method, you could squeeze one more using the R option but it will not change all that much. The binary format should preserve the full range of a double variable.

I am assuming you are exporting this with netDxf, other programs like AutoCad allows you to choose the number of digits written in a text dxf, if I recall correctly the maximum was 16. Now that disk space is not a problem using less that the maximum allowed is pointless.

Daniel

from netdxf.

jaret81 avatar jaret81 commented on May 28, 2024

Thank you for your prompt reply!

Yes, I am saving in binary format with netDXF. I don't think it is a precision issue, as I only need accuracy to 3 decimals. There seems to be some limitation with vertex proximity.

Here is the code and the array of coordinates. You will find that unless you increment nP by 20+ the output will look like the above image on the right.

        DxfDocument dxf = new DxfDocument();
        Polyline poly = new Polyline();
        for (int nP = 0; nP < _arrScanLine.Length; nP += 2)
        {
            float fX = _arrScanLine[nP];
            float fY = _arrScanLine[nP + 1];
            poly.Vertexes.Add(new PolylineVertex(fX, fY, 0));
        }
        poly.IsClosed = true;
        dxf.AddEntity(poly);

XY Coordinates.txt

from netdxf.

jaret81 avatar jaret81 commented on May 28, 2024

That's bizarre, but you're absolutely correct. The program that collects the data sets undefined data points to a constant int of 987987, but it has clearly been changed to 987986 somewhere along the line. I changed my undefined catch from ==987987 to >900000, and the dxf looks great!

Thank you for your help on this. It should have been more obvious, but I don't have Solidworks, and eDrawings wasn't allowing me to zoom in on the drawing.

Also, thank you for the excellent dll!

Jaret

from netdxf.

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.