|
277 | QCAD (main) | Feature Request | Low | command line arguments: allow class name after -exec | Assigned | |
|
Task Description
command line arguments: allow class name after -exec
|
|
275 | QCAD (main) | Feature Request | Low | Rounding all corners of a polyline | Assigned | |
3 |
Task Description
Modify - Round - Click polyline - round all corners
|
|
228 | QCAD (main) | Feature Request | Low | Insert current date (and other fields) | Assigned | |
9 |
Task Description
Insert field into drawing that displays current date, file name, ...
|
|
208 | QCAD (main) | Feature Request | Low | SVG export: support custom line weights | Assigned | |
|
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
|
|
173 | QCAD (main) | Feature Request | Low | explode text to letters | Assigned | |
1 |
Task Description
implement
|
|
2679 | QCAD (main) | Suggestion | Very Low | Context Menu: Recent actions that require a selection | Assigned | |
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
|
|
2676 | QCAD (main) | Bug Report | Very Low | Draw > Polyline > Insert Nodes at Self-Intersections: C... | Assigned | |
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
|
|
2671 | QCAD (main) | Suggestion | Very Low | RColor > Automatically remove leading/trailing whitespa... | Assigned | |
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
|
|
2662 | QCAD (main) | Feature Request | Very Low | Sort Layouts with the same 'tab order' alphanumerical l... | Assigned | |
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.
|
|
2658 | ECMAScript | Bug Report | Very Low | RCircle::getTangents(point) should reject point on circ... | Assigned | |
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
|
|
2657 | QCAD (main) | Bug Report | Very Low | File > New from Template...: Template not loaded with -... | Assigned | |
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
|
|
2593 | QCAD (main) | Bug Report | Very Low | Library Browser previews bitmaps but fails to import th... | Assigned | |
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
|
|
2587 | QCAD (main) | Bug Report | Very Low | Draw > Circle > Circle2TP: Escape does not clear indica... | Assigned | |
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
|
|
2582 | QCAD (main) | Feature Request | Very Low | Support for storing/loading custom property titles sta... | Assigned | |
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
|
|
2578 | QCAD (main) | Task | Very Low | Edit > Duplicate: Wrong class description | Assigned | |
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
|
|
2577 | QCAD (main) | Task | Very Low | RomanP.cxf: Qoute resembles a Semicolon | Assigned | |
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
|
|
2568 | Documentation | Task | Very Low | RDocument::queryAllLayerStates() returns Qset of RLayer... | Assigned | |
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
|
|
2567 | Documentation | Task | Very Low | RLeaderData/RLeaderEntity Class Reference not up to dat... | Assigned | |
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
|
|
2557 | QCAD/CAM | Suggestion | Very Low | G20/21 not occuring in generic postprocessors | Assigned | |
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
|
|
2547 | QCAD (main) | Bug Report | Very Low | Block > Purge Unused Blocks > Removes _DatumFilled bloc... | Assigned | |
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
|
|
2544 | QCAD (main) | Feature Request | Very Low | Request to add "plain text" paste, traditionally CTRL-S... | Assigned | |
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
|
|
2541 | QCAD (main) | Suggestion | Very Low | Consider the unit "Microinch" to be non-metric | Assigned | |
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
|
|
2539 | QCAD (main) | Bug Report | Very Low | (Relative) Polar feet + surveyor notation fails. | Assigned | |
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
|
|
2505 | QCAD (main) | Feature Request | Very Low | Info > Polygonal Area > Use dimension decimal format fo... | Assigned | |
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
|
|
2501 | QCAD (main) | Feature Request | Very Low | Add spelling checker / spell checker for all text boxes | Assigned | |
1 |
Task Description
Suggestion to add spelling checker / spell checker for all text boxes
|
|
2494 | QCAD (main) | Bug Report | Very Low | Information scrip on drawing screen unaligned. | Waiting on User | |
| |
|
2461 | dxflib | Bug Report | Very Low | ASCII Control characters not handled correctly in Commu... | Assigned | |
| |
|
2440 | QCAD (main) | Bug Report | Very Low | Hatch from Segments > False positives open loop warning... | Assigned | |
1 | |
|
2415 | QCAD (main) | Bug Report | Very Low | Issues with OffsetBothSides | Assigned | |
1 | |
|
2328 | QCAD (main) | Bug Report | Very Low | drop down, using keyboard | Assigned | |
| |
|
2302 | QCAD (main) | Bug Report | Very Low | polygon.getSelfIntersectionPoints(tol) returns 3th inva... | Assigned | |
1 | |
|
2297 | QCAD (main) | Suggestion | Very Low | Few UI inconsistencies | Assigned | |
| |
|
2290 | QCAD (main) | Bug Report | Very Low | loading the Drawing Preferences using enter, using ente... | Assigned | |
| |
|
2287 | QCAD (main) | Feature Request | Very Low | Evaluate draw order for preference "Prevent white-on-wh... | Assigned | |
| |
|
2261 | QCAD (main) | Suggestion | Very Low | QCAD change freehand tool to freehand spline tool | Assigned | |
| |
|
2248 | QCAD (main) | Bug Report | Very Low | Themes: east and west dock widget tabs facing the wrong... | Assigned | |
1 | |
|
2226 | QCAD (main) | Feature Request | Very Low | macOS: support proxy icon | Assigned | |
| |
|
2181 | QCAD (main) | Suggestion | Very Low | Apply more distinguishable Enabled and Disabled state i... | Assigned | |
1 | |
|
2176 | QCAD (main) | Bug Report | Very Low | Modify > Break out Manual: relevance of order of click ... | Assigned | |
1 | |
|
2155 | QCAD (main) | Bug Report | Very Low | Faulty rendering Polyline Arcs with Width = 2R | Assigned | |
1 | |
|
2149 | QCAD (main) | Suggestion | Very Low | Allow undo after auto trim self-intersecting with AX in... | Assigned | |
1 | |
|
2148 | QCAD (main) | Suggestion | Very Low | Allow undo after breaking up self-intersecting with D2 ... | Assigned | |
1 | |
|
2147 | QCAD (main) | Suggestion | Very Low | Allow breaking up self-intersecting a 2e time (at endpo... | Assigned | |
1 | |
|
2146 | QCAD (main) | Suggestion | Very Low | Keep 'Invisible' objects invisible while saving | Assigned | |
2 | |
|
2138 | QCAD (main) | Suggestion | Very Low | Block zoomstate supersedes Model_Space after Undo of BC | Assigned | |
1 | |
|
2107 | QCAD (main) | Feature Request | Very Low | Add a button to the tool bar to allow for a quick backg... | Assigned | |
1 | |
|
2098 | QCAD (main) | Bug Report | Very Low | Offset will pick up hidden blocks while using it in a l... | Assigned | |
1 | |
|
2097 | QCAD (main) | Bug Report | Very Low | Very hard to snap to baseline reference point of dimens... | Assigned | |
| |
|
2088 | QCAD (main) | Bug Report | Very Low | column headers of the "General: tool settings " resize... | Assigned | |
| |
|
2068 | QCAD Community Edition | Bug Report | Very Low | Non-english text in upper/lower index becomes UTF code | Assigned | |
| |