|
195 | QCAD (main) | Bug Report | Low | SVG PG export scale points | Closed | |
|
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 Report | Low | SVG PG export scale text | Closed | |
|
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 Report | Low | SVG PG export scale hatches | Closed | |
|
Task Description
The SVG PG exporter does not scale hatches.
|
|
192 | QCAD (main) | Bug Report | Low | SVG PG export stroke width should not scale | Closed | |
|
Task Description
When PG exporting to SVG, stroke-widths are scaled with the drawing, while they should not.
|
|
191 | QCAD (main) | Bug Report | Low | SVG PG export text vertical and horizontal alignment | Closed | |
|
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 Report | Low | SVG PG export dimension labels alignment | Closed | |
|
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) | Refactoring | Low | SVG Export entity properties "By Layer" and "By Block" | Closed | |
|
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) | Refactoring | Low | SVG Export precision | Closed | |
|
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 Request | Low | Export to PNG | Closed | |
|
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 | Website | Feature Request | Low | QCAD scripts development | Closed | |
|
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 Request | Low | White lines in SVG | Closed | |
|
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 Report | Low | SVG of hatch with "hole" | Closed | |
|
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 Report | Low | addBoundary and hatchData fails silently | Closed | |
|
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 Report | Low | Use APPID when handling extended entity data to prevent ... | Closed | |
|
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 | ECMAScript | Feature Request | Low | Runtime reload script | Closed | |
|
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()”?
|
|
94 | QCAD (main) | Feature Request | Very Low | Application window name | Closed | |
|
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 Request | Very Low | Per drawing Quick SVG Export settings | Closed | |
|
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.
|
|
92 | QCAD (main) | Bug Report | Low | Scaled printing and line-widths | Closed | |
|
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:)
|