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)

IDCategoryTask TypeSeveritySummaryStatusProgress
 195 QCAD (main)Bug ReportLow SVG PG export scale points Closed
100%
Task Description

Points are not scaled when PG exported to SVG:

Points as crosses are created eg. like this:

d=m 2.5,3 1,0 M 3,2.5 l 0,1

and in SVG look fine like that (scale 1/10):

d=m 2.95,3 0.1,0 M 3,2.95 3,3.05

stroke-width should be left unchanged.

 194 QCAD (main)Bug ReportLow SVG PG export scale text Closed
100%
Task Description

Text scaling in PG SVG exporter is missing just two small additions: These attributes are not taken care of by now:

font-size, dy

Just use the current value times scale: eg 2.5 * 0.1 to have a scale of 1:10. Looks good here.

 193 QCAD (main)Bug ReportLow SVG PG export scale hatches Closed
100%
Task Description

The SVG PG exporter does not scale hatches.

 192 QCAD (main)Bug ReportLow SVG PG export stroke width should not scale Closed
100%
Task Description

When PG exporting to SVG, stroke-widths are scaled with the drawing, while they should not.

 191 QCAD (main)Bug ReportLow SVG PG export text vertical and horizontal alignment Closed
100%
Task Description

QCAD offers horizontal and vertical alignment choices for text. This is not carried over to PG exported SVGs. Currently QCAD sets the “dy” attribute on text nodes in a way, such that any text in SVG will look like the QCAD vertical alignment was set to “Top” and the horizontal one to “Left”.

Naively one can just omit the “dy” attribute and in SVG this will look like the QCAD vertical alignment was set to “bottom”. At least for single line texts that should be good.

The horizontal alignments can be recreated in SVG with the “text-anchor” attribute for text nodes. The values “start”, “middle” and “end” correspond to the QCAD “left”, “center” and “right” choices.

 190 QCAD (main)Bug ReportLow SVG PG export dimension labels alignment Closed
100%
Task Description

Dimension labels in QCAD are (always?) centered on the dimension line, while in exported SVGs the text starts from the center and extends into the writing direction. This can trivially be fixed by adding the attribute “text-anchor:middle” to the respective SVG “text” nodes.

 138 QCAD (main)RefactoringLow SVG Export entity properties "By Layer" and "By Block" Closed
100%
Task Description

If I understand correctly, SVG export uses svg groups to keep QCAD block entities. This in itself is very useful. There is no way to correctly keep layer information, as QCAD blocks can contain elements on different layers, while SVG only knows about groups. That is a deficiency of SVG.

To save on file size, there was some potential to get rid of ever repeating same attributes on entities, eg: style=”stroke:#000000;stroke-width:0.25;stroke-dasharray:2.16,1.08”

To optimize “By Block” is easy: just set the attribute on the SVG group, and omit on below entities styled “By Block”.

To optimize “By Layer” is a little more involved, but might be solved by using css:
- Create a class by the name of the Layer
- add the class attribute to elements styled “By Layer”

Then only individually styled entities would get a style attribute, and filesize of SVG could be halved in most cases.

This just an idea :) Having written this, I now realize, that QCAD can style weight, pattern, color each extra, so the optimazition could only be applied to entities, where everything is “By Layer” or “By Block”. But that should be the case most of the time.

 137 QCAD (main)RefactoringLow SVG Export precision Closed
100%
Task Description

In files exported with the (even PG) exporter I sometimes see values like these: 334.99999999999994 or 570.0000000000001 and very often 12 digits of precision.

To safe on file size, I suggest, that QCAD rounds values on SVG export to eg. three places. When viewed in an ordinary web browser, that will result in a precision of 1 inch / 96dpi / 1000 = 0.00026mm, not? Ends should still meet.

 128 QCAD (main)Feature RequestLow Export to PNG Closed
100%
Task Description

QCAD 3 TP1 cannot export to PNG (or any other bitmap format). QCAD 2 lets set width and height in pixels of the file to be created. The drawing is then scaled proportionally to fit that. Leaving the height value empty will crash QCAD 2. QCAD 2 will also pad the image with an unspecified value that gets (both absolutely and relatively) smaller when the size increases…

QCAD 2 interface is simple and should meet most users needs. It would be nice to calculate the missing value, if only width or height is set. Some padding might be necessary only when antialiasing is done on export.

Setting scale and DPI instead would require more thinking on users side…

 127 WebsiteFeature RequestLow QCAD scripts development Closed
100%
Task Description

The QCAD scripts, that contain a great deal of functionality in the QCAD framework, are so to say open source, in the limited, still powerful, sense that they can be read, inspected and single-handedly adapted to local needs. Wouldn’t it make sense to store these in a public source code repository?

So to allow closer tracking of development, eg. Of course, all of the scripts would then have to know which release of the /kernel/ they require as a support. But that should be a good thing anyways, as soon as a community of framework users arises, wasn’t it?

 124 QCAD (main)Feature RequestLow White lines in SVG Closed
100%
Task Description

In DXF world, as far as I know, colour 7 - white - is magic, in that it shows white in model space on a black background, possibly also black on a light background, and commonly black in paper space irrespectively of background colour. In my opinion, SVG should be considered paper space.

I propose, that white entities get rendered black in SVG files exported from QCAD. What do you think?

 122 QCAD (main)Bug ReportLow SVG of hatch with "hole" Closed
100%
Task Description

A hatch my have “holes”, if it eg. is made of two forms, an inner form, and and outer form, where the outer form is filled while the inner form appears like a window inside of the fill, that lets the background be seen.

QCAD exports such hatches as two SVG paths in one single entity. But the “hole” is lost in the process. I know of two workarounds, that preserve the original intention of the QCAD drawing, both get the same result most of the time, the second one looking more robust and easier to implement:

# draw the outer form clockwise, draw the inner form counterclockwise
# set the “fill-rule:evenodd” attribute on the fill definition of the entity

Drawing a star like in the SVG spec in QCAD actually produces the same picture – so that should be the way to go.

http://www.w3.org/TR/SVG/painting.html#FillRuleProperty

 118 QCAD (main)Bug ReportLow addBoundary and hatchData fails silently Closed
100%
Task Description

In scripting hatchData.addBoundary can use any shape, but only some actually produce something useful, eg. this fails silently:

"ANSI31"

Shouldn’t an exception be thrown?

 117 QCAD (main)Bug ReportLow Use APPID when handling extended entity data to prevent ...Closed
100%
Task Description

Rationale:

Let QCAD handle extended entity data, that is used in the industry to instruct postprocessing applications, e.g. the tooling of a mill or robot.

When I say group code or specs below, I refer to this document http://www.autodesk.com/techpubs/autocad/acad2000/dxf/extended_data_dxf_ab.htm

Current:

In the property editor I can add key value pairs to drawing entities. As in this script:

entity.setProperty(new RPropertyTypeId("MY_KEY"), "MY_VAL");
entity.setProperty(new RPropertyTypeId("MY_REAL"), 123);

In DXF this results in a group code “QCAD” followed by alternating keys and values as strings and typed positions respectively:

[…]
  0
LINE
[…]
1001
QCAD
1000
MY_KEY
1000
MY_VAL
1000
MY_REAL
1040
123.0
[…]

Expected:

From reading the specs, this looks perfectly valid. I’d say though, that QCAD is not right to expect any extended data to follow this pattern. The extended entity data, that I want to recreate eg, looks like this:

[…]
  0
LINE
[…]
1001
MY_DATA
1000
MY_FOO: some text
1000
MY_BAR: 1.250000
[…]

That is: a group code, followed by some string values. Notice that the (limited) typing facilities mentioned in the spec are not used, but the application relies on its own peculiar parsing. The same group code appears in the head of the document as an APPID:

[…]
  0
APPID
  2
MY_DATA
 70
     0
  0
[…]

Proposed:

I suggest, that QCAD uses APPIDs to group extended data. Otherwise data loss may occur. In order to not have to maintain a table of known APPIDs, that tells how to parse their extended data, I further suggest that QCAD not expect extended data to follow a “key value” pattern but an “APPID entries” pattern. Here too data would be lost, if there was an odd number of entries in the extended table and QCAD insisted on its own approach.

Within the specs, deep trees could be constructed with the use of the control string (code 1002, { and }), and the propertyEditor would become a nightmare;) So I propose, that QCAD might parse only extended data with its own APPID in key value pairs, and data with other APPIDs as just an ordered list of entries. (In ECMAscript an array will have to be used, as object properties do not keep sequence.)

 103 ECMAScriptFeature RequestLow Runtime reload script Closed
100%
Task Description

As of TP1, a script once loaded into the runtime, does reflect changes to the file it was loaded from only after a restart of the whole of QCAD. This adds a considerable time overhead to developing scripts. Therefore I want to suggest a reload mechanism, that works kind of like the one known from a web browser.

As there is no clear separation between users custom scripts and ribbonsoft supplied scripts, checking the modification time for every access to any script might prove a performance hit.

Possibly a user script can be written, to invalidate another certain script and have the runtime reload it from file? I could add that to my menu.

Or as some magic, that can be written to “MyAction.init()”?

 92 QCAD (main)Bug ReportLow Scaled printing and line-widths Closed
100%
Task Description

When printing with a scale, eg. 1:10, line-widths are scaled too. They should not. 1) they become very faint in the printout, 2) line-width in CAD carries extra information (Andrew told me:)

 94 QCAD (main)Feature RequestVery Low Application window name Closed
100%
Task Description

It is common practice in MDI apps to use the title of the active tab for the main window. Right now this is always “QCAD”. It would be better if it reflected the name of the drawing in the currently active tab.

 93 QCAD (main)Feature RequestVery Low Per drawing Quick SVG Export settings Closed
100%
Task Description

A single drawing has an array of options regarding dimension font-size, printout-scale etc. It would be nice to also save Quick SVG Export settings, as can be specified in the Advanced Export Dialogue or in the Application Preferences Dialogue, with each drawing.

Showing tasks 51 - 68 of 68 Page 2 of 2 - 1 - 2

Available keyboard shortcuts

Tasklist

Task Details

Task Editing