Add to Watchlist

GNU LibreDWG - a free software library to handle DWG files from AutoCAD

131 views

Citation of segment
Embed Code
Purchasing a DVD Cite video

Formal Metadata

Title GNU LibreDWG - a free software library to handle DWG files from AutoCAD
Title of Series Libre Graphics Meeting (LGM) 2010
Part Number 25
Number of Parts 46
Author Corrêa da Silva Sanches, Felipe
License CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
DOI 10.5446/21513
Publisher River Valley TV
Release Date 2012
Language English

Content Metadata

Subject Area Computer Science
Abstract LibreDWG is a library to handle files in the DWG format used by AutoCAD. I will present a general overview of the history of the project, explaining how a group of students at the University of São Paulo developed a new and relevant free software library (listed in the FSF High Priority Projects List) and how it became approved as an official GNU package.
Keywords Libre Graphics Meeting (LGM)
Series
Annotations
Transcript
Loading...
my name is really so I've been working with Inkscape
seems 2007 but and today I'm gonna talk about another project that was started last year and which is given liberated ability it's a library that is part of the project to handled DWG files from all Canada which is not proprietary secret file format so it involves a lot of reverse-engineering of file format and so the background of this project is that in University of some was used to
study engineering we I used to that fall called a lot about resulted to the students into 2 teachers and and so on and we decided to form a user group uh which is called body you know body is a reference to the name of our school which is but effective schools and so by the and then all the 1st projects that we have was to install free software on 1 of the last the laboratories uh where we were having our weekly meetings so they induce same laboratory there were all the projects happening and most of them were related to sit there as if you engineering and architecture so we knew that once we once new projects needed CAD computer-aided design software that they would probably want to come back reinstalling those and so on because of all so we wanted to provide solution even before requested that because we knew it would happen sooner or later so the 1st product we did was trying to figure out what is the current state of the free software CAD tools so we listed everything was found in in a table with of this is not the complete
table but it was it looked like that with features we wanted sorry that's important is but I can translate something but these these are the several features that we thought that people would want in a CAD software and these are some of the cuts off as we found that there are more these are just some of them and 1 thing that we we noticed is that absolute all of the it's free software we found did not have support for digital DWG file format so we decided to do something about it by looking on the internet for
references to the file format we figure out Open Design Alliance which is which is a consortia miles but the competitors of all they ask that they they wanted to have interoperability with a content created by I took out a users the soul uh gave DWG file format as a secret was a barrier to their participation in the market so the decided to get together and reverse-engineered the file format so did it was not presented developers that engineered that it was the other proprietary CAD tools and their developers that decided to to reverse engineer the from the file format and they really is a document and then few specification of the file format that is not perfect there some some portions of the specification where they simply say people here goes value and we don't know what this means and the I just know it's an 8 bit value or a 16 bit value or even strange things like uh feuds that have a variable number of bits because it's the DTW format is oriented but it had to be level so it's a bit stream you go passing it's not necessarily aligned had bound that by might boundaries so and there are some few there unknown and but this is a 188 pages document the and then we we found a free software library called lead the WTO but which was working based on these specification to to implement i didn't support instant resulted because these guys can have really is a proprietary library for them to use and from actually for anybody to use but it's proprietary sold and at the time it was free uh I mean gratis not not uh you do have to pay and nowadays it's it's not not free as in freedom but also not free as in free beer and then this I took that the
condition and started implementing it but there was 2 problems it was 1 guy alone working on the project and the other problem is as you can see in this page they have different visions in English Portuguese and experimental but this is this guy he decided to implement the library in C language but with comments and data
structures and variables and everything else in his parents so it was a little bit harder to understand his gold so we we thought that woul that's very nice of him to to be sold in a lot of with this romantic idea of uh a universal and not political as uh and language but we need to have more developers so with the right to not the impolite but we did for work so we we we
have fought and we need to that as suggested translate to English but then he was covering 20 per cent of the of specification at 20 per cent of what was written in this presentation was implemented and just just for reading and decoding routines nothing coding routines so sold after we almost finished translation because nowadays we still have some is present in some parts of the cold but what almost everything is translated to English but then we we we we decided to continue to work and then nowadays we have almost a 100 % of both encoding and decoding routines implemented but not tested so that 1 thing that we need to do is to have a test suite with edited you files and so on about about about that later 1 another thing that we
figure out but not not at 1st it took some time for a student goal was that the fruits of the Foundation had in at the no the high-priority projects list it's a it's a list of projects that the force of the foundation and considers that prepare a priority for the free software movement uh stuff like PDF and in a flash player player and so on so they have a list of I think 15 projects a and 1 of these projects was implemented for softer alternatives for the open WG libraries which are proprietary so that is this was 1 of the hybrid approach we we decided to submit of of form in order to become a part of the project so it was accepted and
now we are we're officially at no baggage our website is going to the Lorentz last offers Leslie religion come and this 0 we
are participating in the summer of gold through the new product so so we have 1 student that is also president but didn't mention from Brazil Bulgaria from Brazil and both developers are from Brazil and the student is also from Brazil from the same school a yeah it's by as a and he's gonna work on the didn't you write support we have that the routines implemented but we we do not have testing and I think that the coding is easy because if you miss something you just reading up top portion of the data but encoding must be perfectly known to other softer but understand it as not as a group that file so encoding is really hard and I think that's a generic statement about that and they performance I think it's very common to to be harder to implement in coding regions the and he's gonna he's going to be working on that but there's also some other guys from world around the world that are participating in the project and 1 1 thing that 1 of them is doing his best this
is some some examples of the files that we we have opened and converted into SVG at did other jails treaties the phenolic lots of such that as which it does not support but as I had a background in the Indian state development so I was familiar with as we so in order to test the 2 the primitives so I decided to implement a converted to to this subset of of what to the beach is capable of representing there somebody here as you can see the strings are not showing up properly but this is Inkscape loading SVG that was generated based on the file that I have up pdf and of these files that that we have used as a reference to to see how it should look like OK I can show it here on OK so this this is that the complete document uh renderers in in a PDF so uh small we feel of of of the house is 1 of these and there's also a fuel from from the thought that we have yet several views
and from the top we have some bucks here but
these boats are indeed the SPG converted not necessarily non necessarily on the library because the levers of energy is focused only on a passing the file format not really dealing with the semantics of the contents of these would be the 2nd step 4 maybe a 2nd library on our our uh the obligation can deal with it a because it's good to separate things that it's really hard to pass this file format so we're just loading deliberative file and initializing the values of the seed see structures so that all the other libraries are applications can use it so this In this case the SPG converter is defining that the default color of of the strokes it's pulled by default is not what is reading from the file it's it's simplified but there's lots of things that are not showing up here but I'll probably they are already loaded into the sea the surface it's just that my example as feature converted lose not handle what the library has loaded because we we have almost everything implemented already so a except for probably the information is there is just a matter of the application not using it still that students using so our ways to
help the there are some other objects such as the treaty solid entity that have it and then that and embedded in the file format called but SET or a which is saved aspects are saved as binary mode and a ACC is the name of worker off on computer-aided design kernel uh and this is a file formats that they used to using this kernel and this approach uses it to to start at 3 D modeling and data and this is another proprietary non-document of formatting side and that a proprietary and of undocumented formant uh so it requires some secondary library also two-handed handle it deed did version versions change from time to time so there are some feuds that are only in the newer versions so that the 2007 version has the that encoded using Reed-Solomon algorithm uh but we do not know which are the initialize the parameters for the algorithm so it works as encryption it's not name I think it's not intended to be encryption but as we don't know the initial parameters we have to guess all of them in few of which 1 is to cry from so this is something we we still don't do not handle properly and so did that it didn't you file more the more most recent formalities 2010 we have no implementation of this version we already handle files from Argentina 14 15 which is 2 thousand and 2 thousand 4 2007 we can handle except for the the headers and we are thinking about implementing Python biting bindings for the library because there are lots of them free softer CAD tools implemented in Python and we are working on test each 1 of the ideas we have is that write at lease or maybe screeched to running AutoCAD to generate an XML file that friend represents the data structures of LDA to the default in houses and then do the same and in in our the act an application that uses or a library to generate an equivalent XML and composite compared but I will if we're thinking of using XML as an intermediate now comparison means to see what's what's not properly loaded by the library nowadays we also need to the samples of the deputy files that we can freely distributed as a test suite that these 5 I'm showing here is 1 of our contributors it's it's here its content from his uh work paid work so probably he he cannot share it with word that he she has sent did it by mail to me so that I can pass it but I cannot put it in a repository and share with the word so order to automate we we would need people to provide us ability and samples and ideally complex files in we need to test a lot and we need to figure out how 2005 from what works and this is our conduct our website in the project e-mail list and you is made as many things you got and attendees is the other Montana thank you and Questions thank you very much and we did 2 questions the 1st question you has worked really really really amazing that do you consider it but that may be the euro Jawara colors that they're they're writin matters of implementation it may be the illegal encounter is weighted with so patterns and the but I do not know any patterns on the file and that not once to moles uh but but the fact others um on another show with the encoding routines is that and some people told us that we should not support encoding but I think we should but I do
not like the liberty formant it's a hell to parse and it's it's totally obfuscated file format that the whole purpose of liberty that gene is a project to not be needed anymore so we want to provide it just as a means for people to bring their stuff into prosodic and converted just something safe and and never never use anymore so it's it's good to have the encoding routines because of we know where I am I legalistic person but I am aware that the water is not changing immediately to something else so we we need to have a way to people to have actually use result for and I think it's not fair to to have for example in you know you could have called case where we have free software implementation that is even better than the proprietary ones and we just don't cannot cannot move to it because there's lots of based on file formats so I think it's important just like an Microsoft formats are supported in OpenOffice and I think it's a really important thing to have both encoding and decoding support for their proprietary file format is the same here and Q and 2nd question and there the content from from on about so the eunuchs f 5 moderate brother of tw the how about this summer at this format is already supported by lots of free software projects and it was 1 of the items in our table as you can see argument is can read key cat can both read and write and so that their use in order support for it it's less complicated to understand because it's a text-based format and it's not
exactly equivalent but it's a subset of the things that the the PG can do I cannot say which specific features 1 lacks because it's just something that my friend told me so I believe that he said to me I'm not sure he said to me that these topics are equivalent but the fact is that people have readability files and people want to load and and people don't want to be bother about you know that it must be sold as easy as people want with wooden bat uh I give up using free software because of these so I think it should we should have both that supported thank you very much thank you thank you you need
Computer animation
Computer file
File format
Software
Universe (mathematics)
Projective plane
Mereology
Library (computing)
Reverse engineering
Library (computing)
Product (category theory)
Observational study
Computer-aided design
State of matter
File format
Projective plane
Student's t-test
Local Group
Table (information)
Computer animation
Software
Lattice (order)
Software
Convex hull
E-learning
Freeware
Film editing
Digitizing
Computer architecture
Web page
Vapor barrier
Multiplication sign
Simultaneous localization and mapping
MIDI
Dreizehn
Streaming media
Infinity
Open set
Number
Formal language
Latent heat
Boundary value problem
Energy level
Subtraction
Uniform space
Dean number
Condition number
Demon
File format
Computer-aided design
Software developer
Machine vision
Projective plane
Bit
Variable (mathematics)
Open set
Computer animation
Freeware
Library (computing)
Reverse engineering
Suite (music)
Inheritance (object-oriented programming)
Presentation of a group
Computer file
Software developer
Open source
MIDI
Coroutine
Translation (relic)
Bit
Variable (mathematics)
Mereology
Open set
Formal language
Latent heat
Computer animation
Lattice (order)
Computer worm
Right angle
Software testing
Data structure
Reading (process)
Operations research
Forcing (mathematics)
Multiplication sign
Projective plane
Flash memory
Open source
Electronic mailing list
Student's t-test
Mereology
Open set
Plane (geometry)
Exterior algebra
Computer animation
Software
Order (biology)
Website
Physical law
Freeware
Units of measurement
Physical system
Form (programming)
Library (computing)
Dialect
Product (category theory)
Computer file
State of matter
Software developer
View (database)
Projective plane
Coroutine
Primitive (album)
Student's t-test
Code
Local Group
Computer animation
String (computer science)
Order (biology)
Statement (computer science)
Software testing
Probability density function
Default (computer science)
Computer file
Information
File format
Surface
Content (media)
Schweizerische Physikalische Gesellschaft
Student's t-test
Cartesian coordinate system
Semantics (computer science)
Food energy
Computer animation
Graph coloring
Personal digital assistant
Data structure
Data conversion
Library (computing)
Suite (music)
Keyboard shortcut
Scientific modelling
Multiplication sign
Source code
File format
Coroutine
1 (number)
Water vapor
Solid geometry
Parameter (computer programming)
Software maintenance
Internet forum
Encryption
Email
Algorithm
Satellite
File format
Keyboard shortcut
Sampling (statistics)
Electronic mailing list
Solid geometry
Arithmetic mean
Sample (statistics)
Graph coloring
Repository (publishing)
Order (biology)
Website
Software testing
Pattern language
Freeware
Thermal conductivity
Asynchronous Transfer Mode
Implementation
Freeware
Computer file
Process modeling
Revision control
Solomon (pianist)
Software testing
Data structure
Computer-assisted translation
Reverse engineering
Pairwise comparison
Default (computer science)
Suite (music)
Computer-aided design
Projective plane
Content (media)
Set (mathematics)
Cartesian coordinate system
Table (information)
Word
Kernel (computing)
Computer animation
Software
Personal digital assistant
Formal grammar
Family
Library (computing)
Latent heat
MUD
Computer animation
Computer file
Graph (mathematics)
Software testing
Disk read-and-write head
Subset
Loading...
Feedback

Timings

  529 ms - page object

Version

AV-Portal 3.8.2 (0bb840d79881f4e1b2f2d6f66c37060441d4bb2e)