crosshatch problems using latest version

QCAD Professional

Version: 3.32.9.0 (3.32.9)

Internet: QCAD.org

Build Date: May 8 2026

Revision: c97656e

Qt Version:6.11.0

Architecture: x86_64

Compiler: gcc 11.4.0

crosshatch_test.dxf (107.7 KB)

unable to select circular segments (see illustration above)

works, perfectly fine with previous (qcad-3.32.4-pro-linux-qt5.14-x86_64) version of QCAD.

System: Kernel: 6.1.0-49-amd64 [6.1.174-1] arch: x86_64 bits: 64 compiler: gcc v: 12.2.0 parameters: BOOT_IMAGE=/boot/vmlinuz-6.1.0-49-amd64 root=UUID=<filter> ro quiet splash Desktop: KDE Plasma v: 5.27.5 wm: kwin_x11 vt: 7 dm: SDDM Distro: MX-23.6_KDE_x64 Libretto May 19 2024 base: Debian GNU/Linux 12 (bookworm)

Machine: Type: Mini-pc System: HP product: HP EliteDesk 800 G3 DM 65W v: N/A serial: <superuser required> Chassis: type: 35 serial: <superuser required> Mobo: HP model: 829A v: KBC Version 06.29 serial: <superuser required> UEFI: HP v: P21 Ver. 02.40 date: 04/08/2022

CPU: Info: model: Intel Core i7-7700 bits: 64 type: MT MCP arch: Kaby Lake gen: core 7 level: v3 note: check built: 2018 process: Intel 14nm family: 6 model-id: 0x9E (158) stepping: 9 microcode: 0xF8 Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache: L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB L3: 8 MiB desc: 1x8 MiB Speed (MHz): avg: 949 high: 1100 min/max: 800/4200 scaling: driver: intel_pstate governor: powersave cores: 1: 1100 2: 800 3: 800 4: 800 5: 1100 6: 1100 7: 800 8: 1098 bogomips: 57600

Thanks. I can reproduce it here.

Please use the exact tool names of the tools you are using, so we can identify problems efficiently. Here you are using

Draw > Hatch > Hatch from Segments…

Bug report at:

or… as @CVH would say: I am using HS :winking_face_with_tongue:

sorry, will do my best in future :+1:

Hi,
The hidden line would at best be excluded for this process.
For example by defining it on a dedicated (sub-) Layer for hidden lines.
Refer to: QCAD - Tutorial: Working with Layers
And then not showing it for the time being: Toggle the visibility.

The issue is probably closely related to tangent arcs (circles) and where these would touch or connect to another shape.
Itself a mathematical problem that QCAD attempt to solve with various tolerances.
It is well known that using different (fixed) tolerances in different resources may conflict.
Fixed, minute to small tolerances also means that the exception may occur more frequent for smaller designs.

QCAD is a living entity and is updated on regular base …
… Not all changes to core resources are always for the best.
:wink:


Also note that for the cross-sections in your design there are 4 arcs that don’t connect 2 by 2.
Connection point near (88.4737, 86.1025) and (104.1116, 86.1025)
Trim those arcs piece-wise with ‘Trim Both’ (TM)

Now also cut up the top horizontal lines at the cross-sections with ‘Divide’ (DI).

You can then construct 2 well-closed polylines from the contours.
Select all segments, then ‘Poyline from Selection’ (OC)
That should result in a logically closed polyline for each.
See Property Editor when selected.

These can be hatched with ‘Hatch from Selection’ (HA), individually or as a set.
Why? Because segments of a (closed) polyline are assumed to connect piece-wise by default.

You may want to explode (XP) the polylines afterwards.

Regards,
CVH

yes, I often use this method :+1:

CVH:

Connection point near (88.4737, 86.1025) and (104.1116, 86.1025)

missed this one :winking_face_with_tongue:

not that it made any difference to the bug (i.e. neither version of QCAD is bothered by this detail when it comes to creating crosshatch)

CVH:

You can then construct … well-closed polylines

yes, this is good method

I have used it before (specially when I needed an area inside polyline)

but otherwise seldom need it.

thanks!

PS thank you for taking on board my comment about shortcuts

makes your help much more accessible :+1:

Second part is a work around for the reported exception with your design.
Until the issue is fixed in an new release.

But I tend to do it this way with a helper polyline as boundary shape.
When that is perfectly logically closed then hatching won’t pose a problem.
Open boundaries are more easily found than with the failure notice on the Command History from the Hatching methods.
It is open where it ends without connecting to the start.

I thus rarely use HS … Think of thousands of segments.
Any minute flaw will not result in a Hatch when you think to have indicated all.
I also keep a copy of the helper polyline.
Easier to edit that and redo the Hatch than restarting over new.

Regards,
CVH

((( I even suspect to have documented such a more than circular result from trimming an arc to given intersections )))
To no avail … I tend to circumvent such flawed resources in my scripts.

Regards,
CVH

Yes, I am converted to using polylines for hatching.

Property editor tells me whether polyline is closed or not, but doesn’t point to where it is failing

(unlike crosshatching that will point to where the loop is not closed).

Altogether (as you say), it also allows me to continue using 3.32.9.0 (3.32.9)

without waiting for the bug being sorted.

Thank you

Select the resulting polyline (near one of them, single click).
If it is logically closed then the boundary is fully defined.

If not but it looks like closed then it is open near the end-start connection, see red reference marker.
If not and and there are typically more than one single created (See Command History) then look near the start reference in red and/or near the end reference in blue of the selected.

Fix the connection and re-create a polyline of those two (OC)
With more than 2 repeat this for the next pair.

Selecting (nearly) interconnected entities is with a double-click.
But that may select really all connected if a contour connects with others near any ending.

Regards,
CVH

For the record:
The presumed fix is buried in a large commit also affecting ShapeAlgorithms.js
(Once more)

Why some content is displayed here is related to the new forum, hit ‘show original’ in the above.
On GitHub hit ‘History’ and search for ‘ShapeAlgorithms’ in the extensive commit of Jun 19, 2026.
Goto the third hit.

Regards,
CVH

yes, I missed that

all is clear now :+1:

thank you