DXF import: placement and linewidth should be applied _after_ scaling

Bug #1831496 reported by Olivier
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Low
Seth Hillbrand

Bug Description

Hello,

Consider this situation of importing a DXF file in KiCad:
- I would like that the lines are created with a linewidth of 0.15 mm (for example).
- If the DXF file is in micrometers, it can be imported by setting the scale factor to 0.001 in the import dialog. However, it is now necessary to change the linewidth to 150 mm in the dialog, so that it is really 0.15 mm after the import.

This workaround should not be necessary and is a bit ridiculous. When the user asks for a precise linewidth, he should obtain what he asked for.

Request: The linewidth should be applied _after_ scaling, not before.

In the same manner, the placement translation should be applied after the scaling. The user want to place the origin of the DXF in the KiCad space.

Request: The placement should be applied _after_ scaling, not before.

Olivier (KiCad 5.1.2)

Tags: dxf import pcbnew
tags: added: import pcbnew
Changed in kicad:
importance: Undecided → Wishlist
status: New → Triaged
Revision history for this message
Olivier (oc-spam66) wrote :

Wishlist ??
If the user needs to write "150 mm" in order to get "0.15 mm", this is a qualified bug!
The developer probably coded the transformations in the wrong order: linewidth and placement should be applied _after_ scaling.

Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :

Can you upload an example DXF file? Also provide the full version information from About KiCad -> Copy Version Info.

Changed in kicad:
status: Triaged → Incomplete
Revision history for this message
Olivier (oc-spam66) wrote :

Hello,

I attached an example DXF file, drawn in µm unit. For the detail, it is the footprint of a chip with a 4.74 mm x 3.68 mm outline and pads inside.

The goal is the following: with the "Import Vector Graphics File" window, place this chip in the PCB area at coordinates (100 mm, 100 mm), with line thickness 0.15 mm.

As a user, what I expect to fill the dialog like this:
Placement: (100, 100) mm
Linewidth: 0.15 mm
Scale: 0.001 (or 1000 depending on the logic)

This does not give the correct result, at all, as explained in my first message.

BTW: I have a graphical problem about this window (and only this window), the radio buttons for the two "Placement" choices are always both ON.

Olivier

Application: kicad
Version: 5.1.2+dfsg1-1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.64.0 OpenSSL/1.1.1b zlib/1.2.11 libidn2/2.0.5 libpsl/0.19.1 (+libidn2/2.0.4) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Platform: Linux 4.18.0-2-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.67.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.64.0
    Compiler: Clang 7.0.1 with C++ ABI 1002

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Changed in kicad:
status: Incomplete → New
Revision history for this message
Michael Kavanagh (michaelkavanagh) wrote :

FYI the separate radio button bug has been fixed.

Changed in kicad:
importance: Wishlist → Low
milestone: none → 5.1.4
status: New → Confirmed
Changed in kicad:
milestone: 5.1.4 → 5.1.5
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 22fdc7f51f62a56dc3aa899f037912af60755c16
https://git.launchpad.net/kicad/patch/?id=22fdc7f51f62a56dc3aa899f037912af60755c16

Changed in kicad:
status: Confirmed → Fix Committed
assignee: nobody → Seth Hillbrand (sethh)
Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.