[Qgis-developer] Make QGIS interact with LibreCAD.

Antonio Locandro antoniolocandro at hotmail.com
Mon Apr 22 05:50:31 PDT 2013

I say it could work if you had an interface where you can set which layers you want to intersect but interactively select snapping within a console. I remember when I used AUTOCAD the thing that I really liked about it is thata. I can draw pretty fast and accurate using only commands but had the icons if I wantedb. Snapping is one of the best I used, you can interactively set the snapping while digitising like snap to end, snap to midpoint, snap to edge, etc. Like Diego said before I will start a shared google document where I will add digitising cases I use/need, once its up you are free to add your particular cases also. The idea is to see if all of this cases can be done using QGIS (core+extensions) at some point in the future I would say the necessary plugins needed to perform this edits would need to be merged into one single plugin. So having a tool with all CAD functions would be great. 
Ing. Antonio Locandro
Tegucigalpa, Honduras
+504 9503 5747
Need a GPS map for Central America, Asia or South America / Necesitas un mapa GPS para Centro America, Asia o Sur America

 From: Stefan.Ziegler at bd.so.ch
To: antoniolocandro at hotmail.com; bernhard.stroebl at jena.de; diego.gnesi at gmail.com
CC: qgis-developer at lists.osgeo.org
Subject: AW: [Qgis-developer] Make QGIS interact with LibreCAD.
Date: Mon, 22 Apr 2013 12:40:15 +0000

I would like to see some changes in the snapping interface.
If you got some 30+ layers it is really difficult to find a specific layer.
A layer tree for snapping just like for the legend would be great. And add the tree as tab like the browser.

Von: qgis-developer-bounces at lists.osgeo.org [mailto:qgis-developer-bounces at lists.osgeo.org]
Im Auftrag von antoniolocandro

Gesendet: Montag, 22. April 2013 14:36

An: bernhard.stroebl at jena.de; diego.gnesi at gmail.com

Cc: qgis-developer at lists.osgeo.org

Betreff: Re: [Qgis-developer] Make QGIS interact with LibreCAD.


I would say add CAD tools within QGIS, 


1. Extend 

2. Trim

3. Snapping environment

4. digitise using either icons or commands on a console

5. Intersection, etc.


CAD tools are faster for digitising and more precise, having that possibility from within QGIS would make it so much better, I find digitising in QGIS very limited so for me right now its not to a point I can recommend it since in my industry
 we do a lot of complex shapes and edits.





Sent from Samsung tablet

Bernhard Ströbl <bernhard.stroebl at jena.de> wrote:

Hi Diego,

based on a discussion [1] on this list a couple of months ago I started 

coding some of the missing tools as my time allows. This is going to be 

a Python plugin made from scratch.

What I do have right now is:

1) Dissolve multi geometries (code from Alexandre Neto's plugin)

2) Split feature with feature of another layer

3) Cut out feature with polygon of another layer

I can share what I have on github. Maybe you want to have a look or join in.

What would be the tools you have in mind (I do not know LibreCAD)?




Am 22.04.2013 13:29, schrieb Diego Gnesi Bartolani:

> Hi Bernhard,


> I'll take your opinion into account. I'm still in a preliminary phase

> and I'm still deciding. I verified that adding shapefile support to

> LibreCAD is relatively simple, due to the good architecture of

> LibreCAD's IO and geometry classes. Now I'll test how hard is adding

> advanced cad tools to QGIS and how much time it can require to me.

> Then I'll compare all the pros and cons of the two solutions and I'll

> start to work. I need to finish the work before september, when I'll

> have to use it in my job).

> I'm not an expert of the QGIS API, and I need to study the source code

> and the documentation in order to know precisely how can I interact

> with QGIS while drawing:


> - changing the snapping behavior and override the default one when required;

> - having context menus with CTRL + right click (like on AutoCAD);

> - drawing temporary entities (i.e. to trace extension lines);

> - forcing the pointer to move along specific directions inside the map canvas;

> - fast accessing to vertices, lines and angles of the existing shapes,

> also for polygons.


> I also need to understand if I can do all these things from a plugin

> or do I need to make changes to the QGIS source code (I'll try to

> avoid this).

> I'll update this threads with all my progresses in the next days.


> Diego


> 2013/4/22 Bernhard Ströbl<bernhard.stroebl at jena.de>:

>> Hi Diego,


>> some of my users with more complex editing tasks (and familiar with CAD

>> software) are complaining about not having similar possibilities in QGIS and

>> I admit that our CAD has much more to offer in that respect (snapping,

>> construction), so thanks for the move.

>> IMHO the best would be to have CAD-like functions in QGIS (strategy #1)

>> because

>> 1) many people missing these functions already might use some CAD or another

>> to get their work done and are exchanging data between the two systems (with

>> all problems), so strategy #2 would simply exchange their CAD software (if

>> they are willing to change)

>> 2) and more important: many things that work in CAD do not work in GIS and

>> vice versa, e.g. CAD: line color, hatching, dimensioning...., GIS:

>> attributes. Splines could be resolved into polylines, resembling the

>> original spline, though. In short words: CAD is about drawing, GIS is about

>> data modelling. So if you have the functions in QGIS you can more easily

>> prevent users from doing silly things.


>> my 2 ct


>> Bernhard


>> Am 21.04.2013 12:52, schrieb Diego Gnesi Bartolani:


>>> Hi,


>>> Yesterday I posted in a wrong thread, so I'm opening a new one. I'll

>>> copy and paste the previous message and add some notes. Sorry for the

>>> mess!


>>> Original post:


>>> I am an Italian archaeologist and an enthusiastic QGIS user. I do what

>>> I can to spread the knowledge about QGIS and other open source

>>> softwares to my university students (I am a contract professor at the

>>> Basilicata University and some days ago I've become contract professor

>>> at the Specialization School of Archeology of Udin, Venice and

>>> Trieste). The main difficulty I have with open source GIS is the

>>> advanced editing of vector layers. QGIS doesn't offer too much support

>>> for digitizing, the CAD Tools plugin has some useful functions but is

>>> far from being complete and the kind of interaction that it proposes

>>> is not very productive and time-saving (it's not a critic: CAD Tools

>>> saved my life a lot of time, and I want to thank the developers and

>>> maintainers). Many times, I had to convert my vector layers to dxf and

>>> back in order to perform some complex tasks (with all kind of

>>> conversion problems, like the preservation of the attributes values,

>>> etc.).

>>> I have some experience in programming (about ten years of

>>> developement, mainly in C# with the .NET Framework, before I switched

>>> to Linux), and I would like to try (only try, without promising

>>> anything!!) to implement complete CAD tools and functions (If there

>>> isn't and analogous project already active; in that case, nevermind!).


>>> I think that developing a CAD plugin from scratch is very hard to me

>>> and maybe not the better way to get good results, so I'm oriented to

>>> try to augment the interaction between QGIS and an existing CAD

>>> software (I'm thinking to LibreCAD). I thought to two possible

>>> strategies:


>>> 1. Use the LibreCAD library and source code to develop a C++ QGIS plugin;

>>> 2. Create a shapefile/spatialite/postgis driver for LibreCAD in order

>>> to edit those formats inside LibreCAD.

>>> 3. Convert some layers of the QGIS project in a dxf file and back

>>> (each QGIS layer in a different layer of the final dxf file).


>>> I'm asking your opinion about which of those ways could be the faster

>>> or the better to implement, or which one is impossible to undertake

>>> according to your knowledge of the QGIS API.


>>> My doubts are:


>>> Strategy #1: Probably the ideal one, but does the implementation of

>>> complex snaps or constraints against the features of other layers

>>> (i.e. midpoint, parallels, etc.) require changes to the QGIS API, or

>>> all these operations can be contained on a plugin? Is it better to

>>> work directly on QGIS vector layers or to create a plugin layer, edit

>>> it and then commit the changes to the vector layer? The conversion

>>> could help me to manage geometries in the way LibreCAD wants. Is it

>>> possible in your opinion to have an interactive shell (i.e. draw the

>>> first point, and then inserting the coordinates of the second point)?


>>> Strategy #2: Probably the easier, but I should find a way to disable

>>> some LibreCAD functions (i.e. the drawing of splines, or the drawing

>>> of points on a line layer) without disseminating my changes all over

>>> LibreCAD's source files. For this kind of solution I'll ask to the

>>> developers of LibreCAD.


>>> Strategy #3: The problem is on committing the changes of the dxf file

>>> to the original layer: how to specify that a line in the dxf file must

>>> replace the geometry of and existing record of the original spatialite

>>> layer? Maybe it's impossible, it doesn't seem to me that I can put on

>>> a dxf file the necessary metadata to preserve a link to the original

>>> features.


>>> What do you think? And what do you actually do when you have to draw

>>> complex shapes on shapefiles or other vector layers?




>>> - Antonio Locandro is compiling a list of required CAD features. It

>>> would be very useful, so please Antonio, get me a link to this list

>>> when it's finished.

>>> - The more I explore QGIS and LibreCAD source codes, the more I'm

>>> convincing that integrating LibreCAD's tools on QGIS is very

>>> difficult, and it would be easier to develop those tools from scratch.

>>> To get the best results in a short amount of time, I think that I

>>> could work to make shapefiles and other vector layers editable in

>>> LibreCAD (using GDAL). This solution has the issue that it doesn't

>>> allow to snap to other QGIS layers, nevertheless it could be of great

>>> help and available in a reasonable amount of time. Then, when I have

>>> more practice with QGIS and LibreCAD APIs, I'll try to do something

>>> better (i.e. develop a "QGIS driver" for LibreCAD in order to open the

>>> whole QGIS project in LibreCAD, organized by layers).

>>> I'm waiting for the answers to an analogous thread in LibreCAD's mailing

>>> list:





>>> I think that I'm going to work on this project in a few weeks.


>>> Let me know what do you think and if you have suggestions.


>>> Diego Gnesi

>>> _______________________________________________

>>> Qgis-developer mailing list

>>> Qgis-developer at lists.osgeo.org

>>> http://lists.osgeo.org/mailman/listinfo/qgis-developer



>>> __________ Information from ESET Mail Security, version of virus signature

>>> database 8250 (20130421) __________


>>> The message was checked by ESET Mail Security.

>>> http://www.eset.com





>> __________ Information from ESET Mail Security, version of virus signature

>> database 8252 (20130422) __________


>> The message was checked by ESET Mail Security.

>> http://www.eset.com



>> _______________________________________________

>> Qgis-developer mailing list

>> Qgis-developer at lists.osgeo.org

>> http://lists.osgeo.org/mailman/listinfo/qgis-developer



> __________ Information from ESET Mail Security, version of virus signature database 8252 (20130422) __________


> The message was checked by ESET Mail Security.

> http://www.eset.com



__________ Information from ESET Mail Security, version of virus signature database 8253 (20130422) __________

The message was checked by ESET Mail Security.



Qgis-developer mailing list

Qgis-developer at lists.osgeo.org


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20130422/6484a831/attachment-0001.html>

More information about the Qgis-developer mailing list