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 TypeSeverity  ascSummaryStatusProgress
 66 QCAD (main)Bug ReportLow Warnings to fix Closed
100%
Task Description

Fix warning on start:
Warning: RGuiAction::getByScriptFile: no action found: “scripts/Snap/Coordinate/Coordinate.js”

 67 QCAD (main)Bug ReportLow Linux: New file is saved in wrong format Closed
100%
Task Description

Affected OS: OpenSUSE, Ubuntu

  1. File → New
  2. File → Save As, name: “simple” (without extension, file type is DWG by default) → file is save as DXF instead of DWG

behavior under Mac OS X seems to be correct (file dialog adds extension based on chosen filter)

 69 TestsFeature RequestLow example file generator Closed
100%
Task Description

example file generator: adjust the print settings automatically, so the example file can be immediately printed to the chosen paper format / orientation without having to adjust the scale / offset

 70 QCAD (main)Bug ReportLow 64bit Closed
100%
Task Description

ECMAScript engine (garbage collector) crashes on Mac OS X and Linux 64bit if QCAD binary is compiled as a 64bit binary.

 72 QCAD (main)Bug ReportLow Print Preview, MDI: settings not saved Closed
100%
Task Description

Print preview settings are not saved if one change the drawing without closing the preview

  1. create 2 new drawings
  2. switch both to print preview
  3. set the scale in the actual drawing to 1:5
  4. switch to the other drawing
  5. switch back
  6. the scale is still 1:1
 74 QCAD (main)Bug ReportLow Crash while generating example drawings  Closed
100%
Task Description

openSUSE 11.4, 32bit

Most likely occurred while getting printer information.
Possibly connected to switching desktops while script was running.

Linux: 2011-05-11 16.08:09 RGraphicsViewQt::decorateBackground()

Thread [1] 10040 (Suspended : Signal : SIGPIPE:Broken pipe)	
	__kernel_vsyscall() at 0xffffe424	
	send() at 0xb51825b8	
	0xa95298b2	
	httpFlushWrite() at 0xa9529c21	
	0xa952bcb8	
	cupsSendRequest() at 0xa9542470	
	cupsDoIORequest() at 0xa9542bc7	
	cupsDoRequest() at 0xa9542f0b	
	0xa9521d7f	
	cupsGetDests2() at 0xa95235d5	
	cupsGetDests() at 0xa95239a3	
	0xb5ad5153	
	0xb5a12133	
	0xb5a28344	
	0xb5a2b78c	
	QPrinter::init() at 0xb5a2d4ee	
	QPrinter::QPrinter() at 0xb5a2f01f	
	QtScriptShell_QPrinter::QtScriptShell_QPrinter() at 0xb0489e29	
	qtscript_QPrinter_static_call() at 0xb00463ba	
	0xb6bd7f88	
	0xb6ac7c97	
	0xb6a91114	
	0xa9582390	
	0xb6a423e3	
	0xb6af06e0	
	0xb6ac201e	
	0xb6be0cd3	
	0xb6be11a9	
	QMetaObject::metacall() at 0xb5478c83	
	QMetaObject::activate() at 0xb5489134	
	RGraphicsViewQt::decorateBackground() at moc_RGraphicsViewQt.cpp:121 0x8cfbcc6	
	RGraphicsViewQt::paintDocument() at RGraphicsViewQt.cpp:510 0x8cee2e5	
	RGraphicsViewQt::paintEvent() at RGraphicsViewQt.cpp:216 0x8cec909	
	QWidget::event() at 0xb58da67d	
	RGraphicsViewQt::event() at RGraphicsViewQt.cpp:796 0x8cef99e	
	QApplicationPrivate::notify_helper() at 0xb5871d7c	
	QApplication::notify() at 0xb5875b64	
	0xb693e301	
	QInternal::activateCallbacks() at 0xb5356dd3	
	QCoreApplication::notifyInternal() at 0xb5472123	
	QWidgetPrivate::drawWidget() at 0xb58d400d	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d4b42	
	QWidgetPrivate::drawWidget() at 0xb58d3d1f	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d4b42	
	QWidgetPrivate::drawWidget() at 0xb58d3d1f	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d4b42	
	QWidgetPrivate::drawWidget() at 0xb58d3d1f	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d4b42	
	QWidgetPrivate::drawWidget() at 0xb58d3d1f	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d4b42	
	QWidgetPrivate::drawWidget() at 0xb58d3d1f	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d4b42	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::drawWidget() at 0xb58d3d1f	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d4b42	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::paintSiblingsRecursive() at 0xb58d49fc	
	QWidgetPrivate::drawWidget() at 0xb58d3d1f	
	0xb5acfffe	
	QWidgetPrivate::syncBackingStore() at 0xb58ca7e2	
	QWidget::event() at 0xb58daf74	
	QMainWindow::event() at 0xb5d2c6d5	
	RMainWindowQt::event() at RMainWindowQt.cpp:532 0x8cf54c3	
	QApplicationPrivate::notify_helper() at 0xb5871d7c	
	QApplication::notify() at 0xb5875b64	
	QCoreApplication::notifyInternal() at 0xb547215b	
	QCoreApplicationPrivate::sendPostedEvents() at 0xb5473457	
	QCoreApplication::sendPostedEvents() at 0xb547363d	
	0xb54a2344	
	g_main_context_dispatch() at 0xb4af3509	
	0xb4af3d10	
	g_main_context_iteration() at 0xb4af3fce	
	QEventDispatcherGlib::processEvents() at 0xb54a2741	
	0xb5932a55	
	QCoreApplication::processEvents() at 0xb54738e9	
	0xb6930965	
	QScriptEngineAgentPrivate::atStatement() at 0xb6bc297b	
	0xb6a41232	
	0xb6a8d39a	
	0xa8c5fbee	
	0xb6a423e3	
	0xb6af06e0	
	0xb6ac201e	
	QScriptValue::call() at 0xb6bd2e67	
	REcmaShellActionAdapter::beginEvent() at REcmaShellActionAdapter.cpp:149 0x8b897be	
	RScriptHandlerEcma::createActionApplicationLevel() at RScriptHandlerEcma.cpp:821 0x87641c2	
	RScriptHandler::triggerActionApplicationLevel() at RScriptHandler.cpp:52 0x8e15c44	
	RGuiAction::slotTrigger() at RGuiAction.cpp:587 0x8dea719	
	RGuiAction::qt_metacall() at moc_RGuiAction.cpp:86 0x8e32de1	
	QMetaObject::metacall() at 0xb5478c83	
	QMetaObject::activate() at 0xb5489134	
	QAction::triggered() at 0xb5869d99	
	QAction::activate() at 0xb586b48f	
	0xb5d550c0	
	0xb5d5b485	
	QMenu::mouseReleaseEvent() at 0xb5d5d65d	
	QtScriptShell_QMenu::mouseReleaseEvent() at 0xb0432feb	
	QWidget::event() at 0xb58da629	
	QMenu::event() at 0xb5d5aec4	
	QtScriptShell_QMenu::event() at 0xb043621b	
	QApplicationPrivate::notify_helper() at 0xb5871d7c	
	QApplication::notify() at 0xb58772c4	
	QCoreApplication::notifyInternal() at 0xb547215b	
	QApplicationPrivate::sendMouseEvent() at 0xb5875152	
	0xb59068fc	
	QApplication::x11ProcessEvent() at 0xb5905d26	
	0xb5932f04	
	g_main_context_dispatch() at 0xb4af3509	
	0xb4af3d10	
	g_main_context_iteration() at 0xb4af3fce	
	QEventDispatcherGlib::processEvents() at 0xb54a2741	
	0xb5932a55	
	QEventLoop::processEvents() at 0xb547131d	
	QEventLoop::exec() at 0xb54715aa	
	QCoreApplication::exec() at 0xb5473701	
	qtscript_QCoreApplication_static_call() at 0xb0a9c4b7	
	0xb6bd813c	
	0xb6ac1f68	
	0xb6a9164c	
	0xb11c9f5c	
	0xb6a44262	
	0xb6a445f7	
	0xb6bb0f92	
	QScriptEngine::evaluate() at 0xb6bba46f	
	RScriptHandlerEcma::doScript() at RScriptHandlerEcma.cpp:677 0x876330c	
	RScriptHandler::init() at RScriptHandler.cpp:31 0x8e15a46	
	main() at main.cpp:151 0x875d23d	
 75 QCAD (main)Bug ReportLow print dialog doesn't open (Linux / KDE) Closed
100%
Task Description
  1. print preview
  2. button “print...” → dialog doesn’t open, no crash, no warnings

last console output:

Debug:    Print.prototype.printPage: rect:  QRectF(-40.0395,-149.529 168.2x237.8) 
 76 QCAD (main)Bug ReportLow PDF Export: add extension Closed
100%
Task Description

Add file extension .pdf automatically if omitted by user.

 78 QCAD (main)TaskLow Linux deployment: tar.gz Closed
100%
Task Description

if possible, extend create_makeself script to create a tar.gz in addition to the executable installer, so we have both in the end.

 79 QCAD (main)Bug ReportLow SUSE binary crashes under Fedora Closed
100%
Task Description
  • during the start up
  • last info from splash screen: LibraryBrowser: Directory: metric
./qcad: line 5:  2321 Segmentation fault      (core dumped)
LD_LIBRARY_PATH=/home/martin/opt/qcad-3.0.0-tp1-prof-linux /home/martin/opt/qcad-3.0.0-tp1-prof-linux/qcad-bin $*
(gdb) bt
#0  0x03180194 in __strncmp_ssse3 () from /lib/libc.so.6
#1  0x08c7741e in __xmlParserInputBufferCreateFilename ()
#2  0x04333e04 in xmlParserInputBufferCreateFilename ()
   from /usr/lib/libxml2.so.2
#3  0x043bc9c0 in xmlNewTextReaderFilename () from /usr/lib/libxml2.so.2
#4  0x041fde98 in ?? () from /usr/lib/libgnomevfs-2.so.0
#5  0x041fe381 in gnome_vfs_mime_get_value () from /usr/lib/libgnomevfs-2.so.0
#6  0x041fbb38 in gnome_vfs_mime_get_icon () from /usr/lib/libgnomevfs-2.so.0
#7  0x040d0ab6 in gnome_icon_lookup () from /usr/lib/libgnomeui-2.so.0
#8  0x040d1037 in gnome_icon_lookup_sync () from /usr/lib/libgnomeui-2.so.0
#9  0x0240ee92 in ?? ()
   from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtGui.so.4
#10 0x026a0658 in QFileIconProvider::icon(QFileInfo const&) const ()
   from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtGui.so.4
#11 0x025cd467 in ?? ()
   from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtGui.so.4
#12 0x025c2f89 in ?? ()
   from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtGui.so.4
#13 0x025c3ba4 in QFileSystemModel::index(QString const&, int) const ()
   from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtGui.so.4
#14 0x025c7289 in QFileSystemModel::sort(int, Qt::SortOrder) ()
   from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtGui.so.4
#15 0x025bc86c in ?? ()
---Type <return> to continue, or q <return> to quit---
   from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtGui.so.4
#16 0x025c6d68 in QFileSystemModel::qt_metacall(QMetaObject::Call, int, void**)
    () from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtGui.so.4
#17 0x08881dc2 in RFileSystemModel::qt_metacall(QMetaObject::Call, int, void**)
    ()
#18 0x02cd3c83 in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtCore.so.4
#19 0x02cdede6 in QMetaCallEvent::placeMetaCall(QObject*) ()
   from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtCore.so.4
#20 0x02ce09a0 in QObject::event(QEvent*) ()
   from /home/martin/opt/qcad-3.0.0-tp1-prof-linux/libQtCore.so.4
#21 0x025c07c3 in QFileSystemModel::event(QEvent*) ()
 80 DocumentationTaskLow API Doc Organization Closed
100%
Task Description

Rename everything from “RSFramework” to “QCAD Application Framework” (qcad_application_framework.pro / dox / doxyfile ...).

Add header with copyright / link to homepage.

Structure of documentation:

  • Entry (main) page
    • API (links to API doc for modules):
      • math
      • core
      • gui
      • ...
    • ECMAScript Developers (links to intros and examples):
      • ECMAScript introduction
      • ECMAScript module
 81 QCAD (main)Bug ReportLow Print Preview Options Toolbar not closed when file is c ...Closed
100%
Task Description
  1. File → New
  2. File → Print Preview
  3. File → Close

The print preview (options tool bar) is still opened, can’t be closed and stays forever there, even if a new file is opened.

 82 ECMAScriptTaskLow rename some ECMAScript classes Closed
100%
Task Description

New → FileNew
Close → FileClose
...

 83 QCAD (main)TaskLow Part Library - Find Files / Generate Files Closed
100%
Task Description

Create and extend part library.

Find Existing Files

Find files under a suitable license (e.g. creative commons) for inclusion into the QCAD part library:

  • DXF / DWG files
  • SVG files which we could convert to DXF with a command line converter or InkScape if possible.
    • DXF files produced from SVG / with InkScape contain a lot of polylines with small line segments which interpolate arcs and circles.
      • A ‘Convert Interpolating Line Segments’ tool could be used to convert line segments into arcs, ellipse arcs and circles.
        1. for c in 0...number of nodes: create arc with v[c], v[c+1], v[c+2]
        2. check if v[c+i] is also on arc for c+i<number of nodes
        3. if n nodes have been found which are all on arc and all segments have almost the same length and are relatively small compared to the whole drawing, convert them to arc
      • A ‘Simplify Polyline’ tool could be used to remove nodes that don’t add a lot of information (almost straight connected line segments).

Parameterized Items

  • Parameterized items use XDATA to let the script behind know which entities need to be changed in which way.
  • The user can choose from all supported parameters shown in a table.
  • The user can choose from options:
    • Create dimensioning
    • Create auxiliary lines
    • Create center line
    • Scaling
    • Sectional drawing
    • Hatching space
  • Disadvantage compared to automatically generated items:
    • It is not possible to add an item with it’s parameters to favorites, e.g. some specific screw often used in a drawing. To make that possible, the parameters has to be saved, too.

Links

[mostly old] Generate Items Automatically

  • Research possibilities to turn data sheets into library parts, for example attached data sheet.
    • Ideas:
      • use an XML file for data entry, use an ECMAScript to generate symbols based on the XML file.
      • Instead of writing a complete ECMAScript file to generate the geometry, it might be possible to simply draw one item and attach XDATA to the entities for information on how the item can be scaled, stretched, etc.
        • E.g. a line might have the XDATA “transform” with value “translate(length-5, 0)” which would mean that the line has to be moved ‘length-5’ to the right, where ‘length’ is the current value of the ‘length’ parameter in the XML data file. Similarly, there could be functions like “moveEndpoint”, “moveStartpoint” or even “rotate”, “mirror”, etc.
      • XML file could contain all data and refer to a .js file that is used to generate the specific drawing. E.g.:
<!-- XML document defines a name template to use for the generated parts: -->
"DIN_912_M%1_L%2""din_912.js""DXF"
	<!-- Attributes to use for the name template -->
	"d"
	"L"
 
	<!-- For each type of the specific part, we define some parameters that 
		are identical for that type (here M3): -->
	"3""5.5""2.5""3""18"
		<!-- For each of these elements, a DXF file is generated. This DXF file 
			is generated with file name "DIN_912_M3_L22.dxf" and parameters d="3" D="5.5" 
			s="2.5" k="3" b="18" L="22": -->
		"var1"
		"var2"
		"60"
 
 
	"M4""7""3""4""3""20"
		"var1"
 
 
	"var1"
		"22"
		"25"
		"30"
		"35"
		"40"
		"45"
		"50"
 
 
	"var2"
		"70"
 
 
 
 84 QCAD (main)Bug ReportLow SIGABORT while loading DXF file Closed
100%
Task Description
  • while loading the attached DXF file
  • the file can be loaded with DraftSight
Thread [1] 7335 (Suspended : Signal : SIGABRT:Aborted)	
	__kernel_vsyscall() at 0xffffe424	
	raise() at 0xb4efc8df	
	abort() at 0xb4efe220	
	RMainWindow::messageHandler() at RMainWindow.cpp:63 0x8e13d4a	
	qt_message_output() at 0xb5356f65	
	0xb53571ab	
	qFatal() at 0xb53572c9	
	qt_assert_x() at 0xb535730c	
	QList<QSharedPointer<RShape> >::at() at qlist.h:456 0x877f7a4	
	RShape::order() at RShape.cpp:699 0x8e63df0	
	RHatchData::order() at RHatchData.cpp:841 0x8d3ee1c	
	RDwgHatchImporter::import() at RDwgImporter.cpp:891 0x8cdb729	
	RDwgImporter::importEntity() at RDwgImporter.cpp:1,705 0x8ce3eae	
	RDwgImporter::importEntities() at RDwgImporter.cpp:1,625 0x8ce320e	
	RDwgImporter::importEntities() at RDwgImporter.cpp:1,602 0x8ce2d98	
	RDwgImporter::importFile() at RDwgImporter.cpp:1,093 0x8cdce6e	
	RDocumentInterface::importFile() at RDocumentInterface.cpp:938 0x8dead8f	
	REcmaDocumentInterface::importFile() at REcmaDocumentInterface.cpp:2,706 0x88961e8	
	0xb6bd813c	
	0xb6ac1f68	
	0xb6a9164c	
	0xa95c0139	
	0xb6a423e3	
	0xb6af06e0	
	0xb6ac201e	
	QScriptValue::call() at 0xb6bd2e67	
	REcmaShellActionAdapter::beginEvent() at REcmaShellActionAdapter.cpp:149 0x8ba1dc2	
	RScriptHandlerEcma::createActionApplicationLevel() at RScriptHandlerEcma.cpp:832 0x8769b80	
	RScriptHandler::triggerActionApplicationLevel() at RScriptHandler.cpp:52 0x8e30e60	
	RGuiAction::slotTrigger() at RGuiAction.cpp:592 0x8e05935	
	RGuiAction::qt_metacall() at moc_RGuiAction.cpp:86 0x8e4dffd	
	QMetaObject::metacall() at 0xb5478c83	
	QMetaObject::activate() at 0xb5489134	
	QAction::triggered() at 0xb5869d99	
	QAction::activate() at 0xb586b48f	
	0xb5d550c0	
	0xb5d5b485	
	QMenu::mouseReleaseEvent() at 0xb5d5d65d	
	QtScriptShell_QMenu::mouseReleaseEvent() at 0xb0432feb	
	QWidget::event() at 0xb58da629	
	QMenu::event() at 0xb5d5aec4	
	QtScriptShell_QMenu::event() at 0xb043621b	
	QApplicationPrivate::notify_helper() at 0xb5871d7c	
	QApplication::notify() at 0xb58772c4	
	QCoreApplication::notifyInternal() at 0xb547215b	
	QApplicationPrivate::sendMouseEvent() at 0xb5875152	
	0xb59068fc	
	QApplication::x11ProcessEvent() at 0xb5905d26	
	0xb5932f04	
	g_main_context_dispatch() at 0xb4af3509	
	0xb4af3d10	
	g_main_context_iteration() at 0xb4af3fce	
	QEventDispatcherGlib::processEvents() at 0xb54a2741	
	0xb5932a55	
	QEventLoop::processEvents() at 0xb547131d	
	QEventLoop::exec() at 0xb54715aa	
	QCoreApplication::exec() at 0xb5473701	
	qtscript_QCoreApplication_static_call() at 0xb0a9c4b7	
	0xb6bd813c	
	0xb6ac1f68	
	0xb6a9164c	
	0xb09fdf5c	
	0xb6a44262	
	0xb6a445f7	
	0xb6bb0f92	
	QScriptEngine::evaluate() at 0xb6bba46f	
	RScriptHandlerEcma::doScript() at RScriptHandlerEcma.cpp:681 0x8768c7c	
	RScriptHandler::init() at RScriptHandler.cpp:31 0x8e30c62	
	main() at main.cpp:152 0x876277e	
 86 QCAD (main)Feature RequestLow Block arrays Closed
100%
Task Description

Support arrays of block inserts.

 88 QCAD (main)Bug ReportLow Duplicate menu Closed
100%
Task Description

Block - Explode

 89 QCAD (main)Bug ReportLow Open file from Finder (Mac) Closed
100%
Task Description

Double clicking a DWG file in Finder opens QCAD but not the file

 90 QCAD (main)Bug ReportLow SVG Export group nesting Closed
100%
Task Description

The SvgExporter opens a “group” for some entities, but never closes that group. The resulting nesting can get quite deep and does not conform to the original. I tentatively patched the script as below:

--- SvgExporter.js-orig	2011-05-23 10:55:17.239998578 +0200
+++ SvgExporter.js	2011-05-23 10:55:17.239998578 +0200
@@ -226,6 +226,11 @@
 //        RFileExporterAdapter.prototype.exportEntity.call(this, this.realEntity
 //                .data(), false);
 //    }
+    
+    // dimensions and block references are grouped, close the group tag here
+    if (isDimension(entity) || isBlockReferenceEntity(entity)) {
+        this.writeEndElement();
+    }
 };
 
 SvgExporter.prototype.endEntity = function() {

There might be a better way, but that is what I came up with on short notice.

 91 QCAD (main)Feature RequestLow linux start shell script enhancement Closed
100%
Task Description

The script in the application directory only works when called from within this directory like that “./qcad”. I suggest below alternative, that can be called from any place, as above and also with an absolute path, eg “/opt/qcad-3.0.0-tp1-prof-linux/qcad”:

#!/bin/sh

EXE=${0##*/}
DIR=${0%$EXE}
LD_LIBRARY_PATH=${DIR} ${DIR}/qcad-bin $@


Can only post anonymously, Peter

 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:)

 95 QCAD (main)Feature RequestLow Part Library: RDF Closed
100%
Task Description

Allow for multiple authors of one item.

This can be achieved by replacing the rs:author attribute of tag rdf:Description with:

 
 
    "John Doe"
    "Jane Doe"
 
 
 96 QCAD (main)Feature RequestLow SVG Import Closed
100%
Task Description

Complete SvgImporter.js and SvgImport.js

  1. Implement SvgImporter.prototype.importFile to import the SVG file with the given fileName. Reading only all path data without any attributes or transformations is fine as a first step. SvgImporter.prototype.importFile() currently imports one hard coded path data as proof of concept.
  2. Implement SvgImport.prototype.beginEvent() to show a file open dialog that lets the user choose an SVG file to import.
  3. Support SVG as file format for part library items through SvgImporter

This should be enough to import any SVG file in library/symbols

 98 QCAD (main)Bug ReportLow Load/Save Templates Closed
100%
Task Description

Edit–>Application_Preferences–>Load/Save–>Templates: Click in add button....Crash

 99 QCAD (main)Bug ReportLow Library Browser exception Closed
100%
Task Description

Probably just a missing var modTimeTo; ?

Uncaught exception at /users/andrew/data/RibbonSoft/projects/QCAD3/trunk/scripts/Widgets/LibraryBrowser/LibraryBrowser.js:674: ReferenceError: Can't find variable: modTimeTo
674	            kwIds, fileTypes, author, license, modTimeFrom, modTimeTo, offset, limit);
 100 QCAD (main)Bug ReportLow Library Browser Search Closed
100%
Task Description

Search does not work for all items (e.g. ‘moose’ (no results), ‘man’ (does not find man.svg))

 101 QCAD (main)Bug ReportLow Export to PDF Closed
100%
Task Description

1)Click Print Preview
2)Click Export to PDF 3)Crash!!!

 102 QCAD (main)Bug ReportLow View Closed
100%
Task Description

View–>Edit View or Pick View Crash!!

 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()”?

 104 QCAD (main)Bug ReportLow Property Editor: entity type filter not applied to colo ...Closed
100%
Task Description

Entity filter is not applied to combo box type properties.

 106 QCAD (main)Bug ReportLow DWG file loaded incorrect Closed
100%
Task Description

QCAD drawing dump:

RDocument("ba3bc58", RStorage("bb7aa28", 
current block ID: 22
current layer ID: 21
current view ID: -1
drawing unit: 0
bounding box: RBox(RVector(invalid)  -  RVector(invalid) )  
 RLayer(RObject(id: 21, document: "0xba3bc58", address: "0xbc2dbb0", undone: 0), name: "0", color: RColor(RGBA: 0, 255, 0, 255) , lineweight:  -3 , linetype:  2 )  
 RBlock(RObject(id: 22, document: "0xba3bc58", address: "0xbb45d10", undone: 0), name: "*Model_Space", origin: RVector(0, 0, 0) ) 
 RBlock(RObject(id: 23, document: "0xba3bc58", address: "0xbb442c0", undone: 0), name: "*MODEL_SPACE", origin: RVector(0, 0, 0) ) 
 RBlock(RObject(id: 24, document: "0xba3bc58", address: "0xbc2dc00", undone: 0), name: "*PAPER_SPACE", origin: RVector(0, 0, 0) ) 
 lastTransactionId: -1
variables: 
	"PageSettings/Scale": QVariant(QString, "1:1") 
 Known variables (DWG): 
...

 ) RSpatialIndex()  

 107 QCAD (main)Bug ReportLow Layer names should be case insensitive Closed
100%
Task Description

Layer names should be case insensitive

 108 QCAD (main)Feature RequestLow Library Browser keywords, tags, improvments Closed
100%
Task Description

Sample RDF File

'1.0'
<!-- copyright 2010 by RibbonSoft GmbH -->
"http://www.w3.org/1999/02/22-rdf-syntax-ns#""http://www.ribbonsoft.com/rdf/library"
  "Public Domain"
 
      "en""Bike"
      "de""Fahrrad"
 
 
 
        "http://www.clker.com"
 
 
 
 
        "Giant"
        "MTB 327"
        "en_US"
 
      "en"
        "bike"
        "vehicle"
        "outline"
        "architecture"
 
      "de"
        "fahrrad"
        "zweirad"
 
      "de_CH"
        "velo"
 
 
 
 

Open

Postponed

  • To discuss: Save the license as tag instead of a special field. Pure tag searching is awesome fast. The more special cases that have to be handled different, the slower the search. License tags are quite unique. If something is tagged with “GNU”, it is very likely that the license is meant (expect for the animal named gnu). Same for BSD, Public Domain and CC licenses.

Done

  • Mark (gray out) tags that are not available anymore due to the already chosen tags.
  • Handle double click / rename
    • if a RDF is present, change the item title
    • if no RDF is present, add a new RDF and set the the title there
  • Edit Meta Data dialog
    • add title (both dialog and newly created RDF files)
  • Stemmer: Stemming is usually done at the indexing stage.
    • additional field in table keywords (type: 0=word, 1=stem)
    • don’t show stems in completer and tags lists
  • Provide “radio button” tags, e.g. “license” or “modification time” cannot have more than one selection.
  • rebuild (clear) library browser DB on start if language was changed
  • Provide meta information for directories
    • The idea: One can have a directory and assign the author “Donald”. Every item in this directory will have assigned the author “Donald” automatically.
    • This is all RDF based, not editable by the user other than by editing the RDF file.
    • Problems
      • How can that be shown to the user? E.g. someone tags a directory called “architecture” by mistake with “mechanical”. Every item in this directory will now be found for “mechanical”, and will confuse the user.
        • → not shown to the user
      • Author and license could be overridden (if wanted) be setting them in a item. But what about tags? Tags actually just can be added, not replaced. It that comprehensible for the user?
        • → tags that are set on the directory level apply to all items in that directory
    • Stored in a directory named “_META”.
    • Inside “_META”, there’s the RDF file called “meta.rdf”.
    • Let’s keep this simple:
      • When an item’s RDF is parsed, the RDF of the directory is parsed first, then that data is replaced / extended by the item’s RDF. This way we only have to change things in one place (RDF parsing). DB, queries, etc. remain the same.
  • the quick info (shown on item mouse over) should show additional information
    • the license
    • the author
  • GUI changes according to the attached file
    • every tab should have its own list view (based on RListView) / model / splitter
    • RListView, LibraryBrowserView: use signal / slots mechanism instead of inheritance

Automatic Translation

Tags

  • RDF: add title
    • add item title and use it instead of the file name (avoids “bear01”)
  • add item locale
  • add authors as tag
  • add license as tag
  • perspectives (top, side, front)
  • make it possible to easily combine common tags, e.g. “DIN-912”, “top viewing direction”, “high level of details”
    • Tags are searched with exact match (in opposite to the “normal” keyword search, which is “*keyword*”).
    • Drawings have additional tags to match this exact search, e.g. a drawing with the tag “DIN-912” has also the tag “DIN” assigned. These additional tags are made programmatically while parsing the RDF.
    • [old] This could be achieved by defining some standardized tags with a special meaning, e.g. viewing direction “view:top”, “view:front”, “view:side”; level of detail “lod:low”, “lod:medium”, “lod:high”. The user interface could show these special tags as filters for the current view or search view.
    • see also http://www.chefkoch.de/rezepte/ for an interesting approach to the problem

Favorites

  • favorites (saved in .ini file as list of paths)

Table "keyword"

COLUMN_NAME	TYPE_NAME	
id	        INTEGER	
text	        VARCHAR	
locale_id       INTEGER

Table "locale"

COLUMN_NAME	TYPE_NAME
id	        INTEGER
text	        VARCHAR
  • “locale independent”, always included in search

Filename based Keywords

  • filter filename
    • replace ‘_’ with " "
    • replace ‘-’ with " " leave “-”
    • replace numbers [0-9] with “”
 109 QCAD (main)Bug ReportLow Crash when start in Ubuntu 11.04 x64 Closed
100%
Task Description

Hi, when strat Qcad3 first time and close the info window, the software crash. I copy the command line:

$ '/home/gabriel/Descargas/qcad-3.0.0-tp1-prof-linux/qcad' 
/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: clase ELF errónea: ELFCLASS64

(<unknown>:3211): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so

/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: clase ELF errónea: ELFCLASS64

(<unknown>:3211): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so


(<unknown>:3211): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so: clase ELF errónea: ELFCLASS64

(<unknown>:3211): Gtk-WARNING **: Loading IM context type 'ibus' failed

(<unknown>:3211): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so: clase ELF errónea: ELFCLASS64

(<unknown>:3211): Gtk-WARNING **: Loading IM context type 'ibus' failed
/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: clase ELF errónea: ELFCLASS64

(<unknown>:3211): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so

/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: clase ELF errónea: ELFCLASS64

(<unknown>:3211): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so


(<unknown>:3211): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so: clase ELF errónea: ELFCLASS64

(<unknown>:3211): Gtk-WARNING **: Loading IM context type 'ibus' failed
CWD set to:  "/home/gabriel/Descargas/qcad-3.0.0-tp1-prof-linux" 
library path:  "/home/gabriel/Descargas/qcad-3.0.0-tp1-prof-linux/plugins" 
Debug:    Init script plugins... 
Warning:  MDI child is NULL 
Warning:  MDI child is NULL 
Warning:  RGuiAction::getByScriptFile: no action found: "scripts/Snap/Coordinate/Coordinate.js" 
Debug:    Hatch.init 
Debug:    Text.init 
Debug:    TIMER:  1492 ms -  "loading and initializing plugins" 
Warning:  RScriptHandlerEcma::doScript: engine busy: aborting evaluation of script: 

 "scripts/File/New/New.js" 

 
Warning:  QScriptEngine::newVariant(): changing class of non-QScriptObject not supported
Debug:    Creating storage... 
Debug:    Creating spatial index... 
Debug:    Creating document... 
Debug:    Creating MDI child... 
Debug:    Initialize Viewports... 
Debug:    Init graphics view... 
Debug:    Init scrollbars... 
Debug:    Init rulers... 
Debug:    Init idle and default actions... 
Debug:    Show MDI child... 
Debug:    Init event handler... 
Debug:    Setting auto snap... 
Warning:  QScriptEngine::newVariant(): changing class of non-QScriptObject not supported
Warning:  QScriptEngine::newVariant(): changing class of non-QScriptObject not supported
/usr/lib/gio/modules/libgiobamf.so: clase ELF errónea: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgiobamf.so
/usr/lib/gio/modules/libgvfsdbus.so: clase ELF errónea: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so

(<unknown>:3211): Gtk-WARNING **: Error loading theme icon 'window-close' for stock: No se ha podido cargar el módulo de carga de imágenes: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: clase ELF errónea: ELFCLASS64

(<unknown>:3211): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

** (<unknown>:3211): CRITICAL **: murrine_style_draw_render_icon: assertion `base_pixbuf != NULL' failed

(<unknown>:3211): Gtk-CRITICAL **: IA__gtk_style_render_icon: assertion `pixbuf != NULL' failed

(<unknown>:3211): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion `GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:3211): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion `GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:3211): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion `GDK_IS_PIXBUF (pixbuf)' failed
Segmentation fault
gabriel@gabriel-Studio-1558:~/Descargas/qcad-3.0.0-tp1-prof-linux$ '/home/gabriel/Descargas/qcad-3.0.0-tp1-prof-linux/qcad' 
/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: clase ELF errónea: ELFCLASS64

(<unknown>:3380): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so

/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: clase ELF errónea: ELFCLASS64

(<unknown>:3380): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so


(<unknown>:3380): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so: clase ELF errónea: ELFCLASS64

(<unknown>:3380): Gtk-WARNING **: Loading IM context type 'ibus' failed

(<unknown>:3380): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so: clase ELF errónea: ELFCLASS64

(<unknown>:3380): Gtk-WARNING **: Loading IM context type 'ibus' failed
/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: clase ELF errónea: ELFCLASS64

(<unknown>:3380): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so

/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: clase ELF errónea: ELFCLASS64

(<unknown>:3380): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so


(<unknown>:3380): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so: clase ELF errónea: ELFCLASS64

(<unknown>:3380): Gtk-WARNING **: Loading IM context type 'ibus' failed
CWD set to:  "/home/gabriel/Descargas/qcad-3.0.0-tp1-prof-linux" 
library path:  "/home/gabriel/Descargas/qcad-3.0.0-tp1-prof-linux/plugins" 
Debug:    Init script plugins... 
Warning:  MDI child is NULL 
Warning:  MDI child is NULL 
Warning:  RGuiAction::getByScriptFile: no action found: "scripts/Snap/Coordinate/Coordinate.js" 
Debug:    Hatch.init 
Debug:    Text.init 
Debug:    TIMER:  1520 ms -  "loading and initializing plugins" 
Warning:  RScriptHandlerEcma::doScript: engine busy: aborting evaluation of script: 

 "scripts/File/New/New.js" 

 
Warning:  QScriptEngine::newVariant(): changing class of non-QScriptObject not supported
Debug:    Creating storage... 
Debug:    Creating spatial index... 
Debug:    Creating document... 
Debug:    Creating MDI child... 
Debug:    Initialize Viewports... 
Debug:    Init graphics view... 
Debug:    Init scrollbars... 
Debug:    Init rulers... 
Debug:    Init idle and default actions... 
Debug:    Show MDI child... 
Debug:    Init event handler... 
Debug:    Setting auto snap... 
Warning:  QScriptEngine::newVariant(): changing class of non-QScriptObject not supported
Warning:  QScriptEngine::newVariant(): changing class of non-QScriptObject not supported
/usr/lib/gio/modules/libgiobamf.so: clase ELF errónea: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgiobamf.so
/usr/lib/gio/modules/libgvfsdbus.so: clase ELF errónea: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so

(<unknown>:3380): Gtk-WARNING **: Error loading theme icon 'window-close' for stock: No se ha podido cargar el módulo de carga de imágenes: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: clase ELF errónea: ELFCLASS64

(<unknown>:3380): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

** (<unknown>:3380): CRITICAL **: murrine_style_draw_render_icon: assertion `base_pixbuf != NULL' failed

(<unknown>:3380): Gtk-CRITICAL **: IA__gtk_style_render_icon: assertion `pixbuf != NULL' failed

(<unknown>:3380): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion `GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:3380): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion `GDK_IS_PIXBUF (pixbuf)' failed

(<unknown>:3380): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion `GDK_IS_PIXBUF (pixbuf)' failed
Segmentation fault
 110 QCAD (main)Bug ReportLow Block list: blocks disappear when showing hatch dialog Closed
100%
Task Description

Block list: blocks disappear when showing hatch dialog

 111 QCAD (main)Feature RequestLow Switch for line width display Closed
100%
Task Description

Switch on / off line width display (display mode between normal and draft)

 112 QCAD (main)Performance IssueLow Slow startup because of Library Browser Closed
100%
Task Description
  • initial start (no library browser DB present)
  • Linux vostro 2.6.37.6-0.5-desktop #1 SMP PREEMPT 2011-04-25 21:48:33 +0200 i686 i686 i386 GNU/Linux
  • DWG / DXF files: 79
  • SVG files: 684
  • RDF files: 729
real    1m37.298s
user    1m35.101s
sys     0m0.806s
 113 QCAD (main)Bug ReportLow Print Preview: page tags Closed
100%
Task Description

page tags / page IDs never shown

 114 QCAD (main)TaskLow Create QCAD Cheat Sheet Closed
100%
Task Description

Cheat Sheet which lists all QCAD tools with icon, key code and explanation

Possibly two versions for Windows / Linux and Mac

 115 QCAD (main)Bug ReportLow DiningTable.js: segfault in RMathLineEdit::isValid() Closed
100%
Task Description
  1. drag-n-drop script “DiningTable” to the drawing, place it somewhere
  2. right-click to finish the action
  3. drag-n-drop script “DiningTable” to the drawing again
Thread [1] 29561 (Suspended : Signal : SIGSEGV:Segmentation fault)	
	RMathLineEdit::isValid() at RMathLineEdit.h:44 0x8a011a9	
	REcmaMathLineEdit::isValid() at REcmaMathLineEdit.cpp:599 0x8a0021a	
	0xb6bd813c	
	0xb6ac1f68	
	0xb6a9164c	
	0xa8b06222	
	0xb6a44262	
	0xb6a466c9	
	0xb6a8db4a	
	0xa6d36360	
	0xb6a423e3	
	0xb6af06e0	
	0xb6ac201e	
	QScriptValue::call() at 0xb6bd2e67	
	REcmaShellActionAdapter::beginEvent() at REcmaShellActionAdapter.cpp:149 0x8bbd222	
	RDocumentInterface::setCurrentAction() at RDocumentInterface.cpp:287 0x8e0906a	
	RScriptHandlerEcma::createActionDocumentLevel() at RScriptHandlerEcma.cpp:780 0x876bd16	
	RGuiAction::slotTrigger() at RGuiAction.cpp:598 0x8e25bd7	
	RGuiAction::qt_metacall() at moc_RGuiAction.cpp:86 0x8e6ee19	
	QMetaObject::metacall() at 0xb5478c83	
	0xb6bec907	
	0xb6beeacb	
	0xb6beee01	
	0xb6ac1f68	
	0xb6a9164c	
	0xa8ce78ee	
	0xb6a423e3	
	0xb6af06e0	
	0xb6ac201e	
	0xb6be0cd3	
	0xb6be11a9	
	QMetaObject::metacall() at 0xb5478c83	
	QMetaObject::activate() at 0xb5489134	
	RGraphicsViewQt::drop() at moc_RGraphicsViewQt.cpp:107 0x8d34d2e	
	RGraphicsViewQt::dropEvent() at RGraphicsViewQt.cpp:997 0x8d28698	
	QWidget::event() at 0xb58daaf6	
	RGraphicsViewQt::event() at RGraphicsViewQt.cpp:808 0x8d27dec	
	QApplicationPrivate::notify_helper() at 0xb5871d7c	
	QApplication::notify() at 0xb58777e4	
	QCoreApplication::notifyInternal() at 0xb547215b	
	0xb5914a25	
	0xb59158fc	
	0xb5918c07	
	QCoreApplicationPrivate::sendThroughApplicationEventFilters() at 0xb54724ea	
	QApplicationPrivate::notify_helper() at 0xb5871cf3	
	QApplication::notify() at 0xb58772c4	
	QCoreApplication::notifyInternal() at 0xb547215b	
	QApplicationPrivate::sendMouseEvent() at 0xb5875152	
	0xb59066b5	
	QApplication::x11ProcessEvent() at 0xb5905d26	
	0xb5932f04	
	g_main_context_dispatch() at 0xb4af3509	
	0xb4af3d10	
	g_main_context_iteration() at 0xb4af3fce	
	QEventDispatcherGlib::processEvents() at 0xb54a2741	
	0xb5932a55	
	QEventLoop::processEvents() at 0xb547131d	
	QEventLoop::exec() at 0xb54715aa	
	0xb5918897	
	QDrag::exec() at 0xb5889fed	
	QDrag::exec() at 0xb588a084	
	qtscript_QDrag_prototype_call() at 0xafe620df	
	0xb6bd813c	
	0xb6ac1f68	
	0xb6a9164c	
	0xaa905c4b	
	0xb6a423e3	
	0xb6af06e0	
	0xb6ac201e	
	QScriptValue::call() at 0xb6bd2e67	
	REcmaShellListView::mouseMoveEvent() at REcmaShellListView.cpp:337 0x8c0bd06	
	QWidget::event() at 0xb58da661	
	QFrame::event() at 0xb5d0c663	
	QAbstractScrollArea::viewportEvent() at 0xb5dabe02	
	QAbstractItemView::viewportEvent() at 0xb5e65d65	
	0xb5dae235	
	QCoreApplicationPrivate::sendThroughObjectEventFilters() at 0xb54725a1	
	QApplicationPrivate::notify_helper() at 0xb5871d53	
	QApplication::notify() at 0xb58772c4	
	QCoreApplication::notifyInternal() at 0xb547215b	
	QApplicationPrivate::sendMouseEvent() at 0xb5875152	
	0xb59066b5	
	QApplication::x11ProcessEvent() at 0xb5905d26	
	0xb5932f04	
	g_main_context_dispatch() at 0xb4af3509	
	0xb4af3d10	
	g_main_context_iteration() at 0xb4af3fce	
	QEventDispatcherGlib::processEvents() at 0xb54a2741	
	0xb5932a55	
	QEventLoop::processEvents() at 0xb547131d	
	QEventLoop::exec() at 0xb54715aa	
	QCoreApplication::exec() at 0xb5473701	
	qtscript_QCoreApplication_static_call() at 0xb0a9c4b7	
	0xb6bd813c	
	0xb6ac1f68	
	0xb6a9164c	
	0xb09fe9e9	
	0xb6a44262	
	0xb6a445f7	
	0xb6bb0f92	
	QScriptEngine::evaluate() at 0xb6bba46f	
	RScriptHandlerEcma::doScript() at RScriptHandlerEcma.cpp:683 0x876b4de	
	RScriptHandler::init() at RScriptHandler.cpp:31 0x8e512fe	
	main() at main.cpp:152 0x876585e	
 116 QCAD (main)Feature RequestLow Show polyline area in property editor Closed
100%
2 Task Description

Show area of closed polyline, hatch, solid fill in property editor.

 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.)

 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?

 119 QCAD (main)Bug ReportLow qcad-3.0.0-tp1-prof-linux.run seams corrupted Closed
100%
Task Description

Hi,

I’m running fedora Release 12 and tried to download and install QCAD 3 TP1.

  • The qcad-3.0.0-tp1-prof-linux.run looks corrupted and can not be opened by the gedit editor and returns the following error message: “gedit has not been able to detect the character coding...
  • Of course when trying to launch qcad from the downloaded and decompressed file qcad-3.0.0-tp1-prof-linux I get the following error message: “./qcad-bin: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14’ not found (required by ./qcad-bin)

Thank you in helping me to get this solved.

Patrick

 120 QCAD (main)Bug ReportLow RE> FS#119 - qcad-3.0.0-tp1-prof-linux.run is corrupted Closed
100%
Task Description

Hi Andrew,

I took some time to probe qcad 3.0.0 TP1 download from Ubuntu and the issue is the same as the one I encountered using Fedora.

For more information I attach, here with, a screenshot of the qcad-3.0.0-tp1-prof-linux-run download.
As we can see it is a scipt file, but at a certain point, visible on the screenshot, the data is corrupted.

// Don t know how to attach the image, I can send it you by Email if desired

Hope this will help you.

Regards,

Patrick
Patrick

 121 QCAD (main)Bug ReportLow qcad-3.0.0-tp1-prof-linux-run  Closed
100%
Task Description

Hi Andrew,

I took the pain of trying to download qcad-3.0.0-tp1-prof-linux-run under Ubuntu even if I was using Fedora.

The issue is the same.

Did you tried it?

Did it worked for you?

Patrick

 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

 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?

 126 QCAD (main)Feature RequestLow Snap to reference points of arcs Closed
100%
Task Description

Snap to reference points does not work for arc entities as one would expect.
The four points on the arc at angles 0,90,180,270 should be reference points (like for circles).

 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?

Showing tasks 201 - 250 of 2561 Page 5 of 52<<First - 3 - 4 - 5 - 6 - 7 - Last >>

Available keyboard shortcuts

Tasklist

Task Details

Task Editing