[cad-linux] Re: Autocad

  • From: David Meyer <djmeyer@xxxxxxxxxx>
  • To: cad-linux@xxxxxxxxxxxxx
  • Date: Fri, 25 Jul 2003 15:35:04 +1000

Andy,

When I sent that email I was fairly confused about the DXF format and my 
searches didn't find enough to explain it to me. Lee Harding produced a 
link to his company site that didn't help much to start with either 
(probably my fault) but then I found the Visual Basic program example and 
it said that all the data was in pairs! That was the key bit of data I 
needed! It ought to have been written in big bold letters at the start of 
the various documents I found describing the file format but maybe the 
writers assume I knew that. It might have been there somewhere but it 
didn't jump out and grab me before then!

Now it should be very simple for me to write a routine to find the text. 
Given the number of files involved it probably would be nice to write 
something that was efficient though even that isn't essential. I figure I 
will do a search for 5 character strings and then test for numbers. The 
numbers will be between 10001 and 14000 so I should not end up with many 
false hits even if I don't check for location of the text on the drawing. 
The location might be a problem anyway as the drawings have different 
areas. I produced most of these drawings and I cannot see why there be any 
number in this range used for anything but our part numbers and I can live 
with less than perfect data, anything is better than what I have now.

Thanks for all of your help. I may make a start on this on the weekend. I 
will let you know how I go.

David


At 09:06 25/07/2003, you wrote:
>David,
>
>Sorry about the e-mail block.  Use buyer242299@xxxxxxx if you want to write
>to me direct.
>
>As I am sure you have discovered in your research, the dxf file can be though
>of as
>a key list (in lisp it is called an association list).  For instance in text
>entities code 10 is associated with a real number that represents an x
>coordinate, 20 is a Y coordinate and 30 is a Z coordinate.  Code 8 
>typically refers
>to the layer the entity is on, and as you may have guessed code 1 refers 
>to the
>actual text.  DXF codes can have different meanings depending on what entity
>they are associated with, but as you play with them you will notice a certain
>consistency between various entities.  The coordinates are relative to the
>point 0,0,0 which can be located anywhere in your drawing.
>
>The puzzle that you need to solve about finding the text in the DXF file is
>the same one that would need to be solved if someone (maybe me) were to write
>you a program to extract this data.  I was really hoping that the text you 
>were
>looking for was a block attribute or at least had some distinctive sequence
>of characters that could be searched for.  The insertion points (code 
>10,20,30)
>in the two examples you sent were wildly different, so I doubt finding all
>text between certain coordinate bounds will work.  Your best bet may be to
>search for all code 1 entities that have 5 and only 5 characters.  This 
>should
>return everything you need and at worst it will return some spurious 
>values that
>will just need to be deleted.
>
>Andy


Other related posts: