[Gambas-user] GauchoCAD + LibreDWG

Martin mbelmonte at belmotek.net
Sun Nov 1 19:03:14 CET 2020


Well I made an little sample for research with the library because 
GauchoCAD is more complex and difficult to follow the code.

I made an intent of structure translation but I fail again.

Please check the readme.md file in the project there are some info relevant.

Regards.

On 1/11/20 4:19, Jussi Lahtinen wrote:
> Just a quick reply, I'll look it further when I have more time.
> It seems you are passing null pointer as an argument. Dwg_Data refers 
> to a structure.
> See:
> https://git.savannah.gnu.org/cgit/libredwg.git/tree/include/dwg.h#n8846
> http://gambaswiki.org/wiki/lang/structdecl
>
> Maybe you can just allocate the memory for it, instead of implementing 
> it on Gambas.
> Also, please always send a project to demonstrate the problem, instead 
> of snipped.
>
> Jussi
>
>
>
> On Sun, Nov 1, 2020 at 4:19 AM Martin <mbelmonte at belmotek.net 
> <mailto:mbelmonte at belmotek.net>> wrote:
>
>     Hi.
>
>     First of all excuse 'nil' knowledge of C since I have just started
>     trying to use the library with Extern, export or whatever is the
>     correct name of the method.
>     I made a module to try to do something with the C library in
>     Gambas, but as expected it doesn't work :-(
>
>     Note: I am trying to read the number of layers in a dwg plane, I
>     go step by step but the goal is to do many more things
>     See please *dwg.h*
>     https://git.savannah.gnu.org/cgit/libredwg.git/tree/include/dwg.h
>
>     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     Library "/usr/local/lib/libredwg:0.0.11"
>
>     'EXPORT int dwg_read_file (const char *restrict filename, Dwg_Data
>     *restrict dwg);
>     Private Extern dwg_read_file(filename As String, Dwg_Data As
>     Pointer) As Integer
>
>     'EXPORT int dxf_read_file (const char *restrict filename, Dwg_Data
>     *restrict dwg);
>     Private Extern dxf_read_file(filename As String, Dwg_Data As
>     Pointer) As Integer
>
>     'EXPORT unsigned int dwg_get_layer_count (const Dwg_Data *restrict
>     dwg);
>     Private Extern dwg_get_layer_count(Dwg_Data As Pointer) As Integer
>
>     Public Function info(f As String) As Pointer
>
>       Dim info As Pointer
>       Dim i As Integer
>       Dim q As Integer
>
>       i = dwg_read_file(f, info)
>
>       q = dwg_get_layer_count(info)
>
>       Return q
>
>     End
>     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
>     On 21/10/20 4:00, Jussi Lahtinen wrote:
>>     What kind of help do you need?
>>     Let's say example, this line:
>>     Shell "/usr/local/bin/dwglayers -f '" & sFile & "' 2>&1 " To sOut
>>
>>     The problem is to find equivalent function call(s) (in C) from
>>     the API documentation. I personally don't have the time.
>>     However, many here (including me) can help to translate the C
>>     function calls to Gambas extern function calls, if that is needed.
>>
>>     Jussi
>>
>>     On Wed, Oct 21, 2020 at 3:22 AM Martin <mbelmonte at belmotek.net
>>     <mailto:mbelmonte at belmotek.net>> wrote:
>>
>>         Hi,
>>         I am pleased to announce that GauchoCAD[1], which as you know
>>         is a CAD
>>         made with Gambas, is in good health, at the moment the
>>         program is
>>         capable of opening autocad DWG plans (thanks to LibreDWG[2])
>>         that close
>>         LibreCAD[3].
>>         We are using the library with the Shell instruction, which is
>>         not the
>>         best in terms of performance.
>>         We need some help in order to do something with Extern or
>>         directly a
>>         gb.component that uses this library. Of course, if someone
>>         does this it
>>         will be useful for many other projects not just GauchoCAD.
>>
>>         We need read/write dwg and dxf files more efficiently
>>
>>         Here we are an script to install LibreDWG in the system
>>
>>              #!/bin/bash
>>              git clone git://git.sv.gnu.org/libredwg.git
>>         <http://git.sv.gnu.org/libredwg.git>
>>              cd libredwg
>>              sh autogen.sh
>>              ./configure --enable-trace
>>              make
>>              sudo make install
>>              make check
>>              cd ..
>>
>>         [1] https://github.com/tercoide/GauchoCAD
>>
>>         [2] https://www.gnu.org/software/libredwg/
>>
>>         [3] https://librecad.org/
>>
>>         Thanks.
>>         Martin Belmonte
>>
>>
>>         ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>>
>>
>>     ----[http://gambaswiki.org/wiki/doc/netiquette  ]----
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20201101/3a610498/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample-libredwg-0.0.1.tar.gz
Type: application/gzip
Size: 13620 bytes
Desc: not available
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20201101/3a610498/attachment-0001.gz>


More information about the User mailing list