QCAD Bugtracker

QCAD - 2D CAD System.

Click here for a documentation of the DokuWiki formatting syntax that can be used in reports

Please search for existing tasks (also closed ones) before opening a new task.

Please make sure that you are using the latest Version of QCAD before posting a bug (menu Help > Check for Updates)

ID Category Task Type Severity Summary Status Progress
277QCAD (main)Feature RequestLowcommand line arguments: allow class name after -execAssigned
0%
Task Description

command line arguments: allow class name after -exec

275QCAD (main)Feature RequestLowRounding all corners of a polylineAssigned
0%
3 Task Description

Modify - Round - Click polyline - round all corners

228QCAD (main)Feature RequestLowInsert current date (and other fields)Assigned
0%
9 Task Description

Insert field into drawing that displays current date, file name, ...

208QCAD (main)Feature RequestLowSVG export: support custom line weightsAssigned
0%
Task Description

Find way to support custom line weights for SVG export. See also forum thread: http://www.ribbonsoft.com/rsforum/viewtopic.php?t=1594

173QCAD (main)Feature RequestLowexplode text to lettersAssigned
0%
1 Task Description

implement

2679QCAD (main)SuggestionVery LowContext Menu: Recent actions that require a selectionAssigned
0%
1 Task Description

Andrew,

For QCAD PRO, CAM or Trial the Context Menu lists a number of N recent commands.
Actions that require a selection are not grayed out without a current selection.
N is configurable by preference.

Triggering these actions from within the Context Menu has no effect.

Or display them grayed out.
Or don’t collect them in the Context Menu

Configured in ContextMenu.getContextMenu(entityId, pos)
Part of: ...scripts/Pro/Widgets/ContextMenu/ContextMenu.js

Skipping may display less than X recent commands.
Proposing not to limit the list on:

Math.min(ContextMenu.commands.length, num)
Skipping null actions

But on:

ContextMenu.commands.length
Skipping null actions
Breaking when N recent actions are added

Regards,
CVH

2676QCAD (main)Bug ReportVery LowDraw > Polyline > Insert Nodes at Self-Intersections: C...Assigned
0%
1 Task Description

Andrew,

For a selection of 100 entities with only 9 polylines the tool reports:
Inserted nodes in self-intersections in 100 polylines

None of those 9 polylines were self-intersecting.

insertVerticesAtSelfIntersections returns a boolean.
Presumably true/false on success, on change.

Then:
- If false the polyline must not be added to the operation to update it.
And it should not be counted as one that is updated.
- If true the polyline must be updated and counter num must be increased.
- If not a polyline entity it is skipped and should not be counted.

To be sure one can always compare the number of vertices before and after.


Probably an adapted copy of PolylineNormalize.js that has a similar false report.
100 polylines normalized” Some references to this script are still trailing.

Again one could compare the number of vertices before and after.

Regards,
CVH

2671QCAD (main)SuggestionVery LowRColor > Automatically remove leading/trailing whitespa...Assigned
0%
1 Task Description

Andrew,

Initial tests for this reply on the forum failed because of a space.
I tend to add a space after a comma by habit. ;-)

For QCAD Pro RColor::init() additionally loads the user palette.
A list of colorstrings separated by an EOL and split up per line.

An empty colorstring is skipped (e.g. first of every imported palette)
Each of the colorstrings is split into tuples at a comma.

Not at least 2 tuples adds a separator line.
The last tuple is considered as a color code.
This is not validated as in range ‘#000000’-’#ffffff’, starting with ‘#’ + 6 characters ‘0-f’.

Anything before the last comma is considered as the custom name or ‘title’.
This may be empty, include leading/trailing whitespace and/or include a comma.

Before the first custom entry it adds a separator line.

A color code starting with a space would be invalid.
Trailing spaces are not distinguishable in the preference page and also invalid.

It would already be neater to init a custom color from the list with:

init(title.trimmed(), RColor(code.trimmed()));

Presuming that .trimmed() is the cpp analog for String.prototype.trim in JS.

Regards,
CVH

2662QCAD (main)Feature RequestVery LowSort Layouts with the same 'tab order' alphanumerical l...Assigned
0%
1 Task Description

Adding/inserting additional layout blocks in an order that makes sense to the user throws out system numbering out of order...
Unable to sort Layouts in alphanumerical order like other blocks.
Displaying Layout order number in the layout name is pointless since system cannot cope with non-chronological layouts.
Extract from the thread on the forum (linked below)

Finally traced back to a [url=https://github.com/qcad/qcad/blob/9965f5c6c29cc7419d26d37ebffe119d7511641b/src/core/RStorageBlockSort.cpp]sorting function[/url] called in line 247 (Current state):
- model space always first
- layouts always before other blocks
- sort among layouts by tab order
- sort by layout name or block name (ignoring * at start)
 :!: Notice that the last rule will never be reached when comparing 2 Layout objects with the same 'tab order'.
The third rule will return "false" anyway and things are left unsorted as they are queried from the document.

Meaning that we can force any listing order but only by editing the list order values.
2658ECMAScriptBug ReportVery LowRCircle::getTangents(point) should reject point on circ...Assigned
0%
1 Task Description

Andrew,

When in RCircle::getTangents(point) the Thales circle radius is less than the radius of the given circle then the point is inside the circle resulting in: No tangents.

But when the point is on or very near the given circle the resource defines a tangent that connects the point and the single intersection point with the touching Thales circle.
The result may be erratic depending the outcome of getIntersectionPointsCC.


A tangent from a point to a circle or any limited line segment that is equal or shorter than 1e-6 has no well defined orientation: RLine::getAngle() returns zero by default.

The correct single tangent orientation would be orthogonal with a line towards the center of the given circle. Not zero by default or inline with the normal at that point.

Also excluding touching circles is thus mathematically more correct.

    if (thalesRadius <= getRadius()/2.0) {
        return ret;
    }

Introducing a tolerance is tricky. RS.PointTolerance = 1e-9 for example.
Because for a large circle there can be 2 tangents longer than 1e-6 to a point that is not further than 1e-9 outside the circle.
And because that getIntersectionPointsCC exploits a dynamic tolerance related to circle radii for other reasons.


Workaround: A valid point outside a circle has 2 (limited) tangents with the circle.
None or just one RLine shape can then be excluded as a situation with valid tangents.

Counter indication found in Draw/Line/LineTangent1/LineTangent1.js and RSnapTangential::snapEntity(...) for a circle or an arc where a single solution is considered as valid.

Regards,
CVH

2657QCAD (main)Bug ReportVery LowFile > New from Template...: Template not loaded with -...Assigned
0%
1 Task Description

Andrew,

User thhz reports that when starting QCAD with the -always-load-scripts switch a template is not loaded. Instead a drawing is created with only layer 0 ...
... Typically a plain new file.

Besides that, it seems that there are just a minimal count of Linetypes available in such a drawing document: ‘By Layer’, ‘By Block’ and ‘Continuous’.

NewFromTemplate.js is a Pro Addon.
Unstated if other Pro features are also affected.

Reported on any Win10 or Win11 64bit system he tested this on.
Reported for older installations: QCAD 3.27.?? ; QCAD/CAM 3.30.?? ; QCAD/CAM 3.26.4

It is not an issue of a crippled custom script.
On my advice also replicated with the latest trial versions without including any custom scripts at all. A clean installation fails thus with using the switch.



I can not replicate this on a Win7 32bit system with any QCAD installation that I have.
The issue popped up with the script I wrote to access XP preferences in direct for him.
The real fix for this little helpful tool was on another level. My mistake.

He wasn’t aware of that specific start switch and restarted QCAD each edit of a custom script. Exploiting that for editing on the fly.
But now it seems that templates are not loaded ... ?!

The advice is then to not include the switch for production use. ;-)

Regards,
CVH


	
2593QCAD (main)Bug ReportVery LowLibrary Browser previews bitmaps but fails to import th...Assigned
0%
1 Task Description

Andrew,

For a test related to: https://www.qcad.org/rsforum/viewtopic.php?f=32&t=10981#p45436
I copied a bitmap as PNG to my custom library path in the user data location.

The library Browser previews the PNG file but it fails to import the bitmap with this warning on the Command History:

'Cannot import file from URL: file:///C:/Users/Admin/AppData/Local/QCAD/QCAD/libraries/Custom/xxxxxx.png'

As far as I can see is the path perfectly OK except the “file:///C:” part.

I get a similar warning when using the default library path under my installation folder.
Functional with for example a PDF file.

I can insert the bitmap with IM.
→ Last used file location = “C:/Users/Admin/AppData/...” (QCAD.ini)
And I can import it (Ctrl+Shift+I).
→ Last used file location = “C:/Users/Admin/AppData/...” (QCAD.ini)

Regards,
CVH

2587QCAD (main)Bug ReportVery LowDraw > Circle > Circle2TP: Escape does not clear indica...Assigned
0%
1 Task Description

Andrew,

To replicate:
- Start Circle2TP with a few appropriate entities in the drawing
- Indicate 2 entities
- Indicate a point (pos3) ⇒ Previews all solutions
- Trigger an escape event
- Move to near another second shape

Before even picking the other second shape ...
... all possible solutions with former pos3 are displayed.
After picking the other entity the solutions ‘jump’ to solutions with the current position.
The current position will be rather near entity 2 than near the last picked position.
Not critical, just annoyed

Reason:
this.pos3 is not cleared in Circle2TP.State.ChoosingShape2 and Circle2TP.State.ChoosingShape1

It is thus retained after an escape event setting state Circle2TP.State.ChoosingShape2

this.pos1 and this.pos2 are retained too after escape events but serve no further purpose.

Regards
CVH

2582QCAD (main)Feature RequestVery Low Support for storing/loading custom property titles sta...Assigned
0%
1 Task Description

Andrew,

Related to: FS#2488

Would it be possible to support storing/loading custom property titles starting with “QCAD...” and then also treated as key-value pair.
They don’t need to be supported in the GUI, the Property Editor or elsewhere, storing and reloading them as defined in this session is perfectly fine.

As far as I know it is the only effective way to hide custom properties in the PE, avoiding that users can see specific properties per entity or edit them.

This is also effective:

    var att = new RPropertyAttributes();
    att.setReadOnly(true);
    att.setInvisible(true);
    RObject.setCustomPropertyAttributes("QCAD", "<AnyRequired>", att);

But only in QCAD sessions where this code has been executed.

For some things I can also exploit custom properties of Blocks or Layers.
And those are fairly ‘hidden’ for most users too.
But for my use it’s all about fully immutable and per entity.

Regards,
CVH

2578QCAD (main)TaskVery LowEdit > Duplicate: Wrong class descriptionAssigned
0%
1 Task Description

Andrew,
https://qcad.org/doc/qcad/3.0/developer/class_duplicate.html
The description is: ‘Copies the current selection to the clipboard ...’

Can be sourced back to:
https://github.com/qcad/qcad/blob/master/scripts/Edit/Duplicate/Duplicate.js#L24-L25
Where the same is stated as in:
https://github.com/qcad/qcad/blob/master/scripts/Edit/Copy/Copy.js#L24-L25

Regards,
CVH

2577QCAD (main)TaskVery LowRomanP.cxf: Qoute resembles a SemicolonAssigned
0%
1 Task Description

Related topic: https://www.qcad.org/rsforum/viewtopic.php?f=33&t=10901#p45052

The glyph for 0×0022 and 0x003b are indeed identical.

Dug up a version from 2012, all lines, different header type, but that also resembles a semicolon.

Regards,
CVH

2568DocumentationTaskVery LowRDocument::queryAllLayerStates() returns Qset of RLayer...Assigned
0%
1 Task Description

Andrew,

The documentation list RLayer::Id while it are RLayerState::Id that are returned.
In essence both are object IDs.
It is correct as in the associated remark: ‘Set of layer state IDs.’

The typo can be sourced back to RDocument.cpp:
https://github.com/qcad/qcad/blob/master/src/core/RDocument.cpp#L1345

QSet<RLayer::Id> RDocument::queryAllLayerStates() const {

Regards,
CVH

2567DocumentationTaskVery LowRLeaderData/RLeaderEntity Class Reference not up to dat...Assigned
0%
1 Task Description

Andrew,

Related topic: https://www.qcad.org/rsforum/viewtopic.php?f=30&t=10801

It is stated that:
RLeaderData Class documentation was generated from the following files:
- RLeaderData.h
- RLeaderData.cpp

dimaszOverride() and dimScaleOverride() are deprecated in the current content of:
RLeaderData.h
See: https://github.com/qcad/qcad/blob/master/src/entity/RLeaderData.h RLeaderData.cpp
See: https://github.com/qcad/qcad/blob/master/src/entity/RLeaderData.cpp

The change was committed on Nov 4, 2021:
https://github.com/qcad/qcad/commit/10a424767edbe6b926e94da80d52836fb1341191

It is unchecked if this is a stand alone exception.

Regards,
CVH

2557QCAD/CAMSuggestionVery LowG20/21 not occuring in generic postprocessorsAssigned
0%
1 Task Description

Andrew,

I know that GCodeMM.js and GCodeIN.js are generic postprocessors.
Mostly used as base for other or custom postprocessor.

The distinct nature is pretty clear from the filename and the suffix in the display name.
Another distinct nature is that they include this.unit = RS.Millimeter / RS.Inch intended for the CAM side.

Why don’t they include at least a G20/21 in a generic header?

There are several more specific postprocessors where I miss these G-codes for the measurement system.

True, if they are not supported, no error messages would occur when omitted.
The danger is that users rely on build in postprocessors hoping that it matches with the default measurement system of their setup.

IMHO it is safer to trigger an instruction fault before attempting to execute a wrong motion.
As fail-save as possible should always be the goal.

Regards,
CVH

2547QCAD (main)Bug ReportVery LowBlock > Purge Unused Blocks > Removes _DatumFilled bloc...Assigned
0%
1 Task Description

Andrew,

The _DatumFilled Block used by Datum entities (DT) is considered as not used and is purged by Purge Unused Blocks (BP).
There is no block association for these special types of arrowheads in QCAD.

After purging the Datums are not immediately updated but the special arrowheads will eventually disappear. Adding new Datums will not fix that.

Not problematic because the _DatumFilled Block is re-created on save/reload when Datum entities exists. Datums are updated.

Probably not OS or version related.
Related forum topic: https://www.qcad.org/rsforum/viewtopic.php?f=89&t=10694

Best solution would be to support different types of arrowheads and all related:
https://qcad.org/bugtracker/index.php?do=details&task_id=695 https://qcad.org/bugtracker/index.php?do=details&task_id=757 https://qcad.org/bugtracker/index.php?do=details&task_id=1157

Regards,
CVH

2544QCAD (main)Feature RequestVery LowRequest to add "plain text" paste, traditionally CTRL-S...Assigned
0%
3 Task Description

See:
https://www.qcad.org/rsforum/viewtopic.php?f=31&t=10379

Could you add “plain text paste” as ctrl-shift-V
Why? Because sometimes the clipboard comes in with rich text formatting that’s anti-helpful.
The workaround is to paste into a plain text editor, or the console, then recopy and repaste into qCad.

Either way the ctrl-shift-V shortcut is useful for those trained on other software but:
one could also argue that qCad should NEVER take rich text, and rather only accept the plain text with both CTRL-V and CTRL-SHIFT-V.

— CHV says

Agreed, having encountered it numerous times while documenting with text snippets from elsewhere. :roll:
Even copying Info measurements from the Command Line are Rich Text.

The best place to file a feature request is QCAD Bugtracker:
https://www.ribbonsoft.com/bugtracker/ You may need a different account there or make a new one.

May I remark that Ctrl-Shift-V is already in use for Paste along Entity (PE)
But not when the Text Editor Widget has the focus and dialog Widgets are always modal on a Win OS system. :wink:
Still, I’ll vote for it in any way.:P

Regards,
CVH

2541QCAD (main)SuggestionVery LowConsider the unit "Microinch" to be non-metricAssigned
0%
1 Task Description

Andrew,

One Microinch is equivalent to 25.4 nanometers and I don’t consider that to be metric.

RUnit.isMetric(this.getDocument().getUnit()) returns true for RS.Microinch or value 8.

https://github.com/qcad/qcad/blob/master/src/core/RUnit.cpp#L145-L155
Returns false for: RS::Inch ; RS::Foot ; RS::Mile ; RS::Mil ; RS::Yard
... and true for all the rest.

Also see last note in: https://www.qcad.org/rsforum/viewtopic.php?f=31&t=9506&p=38295

Not to be confused with RDocument::isMetric() because that returns the measurement system unless that is RS::UnknownMeasurement what is rather impossible with drawings created by QCAD.

Regards,
CVH

2539QCAD (main)Bug ReportVery Low(Relative) Polar feet + surveyor notation fails.Assigned
0%
1 Task Description

Andrew,

A user essentially pointed out to an ACAD textbook example.
https://qcad.org/bugtracker/index.php?do=details&task_id=2533
Step 3 of: https://autodesk.blogs.com/between_the_lines/2012/07/drawing-with-surveyors-units-in-autocad.html

Please refer to this topic:
https://www.qcad.org/rsforum/viewtopic.php?f=33&t=10652

Regards,
CVH

2505QCAD (main)Feature RequestVery LowInfo > Polygonal Area > Use dimension decimal format fo...Assigned
0%
1 Task Description

Andrew,
On behalf of user Kmeelo

Polygonal Area adds measurements text with 12 decimal digits and then as short as possible.

Current formatting path see: https://www.qcad.org/rsforum/viewtopic.php?f=32&t=10450&p=42833#p42805

Related forum feature request: https://www.qcad.org/rsforum/viewtopic.php?f=31&t=10458

I also see a misconception of the term ‘precision’.
Numbers precision is the amount of significant digits disregarding the position of the decimal point.
12 decimal digits is about the largest precision for numbers with 5 integer digits.

Regards,
CVH

2501QCAD (main)Feature RequestVery LowAdd spelling checker / spell checker for all text boxesAssigned
0%
1 Task Description

Suggestion to add spelling checker / spell checker for all text boxes

2494QCAD (main)Bug ReportVery LowInformation scrip on drawing screen unaligned.Waiting on User
0%
2461dxflibBug ReportVery LowASCII Control characters not handled correctly in Commu...Assigned
0%
2440QCAD (main)Bug ReportVery LowHatch from Segments > False positives open loop warning...Assigned
0%
1
2415QCAD (main)Bug ReportVery LowIssues with OffsetBothSidesAssigned
0%
1
2328QCAD (main)Bug ReportVery Lowdrop down, using keyboardAssigned
0%
2302QCAD (main)Bug ReportVery Lowpolygon.getSelfIntersectionPoints(tol) returns 3th inva...Assigned
0%
1
2297QCAD (main)SuggestionVery LowFew UI inconsistencies Assigned
0%
2290QCAD (main)Bug ReportVery Lowloading the Drawing Preferences using enter, using ente...Assigned
0%
2287QCAD (main)Feature RequestVery LowEvaluate draw order for preference "Prevent white-on-wh...Assigned
0%
2261QCAD (main)SuggestionVery LowQCAD change freehand tool to freehand spline toolAssigned
0%
2248QCAD (main)Bug ReportVery LowThemes: east and west dock widget tabs facing the wrong...Assigned
0%
1
2226QCAD (main)Feature RequestVery LowmacOS: support proxy iconAssigned
0%
2181QCAD (main)SuggestionVery LowApply more distinguishable Enabled and Disabled state i...Assigned
0%
1
2176QCAD (main)Bug ReportVery LowModify > Break out Manual: relevance of order of click ...Assigned
0%
1
2155QCAD (main)Bug ReportVery LowFaulty rendering Polyline Arcs with Width = 2RAssigned
0%
1
2149QCAD (main)SuggestionVery LowAllow undo after auto trim self-intersecting with AX in...Assigned
0%
1
2148QCAD (main)SuggestionVery LowAllow undo after breaking up self-intersecting with D2 ...Assigned
0%
1
2147QCAD (main)SuggestionVery LowAllow breaking up self-intersecting a 2e time (at endpo...Assigned
0%
1
2146QCAD (main)SuggestionVery LowKeep 'Invisible' objects invisible while savingAssigned
0%
2
2138QCAD (main)SuggestionVery LowBlock zoomstate supersedes Model_Space after Undo of BCAssigned
0%
1
2107QCAD (main)Feature RequestVery LowAdd a button to the tool bar to allow for a quick backg...Assigned
0%
1
2098QCAD (main)Bug ReportVery LowOffset will pick up hidden blocks while using it in a l...Assigned
0%
1
2097QCAD (main)Bug ReportVery LowVery hard to snap to baseline reference point of dimens...Assigned
0%
2088QCAD (main)Bug ReportVery Low column headers of the "General: tool settings " resize...Assigned
0%
2068QCAD Community EditionBug ReportVery LowNon-english text in upper/lower index becomes UTF codeAssigned
0%
Showing tasks 501 - 550 of 567 Page 11 of 12

Available keyboard shortcuts

Tasklist

Task Details

Task Editing